Twitter API v2

Social media platform API

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

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

Get API Key

Server URLs

https://api.twitter.com

Endpoints

Clear filters

Bookmarks 1 endpoints

POST /2/users/{id}/bookmarks

Adds a Tweet (ID in the body) to the requesting User’s (in the path) bookmarks

operationId: Bookmarks_addTweet

Parameters

Name In Required Type Description
id path required

The ID of the authenticated source User for whom to add bookmarks.

Request Body

required
application/json
schema BookmarkAddRequest
Property Type Required
tweet_id string required

Responses

default

The request has failed.

200

The request has succeeded.

POST /2/users/{id}/bookmarks

Compliance 1 endpoints

POST /2/compliance/jobs

Creates a compliance for the given job type

operationId: Compliance_createJob

Request Body

required
application/json
schema CreateComplianceJobRequest
Property Type Required
name string optional
type string required
resumable boolean optional

Responses

default

The request has failed.

200

The request has succeeded.

POST /2/compliance/jobs

Directmessages 3 endpoints

POST /2/dm_conversations

Creates a new DM Conversation.

operationId: DirectMessages_createNewDmConversation

Request Body

application/json
schema CreateDmConversationRequest
Property Type Required
message object required
participant_ids array required
conversation_type string required

Responses

default

The request has failed.

201

The request has succeeded.

POST /2/dm_conversations
POST /2/dm_conversations/with/{participant_id}/messages

Creates a new message for a DM Conversation with a participant user by ID

operationId: DirectMessages_sendNewMessageToUser

Parameters

Name In Required Type Description
participant_id path required

The ID of the recipient user that will receive the DM.

Request Body

application/json
schema CreateMessageRequest

Responses

default

The request has failed.

201

The request has succeeded.

POST /2/dm_conversations/with/{participant_id}/messages
POST /2/dm_conversations/{dm_conversation_id}/messages

Creates a new message for a DM Conversation specified by DM Conversation ID

operationId: DirectMessages_sendNewMessageToDmConversation

Parameters

Name In Required Type Description
dm_conversation_id path required string

The DM Conversation ID.

Request Body

application/json
schema CreateMessageRequest

Responses

default

The request has failed.

201

The request has succeeded.

POST /2/dm_conversations/{dm_conversation_id}/messages

Lists 4 endpoints

POST /2/lists

Creates a new List.

operationId: Lists_createNewList

Request Body

application/json
schema ListCreateRequest
Property Type Required
name string required
private boolean optional
description string optional

Responses

default

The request has failed.

200

The request has succeeded.

POST /2/lists
POST /2/lists/{id}/members

Causes a User to become a member of a List.

operationId: Lists_addMember

Parameters

Name In Required Type Description
id path required

The ID of the List for which to add a member.

Request Body

application/json
schema ListAddUserRequest
Property Type Required
user_id string required

Responses

default

The request has failed.

200

The request has succeeded.

POST /2/lists/{id}/members
POST /2/users/{id}/followed_lists

Causes a User to follow a List.

operationId: Lists_followList

Parameters

Name In Required Type Description
id path required

The ID of the authenticated source User that will follow the List.

Request Body

application/json
schema ListFollowedRequest
Property Type Required
list_id string required

Responses

default

The request has failed.

200

The request has succeeded.

POST /2/users/{id}/followed_lists
POST /2/users/{id}/pinned_lists

Causes a User to pin a List.

operationId: Lists_pinList

Parameters

Name In Required Type Description
id path required

The ID of the authenticated source User that will pin the List.

Request Body

required
application/json
schema ListPinnedRequest
Property Type Required
list_id string required

Responses

default

The request has failed.

200

The request has succeeded.

POST /2/users/{id}/pinned_lists

Tweets 4 endpoints

POST /2/tweets

Causes the User to create a Tweet under the authorized account.

operationId: Tweets_createTweet

Request Body

