Query structured spec data via REST or MCP. Get exactly what your agent needs.
https://api.twitter.com
/2/users/{id}/bookmarks
Returns Tweet objects that have been bookmarked by the requesting User
| 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 |
GET /2/users/{id}/bookmarks
/2/compliance/jobs
Returns recent Compliance Jobs for a given job type and optional job status
| 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 |
GET /2/compliance/jobs
/2/compliance/jobs/{id}
Returns a single Compliance Job by ID
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | The ID of the Compliance Job to retrieve. | |
| optional |
GET /2/compliance/jobs/{id}
/2/tweets/compliance/stream
Streams 100% of compliance data for Tweets
| 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. |
GET /2/tweets/compliance/stream
/2/tweets/label/stream
Streams 100% of labeling events applied to Tweets
| 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. |
GET /2/tweets/label/stream
/2/users/compliance/stream
Streams 100% of compliance data for Users
| 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. |
GET /2/users/compliance/stream
/2/dm_conversations/with/{participant_id}/dm_events
Returns DM Events for a DM Conversation
| 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 |
GET /2/dm_conversations/with/{participant_id}/dm_events
/2/dm_conversations/{id}/dm_events
Returns DM Events for a DM Conversation
| 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 |
GET /2/dm_conversations/{id}/dm_events
/2/dm_events
Returns recent DM Events across DM conversations
| 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 |
GET /2/dm_events
/2/openapi.json
Full OpenAPI Specification in JSON format. (See https://github.com/OAI/OpenAPI-Specification/blob/master/README.md)
GET /2/openapi.json
/2/lists/{id}
Returns a List.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | The ID of the List. | |
| optional | ||||
| optional | ||||
| optional |
GET /2/lists/{id}
/2/users/{id}/followed_lists
Returns a User's followed Lists.
| 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 |
GET /2/users/{id}/followed_lists
/2/users/{id}/list_memberships
Get a User's List Memberships.
| 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 |
GET /2/users/{id}/list_memberships
/2/users/{id}/owned_lists
Get a User's Owned Lists.
| 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 |
GET /2/users/{id}/owned_lists
/2/users/{id}/pinned_lists
Get a User's Pinned Lists.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | The ID of the authenticated source User for whom to return results. | |
| optional | ||||
| optional | ||||
| optional |
GET /2/users/{id}/pinned_lists
/2/spaces
Returns a variety of information about the Spaces specified by the requested IDs
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ids | query | required | array | The list of Space IDs to return. |
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /2/spaces
/2/spaces/by/creator_ids
Returns a variety of information about the Spaces created by the provided User IDs
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| user_ids | query | required | array | The IDs of Users to search through. |
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /2/spaces/by/creator_ids
/2/spaces/search
Returns Spaces that match the provided query.
| 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 |
GET /2/spaces/search
/2/spaces/{id}
Returns a variety of information about the Space specified by the requested ID
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The ID of the Space to be retrieved. |
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /2/spaces/{id}
/2/spaces/{id}/buyers
Retrieves the list of Users who purchased a ticket to the given space
| 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 |
GET /2/spaces/{id}/buyers
/2/spaces/{id}/tweets
Retrieves Tweets shared in the specified Space.
| 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 |
GET /2/spaces/{id}/tweets
/2/lists/{id}/tweets
Returns a list of Tweets associated with the provided List ID.
| 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 |
GET /2/lists/{id}/tweets
/2/tweets
Returns a variety of information about the Tweet specified by the requested ID.
| 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 |
GET /2/tweets
/2/tweets/counts/all
Returns Tweet Counts that match a search query.
| 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 |
GET /2/tweets/counts/all
/2/tweets/counts/recent
Returns Tweet Counts from the last 7 days that match a search query.
| 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 |
GET /2/tweets/counts/recent
/2/tweets/firehose/stream
Streams 100% of public Tweets.
| 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 |
GET /2/tweets/firehose/stream
/2/tweets/sample/stream
Streams a deterministic 1% of public Tweets.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| backfill_minutes | query | optional | integer | The number of minutes of backfill requested. |
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /2/tweets/sample/stream
/2/tweets/sample10/stream
Streams a deterministic 10% of public Tweets.
| 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 |
GET /2/tweets/sample10/stream
/2/tweets/search/all
Returns Tweets that match a search query.
| 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 |
GET /2/tweets/search/all
/2/tweets/search/recent
Returns Tweets from the last 7 days that match a search query.
| 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 |
GET /2/tweets/search/recent
/2/tweets/search/stream
Streams Tweets matching the stream's active rule set.
| 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 |
GET /2/tweets/search/stream
/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.
| 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. |
GET /2/tweets/search/stream/rules
/2/tweets/{id}
Returns a variety of information about the Tweet specified by the requested ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | A single Tweet ID. | |
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /2/tweets/{id}
/2/tweets/{id}/quote_tweets
Returns a variety of information about each Tweet that quotes the Tweet specified by the requested ID.
| 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 |
GET /2/tweets/{id}/quote_tweets
/2/users/{id}/liked_tweets
Returns a list of Tweets liked by the provided User ID
| 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 |
GET /2/users/{id}/liked_tweets
/2/users/{id}/mentions
Returns Tweet objects that mention username associated to the provided User ID
| 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 |
GET /2/users/{id}/mentions
/2/users/{id}/timelines/reverse_chronological
Returns Tweet objects that appears in the provided User ID's home timeline
| 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 |
GET /2/users/{id}/timelines/reverse_chronological
/2/users/{id}/tweets
Returns a list of Tweets authored by the provided User ID
| 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 |
GET /2/users/{id}/tweets
/2/lists/{id}/followers
Returns a list of Users that follow a List by the provided List ID
| 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 |
GET /2/lists/{id}/followers
/2/lists/{id}/members
Returns a list of Users that are members of a List by the provided List ID.
| 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 |
GET /2/lists/{id}/members
/2/tweets/{id}/liking_users
Returns a list of Users that have liked the provided Tweet ID
| 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 |
GET /2/tweets/{id}/liking_users
/2/tweets/{id}/retweeted_by
Returns a list of Users that have retweeted the provided Tweet ID
| 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 |
GET /2/tweets/{id}/retweeted_by
/2/users
This endpoint returns information about Users. Specify Users by their ID.
| 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 |
GET /2/users
/2/users/by
This endpoint returns information about Users. Specify Users by their username.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| usernames | query | required | array | A list of usernames, comma-separated. |
| optional | ||||
| optional | ||||
| optional |
GET /2/users/by
/2/users/by/username/{username}
This endpoint returns information about a User. Specify User by username.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| username | path | required | string | A username. |
| optional | ||||
| optional | ||||
| optional |
GET /2/users/by/username/{username}
/2/users/me
This endpoint returns information about the requesting User.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /2/users/me
/2/users/{id}
This endpoint returns information about a User. Specify User by ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | The ID of the User to lookup. | |
| optional | ||||
| optional | ||||
| optional |
GET /2/users/{id}
/2/users/{id}/blocking
Returns a list of Users that are blocked by the provided User ID
| 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 |
GET /2/users/{id}/blocking
/2/users/{id}/followers
Returns a list of Users who are followers of the specified User ID.
| 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 |
GET /2/users/{id}/followers
/2/users/{id}/following
Returns a list of Users that are being followed by the provided User ID
| 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 |
GET /2/users/{id}/following
/2/users/{id}/muting
Returns a list of Users that are muted by the provided User ID
| 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 |
GET /2/users/{id}/muting
AddOrDeleteRulesRequest
{
"oneOf": [
{
"$ref": "#/components/schemas/AddRulesRequest"
},
{
"$ref": "#/components/schemas/DeleteRulesRequest"
}
]
}
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."
}
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."
}
Aggregate
{
"type": "integer",
"format": "int32",
"description": "The sum of results returned in this response."
}
AnimatedGif
{
"allOf": [
{
"$ref": "#/components/schemas/Media"
},
{
"type": "object",
"properties": {
"variants": {
"$ref": "#/components/schemas/Variants"
},
"preview_image_url": {
"type": "string",
"format": "uri"
}
}
}
]
}
BlockUserMutationResponse
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"blocking": {
"type": "boolean"
}
}
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
}
}
}
BlockUserRequest
{
"type": "object",
"required": [
"target_user_id"
],
"properties": {
"target_user_id": {
"$ref": "#/components/schemas/UserId"
}
}
}
BookmarkAddRequest
{
"type": "object",
"required": [
"tweet_id"
],
"properties": {
"tweet_id": {
"$ref": "#/components/schemas/TweetId"
}
}
}
BookmarkMutationResponse
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"bookmarked": {
"type": "boolean"
}
}
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
}
}
}
CashtagEntity
{
"allOf": [
{
"$ref": "#/components/schemas/EntityIndicesInclusiveExclusive"
},
{
"$ref": "#/components/schemas/CashtagFields"
}
]
}
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."
}
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."
}
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"
}
}
}
ComplianceJobName
{
"type": "string",
"example": "my-job",
"maxLength": 64,
"description": "User-provided name for a compliance job."
}
ComplianceJobStatus
{
"enum": [
"created",
"in_progress",
"failed",
"complete",
"expired"
],
"type": "string",
"description": "Status of a compliance job."
}
ComplianceJobType
{
"enum": [
"tweets",
"users"
],
"type": "string",
"description": "Type of compliance job to list."
}
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."
}
ContextAnnotation
{
"type": "object",
"required": [
"domain",
"entity"
],
"properties": {
"domain": {
"$ref": "#/components/schemas/ContextAnnotationDomainFields"
},
"entity": {
"$ref": "#/components/schemas/ContextAnnotationEntityFields"
}
},
"description": "Annotation inferred from the Tweet text."
}
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."
}
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."
}
CountryCode
{
"type": "string",
"example": "US",
"pattern": "^[A-Z]{2}$",
"description": "A two-letter ISO 3166-1 alpha-2 country code."
}
CreateAttachmentsMessageRequest
{
"type": "object",
"required": [
"attachments"
],
"properties": {
"text": {
"type": "string",
"minLength": 1,
"description": "Text of the message."
},
"attachments": {
"$ref": "#/components/schemas/DmAttachments"
}
}
}
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."
}
CreateComplianceJobResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ComplianceJob"
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
}
}
}
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."
}
}
}
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
}
}
}
CreateMessageRequest
{
"anyOf": [
{
"$ref": "#/components/schemas/CreateTextMessageRequest"
},
{
"$ref": "#/components/schemas/CreateAttachmentsMessageRequest"
}
]
}
CreateTextMessageRequest
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"minLength": 1,
"description": "Text of the message."
},
"attachments": {
"$ref": "#/components/schemas/DmAttachments"
}
}
}
CreatedAt
{
"type": "string",
"format": "date-time",
"example": "2021-01-06T18:40:40.000Z",
"description": "Creation time of the compliance job."
}
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."
}
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."
}
DmAttachments
{
"type": "array",
"items": {
"$ref": "#/components/schemas/DmMediaAttachment"
},
"description": "Attachments to a DM Event."
}
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."
}
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"
}
}
}
DmEventId
{
"type": "string",
"example": "1146654567674912769",
"pattern": "^[0-9]{1,19}$",
"description": "Unique identifier of a DM Event."
}
DmMediaAttachment
{
"type": "object",
"required": [
"media_id"
],
"properties": {
"media_id": {
"$ref": "#/components/schemas/MediaId"
}
}
}
DmParticipants
{
"type": "array",
"items": {
"$ref": "#/components/schemas/UserId"
},
"maxItems": 49,
"minItems": 2,
"description": "Participants for the DM Conversation."
}
DownloadExpiration
{
"type": "string",
"format": "date-time",
"example": "2021-01-06T18:40:40.000Z",
"description": "Expiration time of the download URL."
}
DownloadUrl
{
"type": "string",
"format": "uri",
"description": "URL from which the user will retrieve their compliance results."
}
DuplicateRuleProblem
{
"allOf": [
{
"$ref": "#/components/schemas/Problem"
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
],
"description": "The rule you have submitted is a duplicate."
}
End
{
"type": "string",
"format": "date-time",
"description": "The end time of the bucket."
}
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."
}
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."
}
Error
{
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
}
}
}
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
}
}
}
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."
}
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."
}
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
}
}
}
GeneralGetOpenApiSpecResponse
{
"type": "object",
"example": {},
"properties": {}
}
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"
}
}
}
Get2ComplianceJobsIdResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ComplianceJob"
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
}
}
}
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
}
}
}
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"
}
}
}
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"
}
}
}
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"
}
}
}
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"
}
}
}
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"
}
}
}
Get2ListsIdResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/List"
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
},
"includes": {
"$ref": "#/components/schemas/Expansions"
}
}
}
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"
}
}
}
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"
}
}
}
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"
}
}
}
Get2SpacesIdResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/Space"
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
},
"includes": {
"$ref": "#/components/schemas/Expansions"
}
}
}
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"
}
}
}
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"
}
}
}
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"
}
}
}
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
}
}
}
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
}
}
}
Get2TweetsFirehoseStreamResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/Tweet"
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
},
"includes": {
"$ref": "#/components/schemas/Expansions"
}
}
}
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"
}
}
}
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"
}
}
}
Get2TweetsIdResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/Tweet"
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
},
"includes": {
"$ref": "#/components/schemas/Expansions"
}
}
}
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"
}
}
}
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"
}
}
}
Get2TweetsSample10StreamResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/Tweet"
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
},
"includes": {
"$ref": "#/components/schemas/Expansions"
}
}
}
Get2TweetsSampleStreamResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/Tweet"
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
},
"includes": {
"$ref": "#/components/schemas/Expansions"
}
}
}
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"
}
}
}
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"
}
}
}
Get2TweetsSearchStreamResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/Tweet"
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
},
"includes": {
"$ref": "#/components/schemas/Expansions"
}
}
}
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"
}
}
}
Get2UsersByUsernameUsernameResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/User"
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
},
"includes": {
"$ref": "#/components/schemas/Expansions"
}
}
}
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"
}
}
}
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"
}
}
}
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"
}
}
}
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"
}
}
}
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"
}
}
}
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"
}
}
}
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"
}
}
}
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"
}
}
}
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"
}
}
}
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"
}
}
}
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"
}
}
}
Get2UsersIdResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/User"
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
},
"includes": {
"$ref": "#/components/schemas/Expansions"
}
}
}
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"
}
}
}
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"
}
}
}
Get2UsersMeResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/User"
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
},
"includes": {
"$ref": "#/components/schemas/Expansions"
}
}
}
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"
}
}
}
HashtagEntity
{
"allOf": [
{
"$ref": "#/components/schemas/EntityIndicesInclusiveExclusive"
},
{
"$ref": "#/components/schemas/HashtagFields"
}
]
}
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."
}
HttpStatusCode
{
"type": "integer",
"maximum": 599,
"minimum": 100,
"description": "HTTP Status Code."
}
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."
}
JobId
{
"type": "string",
"example": "1372966999991541762",
"pattern": "^[0-9]{1,19}$",
"description": "Compliance Job ID."
}
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."
}
ListAddUserRequest
{
"type": "object",
"required": [
"user_id"
],
"properties": {
"user_id": {
"$ref": "#/components/schemas/UserId"
}
}
}
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
}
}
}
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
}
}
}
ListDeleteResponse
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"deleted": {
"type": "boolean"
}
}
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
}
}
}
ListFollowedRequest
{
"type": "object",
"required": [
"list_id"
],
"properties": {
"list_id": {
"$ref": "#/components/schemas/ListId"
}
}
}
ListFollowedResponse
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"following": {
"type": "boolean"
}
}
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
}
}
}
ListId
{
"type": "string",
"example": "1146654567674912769",
"pattern": "^[0-9]{1,19}$",
"description": "The unique identifier of this List."
}
ListMutateResponse
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"is_member": {
"type": "boolean"
}
}
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
}
}
}
ListPinnedRequest
{
"type": "object",
"required": [
"list_id"
],
"properties": {
"list_id": {
"$ref": "#/components/schemas/ListId"
}
}
}
ListPinnedResponse
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"pinned": {
"type": "boolean"
}
}
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
}
}
}
ListUnpinResponse
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"pinned": {
"type": "boolean"
}
}
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
}
}
}
ListUpdateRequest
{
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 25,
"minLength": 1
},
"private": {
"type": "boolean"
},
"description": {
"type": "string",
"maxLength": 100,
"minLength": 0
}
}
}
ListUpdateResponse
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"updated": {
"type": "boolean"
}
}
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
}
}
}
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"
}
}
MediaHeight
{
"type": "integer",
"minimum": 0,
"description": "The height of the media in pixels."
}
MediaId
{
"type": "string",
"example": "1146654567674912769",
"pattern": "^[0-9]{1,19}$",
"description": "The unique identifier of this Media."
}
MediaKey
{
"type": "string",
"pattern": "^([0-9]+)_([0-9]+)$",
"description": "The Media Key identifier for this attachment."
}
MediaWidth
{
"type": "integer",
"minimum": 0,
"description": "The width of the media in pixels."
}
MentionEntity
{
"allOf": [
{
"$ref": "#/components/schemas/EntityIndicesInclusiveExclusive"
},
{
"$ref": "#/components/schemas/MentionFields"
}
]
}
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."
}
MuteUserMutationResponse
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"muting": {
"type": "boolean"
}
}
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
}
}
}
MuteUserRequest
{
"type": "object",
"required": [
"target_user_id"
],
"properties": {
"target_user_id": {
"$ref": "#/components/schemas/UserId"
}
}
}
NewestId
{
"type": "string",
"description": "The newest id in this response."
}
NextToken
{
"type": "string",
"minLength": 1,
"description": "The next token."
}
OldestId
{
"type": "string",
"description": "The oldest id in this response."
}
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."
}
PaginationToken32
{
"type": "string",
"minLength": 16,
"description": "A base32 pagination token."
}
PaginationToken36
{
"type": "string",
"minLength": 1,
"description": "A base36 pagination token."
}
PaginationTokenLong
{
"type": "string",
"maxLength": 19,
"minLength": 1,
"description": "A 'long' pagination token."
}
Photo
{
"allOf": [
{
"$ref": "#/components/schemas/Media"
},
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"alt_text": {
"type": "string"
}
}
}
]
}
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
}
}
}
PlaceId
{
"type": "string",
"example": "f7eb2fa2fea288b1",
"description": "The identifier for this place."
}
PlaceType
{
"enum": [
"poi",
"neighborhood",
"city",
"admin",
"country",
"unknown"
],
"type": "string",
"example": "city"
}
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."
}
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."
}
PollId
{
"type": "string",
"example": "1365059861688410112",
"pattern": "^[0-9]{1,19}$",
"description": "Unique identifier of this poll."
}
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."
}
PollOptionLabel
{
"type": "string",
"maxLength": 25,
"minLength": 1,
"description": "The text of a poll choice."
}
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]`."
}
PreviousToken
{
"type": "string",
"minLength": 1,
"description": "The previous token."
}
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"
}
}
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."
}
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."
}
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."
}
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."
}
ResultCount
{
"type": "integer",
"format": "int32",
"description": "The number of results returned in this response."
}
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."
}
RuleId
{
"type": "string",
"example": "120897978112909812",
"pattern": "^[0-9]{1,19}$",
"description": "Unique identifier of this rule."
}
RuleNoId
{
"type": "object",
"required": [
"value"
],
"properties": {
"tag": {
"$ref": "#/components/schemas/RuleTag"
},
"value": {
"$ref": "#/components/schemas/RuleValue"
}
},
"description": "A user-provided stream filtering rule."
}
RuleTag
{
"type": "string",
"example": "Non-retweeted coffee Tweets",
"description": "A tag meant for the labeling of user provided rules."
}
RuleValue
{
"type": "string",
"example": "coffee -is:retweet",
"description": "The filterlang value of the rule."
}
RulesLookupResponse
{
"type": "object",
"required": [
"meta"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Rule"
}
},
"meta": {
"$ref": "#/components/schemas/RulesResponseMetadata"
}
}
}
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."
}
}
}
]
}
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."
}
}
}
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."
}
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": ""
}
SpaceId
{
"type": "string",
"example": "1SLjjRYNejbKM",
"pattern": "^[a-zA-Z0-9]{1,13}$",
"description": "The unique identifier of this Space."
}
Start
{
"type": "string",
"format": "date-time",
"description": "The start time of the bucket."
}
StreamingTweetResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/Tweet"
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
},
"includes": {
"$ref": "#/components/schemas/Expansions"
}
}
}
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."
}
TopicId
{
"type": "string",
"description": "Unique identifier of this Topic."
}
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."
}
}
}
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."
}
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"
}
}
}
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."
}
TweetCount
{
"type": "integer",
"description": "The count for the bucket."
}
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."
}
}
}
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
}
}
}
TweetDeleteComplianceSchema
{
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"$ref": "#/components/schemas/TweetComplianceSchema"
}
}
}
TweetDeleteResponse
{
"type": "object",
"properties": {
"data": {
"type": "object",
"required": [
"deleted"
],
"properties": {
"deleted": {
"type": "boolean"
}
}
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
}
}
}
TweetDropComplianceSchema
{
"type": "object",
"required": [
"drop"
],
"properties": {
"drop": {
"$ref": "#/components/schemas/TweetComplianceSchema"
}
}
}
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"
}
}
}
TweetEditComplianceSchema
{
"type": "object",
"required": [
"tweet_edit"
],
"properties": {
"tweet_edit": {
"$ref": "#/components/schemas/TweetEditComplianceObjectSchema"
}
}
}
TweetHideRequest
{
"type": "object",
"required": [
"hidden"
],
"properties": {
"hidden": {
"type": "boolean"
}
}
}
TweetHideResponse
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"hidden": {
"type": "boolean"
}
}
}
}
}
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."
}
TweetLabelData
{
"oneOf": [
{
"$ref": "#/components/schemas/TweetNoticeSchema"
},
{
"$ref": "#/components/schemas/TweetUnviewableSchema"
}
],
"description": "Tweet label data."
}
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."
}
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"
}
}
}
TweetNoticeSchema
{
"type": "object",
"required": [
"public_tweet_notice"
],
"properties": {
"public_tweet_notice": {
"$ref": "#/components/schemas/TweetNotice"
}
}
}
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
}
}
}
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."
}
TweetUndropComplianceSchema
{
"type": "object",
"required": [
"undrop"
],
"properties": {
"undrop": {
"$ref": "#/components/schemas/TweetComplianceSchema"
}
}
}
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’."
}
}
}
TweetUnviewableSchema
{
"type": "object",
"required": [
"public_tweet_unviewable"
],
"properties": {
"public_tweet_unviewable": {
"$ref": "#/components/schemas/TweetUnviewable"
}
}
}
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)."
}
TweetWithheldComplianceSchema
{
"type": "object",
"required": [
"withheld"
],
"properties": {
"withheld": {
"$ref": "#/components/schemas/TweetTakedownComplianceSchema"
}
}
}
UploadExpiration
{
"type": "string",
"format": "date-time",
"example": "2021-01-06T18:40:40.000Z",
"description": "Expiration time of the upload URL."
}
UploadUrl
{
"type": "string",
"format": "uri",
"description": "URL to which the user will upload their Tweet or user IDs."
}
Url
{
"type": "string",
"format": "uri",
"example": "https://developer.twitter.com/en/docs/twitter-api",
"description": "A validly formatted URL."
}
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."
}
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."
}
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."
}
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."
}
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."
}
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."
}
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."
}
}
}
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."
}
UserDeleteComplianceSchema
{
"type": "object",
"required": [
"user_delete"
],
"properties": {
"user_delete": {
"$ref": "#/components/schemas/UserComplianceSchema"
}
}
}
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."
}
UserIdMatchesAuthenticatedUser
{
"type": "string",
"example": "2244994945",
"description": "Unique identifier of this User. The value must be the same as the authenticated user."
}
UserName
{
"type": "string",
"pattern": "^[A-Za-z0-9_]{1,15}$",
"description": "The Twitter handle (screen name) of this user."
}
UserProfileModificationComplianceSchema
{
"type": "object",
"required": [
"user_profile_modification"
],
"properties": {
"user_profile_modification": {
"$ref": "#/components/schemas/UserProfileModificationObjectSchema"
}
}
}
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"
}
}
}
UserProtectComplianceSchema
{
"type": "object",
"required": [
"user_protect"
],
"properties": {
"user_protect": {
"$ref": "#/components/schemas/UserComplianceSchema"
}
}
}
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"
}
}
}
UserScrubGeoSchema
{
"type": "object",
"required": [
"scrub_geo"
],
"properties": {
"scrub_geo": {
"$ref": "#/components/schemas/UserScrubGeoObjectSchema"
}
}
}
UserSuspendComplianceSchema
{
"type": "object",
"required": [
"user_suspend"
],
"properties": {
"user_suspend": {
"$ref": "#/components/schemas/UserComplianceSchema"
}
}
}
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
}
}
}
UserUndeleteComplianceSchema
{
"type": "object",
"required": [
"user_undelete"
],
"properties": {
"user_undelete": {
"$ref": "#/components/schemas/UserComplianceSchema"
}
}
}
UserUnprotectComplianceSchema
{
"type": "object",
"required": [
"user_unprotect"
],
"properties": {
"user_unprotect": {
"$ref": "#/components/schemas/UserComplianceSchema"
}
}
}
UserUnsuspendComplianceSchema
{
"type": "object",
"required": [
"user_unsuspend"
],
"properties": {
"user_unsuspend": {
"$ref": "#/components/schemas/UserComplianceSchema"
}
}
}
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)."
}
UserWithheldComplianceSchema
{
"type": "object",
"required": [
"user_withheld"
],
"properties": {
"user_withheld": {
"$ref": "#/components/schemas/UserTakedownComplianceSchema"
}
}
}
UsersFollowingCreateRequest
{
"type": "object",
"required": [
"target_user_id"
],
"properties": {
"target_user_id": {
"$ref": "#/components/schemas/UserId"
}
}
}
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
}
}
}
UsersFollowingDeleteResponse
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"following": {
"type": "boolean"
}
}
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
}
}
}
UsersLikesCreateRequest
{
"type": "object",
"required": [
"tweet_id"
],
"properties": {
"tweet_id": {
"$ref": "#/components/schemas/TweetId"
}
}
}
UsersLikesCreateResponse
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"liked": {
"type": "boolean"
}
}
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
}
}
}
UsersLikesDeleteResponse
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"liked": {
"type": "boolean"
}
}
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
}
}
}
UsersRetweetsCreateRequest
{
"type": "object",
"required": [
"tweet_id"
],
"properties": {
"tweet_id": {
"$ref": "#/components/schemas/TweetId"
}
}
}
UsersRetweetsCreateResponse
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"retweeted": {
"type": "boolean"
}
}
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
}
}
}
UsersRetweetsDeleteResponse
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"retweeted": {
"type": "boolean"
}
}
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Problem"
},
"minItems": 1
}
}
}
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."
}
}
}
Variants
{
"type": "array",
"items": {
"$ref": "#/components/schemas/Variant"
},
"description": "An array of all available variants of the media."
}
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."
}
}
}
]
}