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 24 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), DmEvent (10 properties). Each schema is shown below with its type and property counts.

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