required
application/json
schema TweetCreateRequest
Property Type Required
geo object optional
place_id string optional
poll object optional
options array required
reply_settings string optional
duration_minutes integer required
text string optional
media object optional
media_ids array required
tagged_user_ids array optional
reply object optional
in_reply_to_tweet_id string required
exclude_reply_user_ids array optional
card_uri string optional
nullcast boolean optional
quote_tweet_id string optional
reply_settings string optional
direct_message_deep_link string optional
for_super_followers_only boolean optional

Responses

default

The request has failed.

201

The request has succeeded.

POST /2/tweets
POST /2/tweets/search/stream/rules

Add or delete rules from a User’s active rule set. Users can provide unique, optionally tagged rules to add. Users can delete their entire rule set or a subset specified by rule ids or values.

operationId: Tweets_addOrDeleteRules

Parameters

Name In Required Type Description
dry_run query optional boolean

Dry Run can be used with both the add and delete action, with the expected result given, but without actually taking any action in the system (meaning the end state will always be as it was when the request was submitted). This is particularly useful to validate rule changes.

Request Body

required
application/json
schema AddOrDeleteRulesRequest

Responses

default

The request has failed.

200

The request has succeeded.

POST /2/tweets/search/stream/rules
POST /2/users/{id}/likes

Causes the User (in the path) to like the specified Tweet. The User in the path must match the User context authorizing the request.

operationId: Tweets_likeTweet

Parameters

Name In Required Type Description
id path required

The ID of the authenticated source User that is requesting to like the Tweet.

Request Body

application/json
schema UsersLikesCreateRequest
Property Type Required
tweet_id string required

Responses

default

The request has failed.

200

The request has succeeded.

POST /2/users/{id}/likes
POST /2/users/{id}/retweets

Causes the User (in the path) to retweet the specified Tweet. The User in the path must match the User context authorizing the request.

operationId: Tweets_retweetTweetById

Parameters

Name In Required Type Description
id path required

The ID of the authenticated source User that is requesting to retweet the Tweet.

Request Body

application/json
schema UsersRetweetsCreateRequest
Property Type Required
tweet_id string required

Responses

default

The request has failed.

200

The request has succeeded.

POST /2/users/{id}/retweets

Users 3 endpoints

POST /2/users/{id}/blocking

Causes the User (in the path) to block the target User. The User (in the path) must match the User context authorizing the request

operationId: Users_blockUserById

Parameters

Name In Required Type Description
id path required

The ID of the authenticated source User that is requesting to block the target User.

Request Body

required
application/json
schema BlockUserRequest
Property Type Required
target_user_id string required

Responses

default

The request has failed.

200

The request has succeeded.

POST /2/users/{id}/blocking
POST /2/users/{id}/following

Causes the User(in the path) to follow, or “request to follow” for protected Users, the target User. The User(in the path) must match the User context authorizing the request

operationId: Users_followUser

Parameters

Name In Required Type Description
id path required

The ID of the authenticated source User that is requesting to follow the target User.

Request Body

application/json
schema UsersFollowingCreateRequest
Property Type Required
target_user_id string required

Responses

default

The request has failed.

200

The request has succeeded.

POST /2/users/{id}/following
POST /2/users/{id}/muting

Causes the User (in the path) to mute the target User. The User (in the path) must match the User context authorizing the request.

operationId: Users_muteUserById

Parameters

Name In Required Type Description
id path required

The ID of the authenticated source User that is requesting to mute the target User.

Request Body

application/json
schema MuteUserRequest
Property Type Required
target_user_id string required

Responses

default

The request has failed.

200

The request has succeeded.

POST /2/users/{id}/muting

Schemas

