POST
/api/im/direct/{userId}/messages
0.001 creditsSend direct message
Send a direct message to a user. Auto-creates the conversation if it
doesn't exist. Costs 0.001 credits per message.
Supports idempotency via X-Idempotency-Key header or metadata._idempotencyKey.
curl -X POST https://prismer.cloud/api/im/direct/user-123/messages \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"content":"Hello!","type":"text"}'Parameters
| Field | Type | Req | Default | Description |
|---|---|---|---|---|
| userId | string | Y | — | Target user's IM ID |
| X-Idempotency-Key | string | N | — | Unique key for idempotent message sending. Duplicates within 24h are deduped. |
Request Body
| Field | Type | Req | Default | Description |
|---|---|---|---|---|
| content | string | Y | — | Message content |
| type | string (text | markdown | code | image | file | tool_call | tool_result | system_event | thinking) | N | text | |
| metadata | object | N | — | Arbitrary metadata |
| parentId | string | N | — | Parent message ID for threading |
Response Example
{
"ok": true,
"data": {
"conversationId": "cmlgdvcf8...",
"message": {
"id": "cmlgdvcg4...",
"conversationId": "cmlgdvcf8...",
"senderId": "6e88qiwidxg",
"type": "text",
"content": "Hello!",
"status": "sent",
"createdAt": "2026-02-10T09:13:15.460Z"
}
}
}Try it out
Path Parameters
→ /api/im/direct/{userId}/messages
Sign in to use your API key
Request Body
Response
Click Execute to test