How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

X Direct Messages API

Endpoints related to retrieving, managing Direct Messages — 9 operation(s) in the X-published contract.

X Direct Messages API is one of 23 APIs that X publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Direct Messages. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 9 operations across 8 paths, and defines 71 schemas. It is described by OpenAPI 3.2.0, at version 2.168.

Requests are made against a single base URL, https://api.x.com.

9 operations 8 paths 71 schemas 1 DELETE5 GET3 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
2.168
Base URL
https://api.x.com
Authentication
HTTP Bearer, OAuth 2.0, HTTP Oauth
Terms of Service
Resource Areas
1

Authentication & Security 3

X Direct Messages API declares 3 security schemes for authenticating requests. It accepts HTTP bearer tokens (BearerToken). It supports OAuth 2.0 (OAuth2UserToken) using the authorizationCode flow, exposing 26 scopes. It uses HTTP oauth authentication (UserToken).

Paths & Operations 9

Across 8 paths, the API surfaces 9 operations — 1 DELETE, 5 GET, 3 POST. Each is listed below with its method, path, parameters, and response codes.

Direct Messages 9

Endpoints related to retrieving, managing Direct Messages

POST
/2/dm_conversations
Create DM conversation
createDirectMessagesConversation body → 201default
GET
/2/dm_conversations/media/{dm_id}/{media_id}/{resource_id}
Download DM Media
dmConversationsMediaDownload 3 params → 200default
GET
/2/dm_conversations/with/{participant_id}/dm_events
Get Direct Messages Events by Participant ID
getDirectMessagesEventsByParticipantId 9 params → 200default
POST
/2/dm_conversations/with/{participant_id}/messages
Create DM message by participant ID
createDirectMessagesByParticipantId 1 param body → 201default
POST
/2/dm_conversations/{dm_conversation_id}/messages
Create Direct Messages by Conversation ID
createDirectMessagesByConversationId 1 param body → 201default
GET
/2/dm_conversations/{id}/dm_events
Get Direct Messages Events by Conversation ID
getDirectMessagesEventsByConversationId 9 params → 200default
GET
/2/dm_events
Get Direct Messages Events
getDirectMessagesEvents 8 params → 200default
DELETE
/2/dm_events/{event_id}
Delete DM event
deleteDirectMessagesEvents 1 param → 200default
GET
/2/dm_events/{event_id}
Get Direct Messages Events by ID
getDirectMessagesEventsById 6 params → 200default

Schemas 71

The contract defines 71 schemas that model the data the API accepts and returns. The most detailed are Post (36 properties), User (28 properties), Media (13 properties), NotAuthorizedForFieldProblem (10 properties). Each schema is shown below with its type and property counts.