object AddOrDeleteRulesRequest
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/AddRulesRequest"
    },
    {
      "$ref": "#/components/schemas/DeleteRulesRequest"
    }
  ]
}
object AddOrDeleteRulesResponse
{
  "type": "object",
  "required": [
    "meta"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Rule"
      },
      "description": "All user-specified stream filtering rules that were created."
    },
    "meta": {
      "$ref": "#/components/schemas/RulesResponseMetadata"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  },
  "description": "A response from modifying user-specified stream filtering rules."
}
object AddRulesRequest
{
  "type": "object",
  "required": [
    "add"
  ],
  "properties": {
    "add": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/RuleNoId"
      }
    }
  },
  "description": "A request to add a user-specified stream filtering rule."
}
integer Aggregate
{
  "type": "integer",
  "format": "int32",
  "description": "The sum of results returned in this response."
}
object AnimatedGif
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Media"
    },
    {
      "type": "object",
      "properties": {
        "variants": {
          "$ref": "#/components/schemas/Variants"
        },
        "preview_image_url": {
          "type": "string",
          "format": "uri"
        }
      }
    }
  ]
}
object BlockUserMutationResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "blocking": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object BlockUserRequest
{
  "type": "object",
  "required": [
    "target_user_id"
  ],
  "properties": {
    "target_user_id": {
      "$ref": "#/components/schemas/UserId"
    }
  }
}
object BookmarkAddRequest
{
  "type": "object",
  "required": [
    "tweet_id"
  ],
  "properties": {
    "tweet_id": {
      "$ref": "#/components/schemas/TweetId"
    }
  }
}
object BookmarkMutationResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "bookmarked": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object CashtagEntity
{
  "allOf": [
    {
      "$ref": "#/components/schemas/EntityIndicesInclusiveExclusive"
    },
    {
      "$ref": "#/components/schemas/CashtagFields"
    }
  ]
}
object CashtagFields
{
  "type": "object",
  "required": [
    "tag"
  ],
  "properties": {
    "tag": {
      "type": "string",
      "example": "TWTR"
    }
  },
  "description": "Represent the portion of text recognized as a Cashtag, and its start and end position within the text."
}
object ClientForbiddenProblem
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Problem"
    },
    {
      "type": "object",
      "properties": {
        "reason": {
          "enum": [
            "official-client-forbidden",
            "client-not-enrolled"
          ],
          "type": "string"
        },
        "registration_url": {
          "type": "string",
          "format": "uri"
        }
      }
    }
  ],
  "description": "A problem that indicates your client is forbidden from making this request."
}
object ComplianceJob
{
  "type": "object",
  "required": [
    "id",
    "type",
    "created_at",
    "upload_url",
    "download_url",
    "upload_expires_at",
    "download_expires_at",
    "status"
  ],
  "properties": {
    "id": {
      "$ref": "#/components/schemas/JobId"
    },
    "name": {
      "$ref": "#/components/schemas/ComplianceJobName"
    },
    "type": {
      "$ref": "#/components/schemas/ComplianceJobType"
    },
    "status": {
      "$ref": "#/components/schemas/ComplianceJobStatus"
    },
    "created_at": {
      "$ref": "#/components/schemas/CreatedAt"
    },
    "upload_url": {
      "$ref": "#/components/schemas/UploadUrl"
    },
    "download_url": {
      "$ref": "#/components/schemas/DownloadUrl"
    },
    "upload_expires_at": {
      "$ref": "#/components/schemas/UploadExpiration"
    },
    "download_expires_at": {
      "$ref": "#/components/schemas/DownloadExpiration"
    }
  }
}
string ComplianceJobName
{
  "type": "string",
  "example": "my-job",
  "maxLength": 64,
  "description": "User-provided name for a compliance job."
}
string ComplianceJobStatus
{
  "enum": [
    "created",
    "in_progress",
    "failed",
    "complete",
    "expired"
  ],
  "type": "string",
  "description": "Status of a compliance job."
}
string ComplianceJobType
{
  "enum": [
    "tweets",
    "users"
  ],
  "type": "string",
  "description": "Type of compliance job to list."
}
object ConnectionExceptionProblem
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Problem"
    },
    {
      "type": "object",
      "properties": {
        "connection_issue": {
          "enum": [
            "TooManyConnections",
            "ProvisioningSubscription",
            "RuleConfigurationIssue",
            "RulesInvalidIssue"
          ],
          "type": "string"
        }
      }
    }
  ],
  "description": "A problem that indicates something is wrong with the connection."
}
object ContextAnnotation
{
  "type": "object",
  "required": [
    "domain",
    "entity"
  ],
  "properties": {
    "domain": {
      "$ref": "#/components/schemas/ContextAnnotationDomainFields"
    },
    "entity": {
      "$ref": "#/components/schemas/ContextAnnotationEntityFields"
    }
  },
  "description": "Annotation inferred from the Tweet text."
}
object ContextAnnotationDomainFields
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9]{1,19}$",
      "description": "The unique id for a context annotation domain."
    },
    "name": {
      "type": "string",
      "description": "Name of the context annotation domain."
    },
    "description": {
      "type": "string",
      "description": "Description of the context annotation domain."
    }
  },
  "description": "Represents the data for the context annotation domain."
}
object ContextAnnotationEntityFields
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9]{1,19}$",
      "description": "The unique id for a context annotation entity."
    },
    "name": {
      "type": "string",
      "description": "Name of the context annotation entity."
    },
    "description": {
      "type": "string",
      "description": "Description of the context annotation entity."
    }
  },
  "description": "Represents the data for the context annotation entity."
}
string CountryCode
{
  "type": "string",
  "example": "US",
  "pattern": "^[A-Z]{2}$",
  "description": "A two-letter ISO 3166-1 alpha-2 country code."
}
object CreateAttachmentsMessageRequest
{
  "type": "object",
  "required": [
    "attachments"
  ],
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "description": "Text of the message."
    },
    "attachments": {
      "$ref": "#/components/schemas/DmAttachments"
    }
  }
}
object CreateComplianceJobRequest
{
  "type": "object",
  "required": [
    "type"
  ],
  "properties": {
    "name": {
      "$ref": "#/components/schemas/ComplianceJobName"
    },
    "type": {
      "enum": [
        "tweets",
        "users"
      ],
      "type": "string",
      "description": "Type of compliance job to list."
    },
    "resumable": {
      "type": "boolean",
      "description": "If true, this endpoint will return a pre-signed URL with resumable uploads enabled."
    }
  },
  "description": "A request to create a new batch compliance job."
}
object CreateComplianceJobResponse
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/ComplianceJob"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object CreateDmConversationRequest
{
  "type": "object",
  "required": [
    "conversation_type",
    "participant_ids",
    "message"
  ],
  "properties": {
    "message": {
      "$ref": "#/components/schemas/CreateMessageRequest"
    },
    "participant_ids": {
      "$ref": "#/components/schemas/DmParticipants"
    },
    "conversation_type": {
      "enum": [
        "Group"
      ],
      "type": "string",
      "description": "The conversation type that is being created."
    }
  }
}
object CreateDmEventResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "dm_conversation_id",
        "dm_event_id"
      ],
      "properties": {
        "dm_event_id": {
          "$ref": "#/components/schemas/DmEventId"
        },
        "dm_conversation_id": {
          "$ref": "#/components/schemas/DmConversationId"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object CreateMessageRequest
{
  "anyOf": [
    {
      "$ref": "#/components/schemas/CreateTextMessageRequest"
    },
    {
      "$ref": "#/components/schemas/CreateAttachmentsMessageRequest"
    }
  ]
}
object CreateTextMessageRequest
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "description": "Text of the message."
    },
    "attachments": {
      "$ref": "#/components/schemas/DmAttachments"
    }
  }
}
string CreatedAt
{
  "type": "string",
  "format": "date-time",
  "example": "2021-01-06T18:40:40.000Z",
  "description": "Creation time of the compliance job."
}
object DeleteRulesRequest
{
  "type": "object",
  "required": [
    "delete"
  ],
  "properties": {
    "delete": {
      "type": "object",
      "properties": {
        "ids": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/RuleId"
          },
          "description": "IDs of all deleted user-specified stream filtering rules."
        },
        "values": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/RuleValue"
          },
          "description": "Values of all deleted user-specified stream filtering rules."
        }
      },
      "description": "IDs and values of all deleted user-specified stream filtering rules."
    }
  },
  "description": "A response from deleting user-specified stream filtering rules."
}
object DisallowedResourceProblem
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Problem"
    },
    {
      "type": "object",
      "required": [
        "resource_id",
        "resource_type",
        "section"
      ],
      "properties": {
        "section": {
          "enum": [
            "data",
            "includes"
          ],
          "type": "string"
        },
        "resource_id": {
          "type": "string"
        },
        "resource_type": {
          "enum": [
            "user",
            "tweet",
            "media",
            "list",
            "space"
          ],
          "type": "string"
        }
      }
    }
  ],
  "description": "A problem that indicates that the resource requested violates the precepts of this API."
}
array DmAttachments
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DmMediaAttachment"
  },
  "description": "Attachments to a DM Event."
}
string DmConversationId
{
  "type": "string",
  "example": "123123123-456456456",
  "pattern": "^([0-9]{1,19}-[0-9]{1,19}|[0-9]{15,19})$",
  "description": "Unique identifier of a DM conversation. This can either be a numeric string, or a pair of numeric strings separated by a '-' character in the case of one-on-one DM Conversations."
}
object DmEvent
{
  "type": "object",
  "required": [
    "id",
    "event_type"
  ],
  "properties": {
    "id": {
      "$ref": "#/components/schemas/DmEventId"
    },
    "text": {
      "type": "string"
    },
    "sender_id": {
      "$ref": "#/components/schemas/UserId"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "event_type": {
      "type": "string",
      "example": "MessageCreate"
    },
    "attachments": {
      "type": "object",
      "properties": {
        "card_ids": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "description": "A list of card IDs (if cards are attached)."
        },
        "media_keys": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/MediaKey"
          },
          "minItems": 1,
          "description": "A list of Media Keys for each one of the media attachments (if media are attached)."
        }
      },
      "description": "Specifies the type of attachments (if any) present in this DM."
    },
    "participant_ids": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UserId"
      },
      "minItems": 1,
      "description": "A list of participants for a ParticipantsJoin or ParticipantsLeave event_type."
    },
    "referenced_tweets": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/TweetId"
          }
        }
      },
      "minItems": 1,
      "description": "A list of Tweets this DM refers to."
    },
    "dm_conversation_id": {
      "$ref": "#/components/schemas/DmConversationId"
    }
  }
}
string DmEventId
{
  "type": "string",
  "example": "1146654567674912769",
  "pattern": "^[0-9]{1,19}$",
  "description": "Unique identifier of a DM Event."
}
object DmMediaAttachment
{
  "type": "object",
  "required": [
    "media_id"
  ],
  "properties": {
    "media_id": {
      "$ref": "#/components/schemas/MediaId"
    }
  }
}
array DmParticipants
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/UserId"
  },
  "maxItems": 49,
  "minItems": 2,
  "description": "Participants for the DM Conversation."
}
string DownloadExpiration
{
  "type": "string",
  "format": "date-time",
  "example": "2021-01-06T18:40:40.000Z",
  "description": "Expiration time of the download URL."
}
string DownloadUrl
{
  "type": "string",
  "format": "uri",
  "description": "URL from which the user will retrieve their compliance results."
}
object DuplicateRuleProblem
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Problem"
    },
    {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      }
    }
  ],
  "description": "The rule you have submitted is a duplicate."
}
string End
{
  "type": "string",
  "format": "date-time",
  "description": "The end time of the bucket."
}
object EntityIndicesInclusiveExclusive
{
  "type": "object",
  "required": [
    "start",
    "end"
  ],
  "properties": {
    "end": {
      "type": "integer",
      "example": 61,
      "minimum": 0,
      "description": "Index (zero-based) at which position this entity ends.  The index is exclusive."
    },
    "start": {
      "type": "integer",
      "example": 50,
      "minimum": 0,
      "description": "Index (zero-based) at which position this entity starts.  The index is inclusive."
    }
  },
  "description": "Represent a boundary range (start and end index) for a recognized entity (for example a hashtag or a mention). `start` must be smaller than `end`.  The start index is inclusive, the end index is exclusive."
}
object EntityIndicesInclusiveInclusive
{
  "type": "object",
  "required": [
    "start",
    "end"
  ],
  "properties": {
    "end": {
      "type": "integer",
      "example": 61,
      "minimum": 0,
      "description": "Index (zero-based) at which position this entity ends.  The index is inclusive."
    },
    "start": {
      "type": "integer",
      "example": 50,
      "minimum": 0,
      "description": "Index (zero-based) at which position this entity starts.  The index is inclusive."
    }
  },
  "description": "Represent a boundary range (start and end index) for a recognized entity (for example a hashtag or a mention). `start` must be smaller than `end`.  The start index is inclusive, the end index is inclusive."
}
object Error
{
  "type": "object",
  "required": [
    "code",
    "message"
  ],
  "properties": {
    "code": {
      "type": "integer",
      "format": "int32"
    },
    "message": {
      "type": "string"
    }
  }
}
object Expansions
{
  "type": "object",
  "properties": {
    "media": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Media"
      },
      "minItems": 1
    },
    "polls": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Poll"
      },
      "minItems": 1
    },
    "users": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/User"
      },
      "minItems": 1
    },
    "places": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Place"
      },
      "minItems": 1
    },
    "topics": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Topic"
      },
      "minItems": 1
    },
    "tweets": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Tweet"
      },
      "minItems": 1
    }
  }
}
object FieldUnauthorizedProblem
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Problem"
    },
    {
      "type": "object",
      "required": [
        "resource_type",
        "field",
        "section"
      ],
      "properties": {
        "field": {
          "type": "string"
        },
        "section": {
          "enum": [
            "data",
            "includes"
          ],
          "type": "string"
        },
        "resource_type": {
          "enum": [
            "user",
            "tweet",
            "media",
            "list",
            "space"
          ],
          "type": "string"
        }
      }
    }
  ],
  "description": "A problem that indicates that you are not allowed to see a particular field on a Tweet, User, etc."
}
object FilteredStreamingTweetResponse
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/Tweet"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    },
    "matching_rules": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/RuleId"
          },
          "tag": {
            "$ref": "#/components/schemas/RuleTag"
          }
        }
      },
      "description": "The list of rules which matched the Tweet"
    }
  },
  "description": "A Tweet or error that can be returned by the streaming Tweet API. The values returned with a successful streamed Tweet includes the user provided rules that the Tweet matched."
}
object FullTextEntities
{
  "type": "object",
  "properties": {
    "urls": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UrlEntity"
      },
      "minItems": 1
    },
    "cashtags": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CashtagEntity"
      },
      "minItems": 1
    },
    "hashtags": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/HashtagEntity"
      },
      "minItems": 1
    },
    "mentions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/MentionEntity"
      },
      "minItems": 1
    },
    "annotations": {
      "type": "array",
      "items": {
        "allOf": [
          {
            "$ref": "#/components/schemas/EntityIndicesInclusiveInclusive"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "example": "Person",
                "description": "Annotation type."
              },
              "probability": {
                "type": "number",
                "format": "double",
                "maximum": 1,
                "minimum": 0,
                "description": "Confidence factor for annotation type."
              },
              "normalized_text": {
                "type": "string",
                "example": "Barack Obama",
                "description": "Text used to determine annotation."
              }
            },
            "description": "Represents the data for the annotation."
          }
        ],
        "description": "Annotation for entities based on the Tweet text."
      },
      "minItems": 1
    }
  }
}
object GeneralGetOpenApiSpecResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object Geo
{
  "type": "object",
  "required": [
    "type",
    "bbox",
    "properties"
  ],
  "properties": {
    "bbox": {
      "type": "array",
      "items": {
        "type": "number",
        "format": "double",
        "maximum": 180,
        "minimum": -180
      },
      "example": [
        -105.193475,
        39.60973,
        -105.053164,
        39.761974
      ],
      "maxItems": 4,
      "minItems": 4
    },
    "type": {
      "enum": [
        "Feature"
      ],
      "type": "string"
    },
    "geometry": {
      "$ref": "#/components/schemas/Point"
    },
    "properties": {
      "type": "object"
    }
  }
}

Versions

Version Endpoints Schemas Ingested Status
2.62 80 228 2026-05-11 current
2.62 80 228 2026-04-20
2.62 80 228 2026-04-16