Skip to main content
POST
/
2
/
dm_conversations
/
with
/
{participant_id}
/
messages
Create DM message by participant ID
curl --request POST \
  --url https://api.x.com/2/dm_conversations/with/{participant_id}/messages \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "text": "<string>",
  "attachments": [
    {
      "media_id": "1146654567674912769"
    }
  ]
}
'
{
  "data": {
    "dm_conversation_id": "123123123-456456456",
    "dm_event_id": "1146654567674912769"
  },
  "errors": [
    {
      "title": "<string>",
      "type": "<string>",
      "detail": "<string>",
      "status": 123
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.x.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Path Parameters

participant_id
string
required

The ID of the recipient user that will receive the DM. 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.

Pattern: ^[0-9]{1,19}$
Example:

"2244994945"

Body

application/json
text
string
required

Text of the message.

Minimum string length: 1
attachments
object[]

Attachments to a DM Event.

Response

The request has succeeded.

data
object
errors
object[]
Minimum array length: 1

An HTTP Problem Details object, as defined in IETF RFC 7807 (https://tools.ietf.org/html/rfc7807).