You need the user ID of the person you want to message. You can get this from the User lookup endpoint.
2
Send the message
cURL
curl -X POST "https://api.x.com/2/dm_conversations/with/9876543210/messages" \ -H "Authorization: Bearer $USER_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{"text": "Hello! This is a message from the API."}'
from xdk import Clientclient = Client(bearer_token="YOUR_USER_ACCESS_TOKEN")# Send a one-to-one messageresponse = client.dm.send_message( participant_id="9876543210", text="Hello! This is a message from the API.")print(f"Message sent: {response.data.dm_event_id}")print(f"Conversation: {response.data.dm_conversation_id}")
import { Client } from "@xdevplatform/xdk";const client = new Client({ accessToken: "YOUR_USER_ACCESS_TOKEN" });// Send a one-to-one messageconst response = await client.dm.sendMessage({ participantId: "9876543210", text: "Hello! This is a message from the API.",});console.log(`Message sent: ${response.data?.dm_event_id}`);console.log(`Conversation: ${response.data?.dm_conversation_id}`);
Gather the user IDs of everyone you want in the group (excluding yourself).
2
Create the group with first message
cURL
curl -X POST "https://api.x.com/2/dm_conversations" \ -H "Authorization: Bearer $USER_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "conversation_type": "Group", "participant_ids": ["944480690", "906948460078698496"], "message": {"text": "Welcome to our new group!"} }'
from xdk import Clientclient = Client(bearer_token="YOUR_USER_ACCESS_TOKEN")# Create a group conversationresponse = client.dm.create_conversation( conversation_type="Group", participant_ids=["944480690", "906948460078698496"], message={"text": "Welcome to our new group!"})print(f"Group created: {response.data.dm_conversation_id}")
import { Client } from "@xdevplatform/xdk";const client = new Client({ accessToken: "YOUR_USER_ACCESS_TOKEN" });// Create a group conversationconst response = await client.dm.createConversation({ conversationType: "Group", participantIds: ["944480690", "906948460078698496"], message: { text: "Welcome to our new group!" },});console.log(`Group created: ${response.data?.dm_conversation_id}`);
Send a message to a conversation you’re already part of:
cURL
curl -X POST "https://api.x.com/2/dm_conversations/1582103724607971328/messages" \ -H "Authorization: Bearer $USER_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{"text": "Adding another message to the conversation."}'
from xdk import Clientclient = Client(bearer_token="YOUR_USER_ACCESS_TOKEN")# Add message to existing conversationresponse = client.dm.send_message_to_conversation( dm_conversation_id="1582103724607971328", text="Adding another message to the conversation.")print(f"Message sent: {response.data.dm_event_id}")
import { Client } from "@xdevplatform/xdk";const client = new Client({ accessToken: "YOUR_USER_ACCESS_TOKEN" });// Add message to existing conversationconst response = await client.dm.sendMessageToConversation( "1582103724607971328", { text: "Adding another message to the conversation." });console.log(`Message sent: ${response.data?.dm_event_id}`);
curl -X POST "https://api.x.com/2/dm_conversations/with/9876543210/messages" \ -H "Authorization: Bearer $USER_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "text": "Check out this image!", "attachments": [{"media_id": "1234567890123456789"}] }'
from xdk import Clientclient = Client(bearer_token="YOUR_USER_ACCESS_TOKEN")# Send message with mediaresponse = client.dm.send_message( participant_id="9876543210", text="Check out this image!", attachments=[{"media_id": "1234567890123456789"}])print(f"Message with media sent: {response.data.dm_event_id}")
import { Client } from "@xdevplatform/xdk";const client = new Client({ accessToken: "YOUR_USER_ACCESS_TOKEN" });// Send message with mediaconst response = await client.dm.sendMessage({ participantId: "9876543210", text: "Check out this image!", attachments: [{ mediaId: "1234567890123456789" }],});console.log(`Message with media sent: ${response.data?.dm_event_id}`);