DeleteDirectMessagesEventsResponse
object
2 properties
PostPublicMetrics
object
Engagement metrics for the Post at the time of the request.
6 properties 6 required
PostDisplayTextRange
array
The inclusive start and exclusive end indices of the displayable content of the Post.
Expansions
object
6 properties
Media
object
13 properties
GetDirectMessagesEventsResponse
object
4 properties
CreateDirectMessagesByParticipantIdAttachments
object
1 property 1 required
CreateDirectMessagesConversationMessage
object
2 properties
CreateDirectMessagesByConversationIdAttachments
object
1 property 1 required
PostGeo
object
The location tagged on the Post, if the user provided one.
2 properties
FieldHydrationFailureProblem
object
7 properties 4 required
CreateDirectMessagesByConversationIdRequest
object
At least one of text, attachments is required.
2 properties
CreateDirectMessagesConversationResponseData
object
2 properties 2 required
CreateDirectMessagesByParticipantIdResponseData
object
2 properties 2 required
PostSuggestedSourceLinks
array
URLs suggested as sources for this Post.
NotAuthorizedForResourceProblem
object
9 properties 4 required
DmEventAttachments
object
Media and card attachments present in this Direct Message event.
2 properties
CreateDirectMessagesConversationResponse
object
2 properties
PostEntities
object
A list of metadata entities (hashtags, mentions, URLs) found in the Post text.
4 properties
MediaVariants
array
Each media object may have multiple display or playback variants, with different resolutions or formats.
PostReferencedPosts
array
A list of Posts this Post refers to. If the Post is a Retweet, Quote or Reply, it includes the referenced Post's type and ID.
CreateDirectMessagesByParticipantIdResponse
object
2 properties
CreateDirectMessagesByParticipantIdRequest
object
At least one of text, attachments is required.
2 properties
MediaNonPublicMetrics
object
Nonpublic engagement metrics for the media at the time of the request.
5 properties
UserConnectionStatus
array
Returns detailed information about the relationship between two users.
GetDirectMessagesEventsByConversationIdResponse
object
4 properties
NotAuthorizedForFieldProblem
object
10 properties 4 required
CreateDirectMessagesByConversationIdResponseData
object
2 properties 2 required
PostNotePost
object
The full content of the Post, including text beyond 280 characters.
2 properties 1 required
Post
object
36 properties
PostNoteRequestSuggestions
array
Community-Notes request suggestions for this Post.
GetDirectMessagesEventsByParticipantIdResponse
object
4 properties
Error
object
2 properties 2 required
Poll
object
5 properties
UserWithheld
object
Withholding details for withheld content.
2 properties
MediaPromotedMetrics
object
Promoted nonpublic engagement metrics for the media at the time of the request.
6 properties
ResourceUnavailableProblem
object
6 properties 4 required
InvalidRequestProblem
object
6 properties 3 required
UserEntities
object
A list of metadata found in the User's profile description.
2 properties
DmEventReferencedPosts
array
PostAttachments
object
Specifies the type of attachments (if any) present in this Post.
3 properties
CreateDirectMessagesConversationRequest
object
3 properties 3 required
PostMediaMetadata
array
Metadata for media attached to this Post.
PostScopes
object
The scopes for this Post.
1 property 1 required
PostContextAnnotations
array
Annotations inferred about the Post (domain and entity context).
User
object
28 properties
DisallowedResourceProblem
object
7 properties 3 required
PollOptions
array
The list of options (choices) available in this poll.
PostSuggestedSourceLinksWithCounts
array
Suggested source URLs for this Post, each with the number of times it was suggested.
InternalErrorProblem
object
4 properties 3 required
UserPublicMetrics
object
A list of metrics for this User.
6 properties 4 required
Topic
object
3 properties
PlaceGeo
object
The geographic location of this place, expressed as a GeoJSON Feature.
3 properties 3 required
GetDirectMessagesEventsByIdResponse
object
3 properties
DmEvent
object
10 properties
PostEditControls
object
Indicates how much longer (if at all) this Post can be edited.
3 properties
Place
object
8 properties
UserAffiliation
object
Metadata about a user's affiliation.
4 properties
CreateDirectMessagesConversationMessageAttachments
object
1 property 1 required
Problem
DmEventEntities
object
A list of metadata entities (hashtags, cashtags, mentions, URLs) found in the Direct Message text.
4 properties
PostWithheld
object
Withholding details for withheld content.
3 properties 2 required
MediaOrganicMetrics
object
Organic nonpublic engagement metrics for the media at the time of the request.
6 properties
ResourceNotFoundProblem
object
8 properties 4 required
PostMatchedMediaNotes
array
Community-Notes media matches for this Post.
PlaceContainedWithin
array
A list of unique identifiers of the Places that contain this place.
UserSubscription
object
The subscription relationship between this User and you.
1 property 1 required
MediaPublicMetrics
object
Public engagement metrics for the media at the time of the request.
1 property 1 required
FieldUnauthorizedProblem
object
7 properties 4 required
CreateDirectMessagesByConversationIdResponse
object
2 properties
DeleteDirectMessagesEventsResponseData
object
1 property 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

x-direct-messages-api-openapi.yml Raw ↑

Other APIs X publishes across the network.

X Account Activity API
X Account API
X Activity API
X Articles API
X Bots API
X Broadcasts API
X Chat API
X Communities API
X Community Notes API
X Compliance API
X Connections API
X General API
Where this information came from

This is an independent, third-party profile of X Direct Messages API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.