Direct messages, notifications and live events
Start a direct-message thread
Starts a private conversation with the teammate given as peer_user_id, or returns the existing thread with that person. Use the returned thread id to send messages.
Requires: desk.write scope.
Authorization
bearerAuth AuthorizationBearer <token>
A SautiDesk API key. An owner or admin makes it under Settings in SautiDesk for a named person and picks the scopes. The key is shown once. Send it as Authorization: Bearer <key>. It acts as that person and as nobody else.
In: header
Request Body
application/json
Response
OK
Example
{ "thread": { "id": "3f2b8c1e-5a4d-4e7b-9c10-2d6a8e4f1b37", "peer_user_id": "95e86c60-905b-4810-982b-252a6d0ea91b", "peer_name": "Brian Otieno", "peer_former": false, "last_message_at": "2026-10-14T08:30:00Z", "last_message_preview": "Hi Amina, your order has shipped.", "unread": 1 }}FieldTypeDescription
threadrequiredobjectidrequiredstring (uuid)peer_user_idrequiredstring (uuid) | nullThe id of the teammate to start a conversation with.peer_namerequiredstringpeer_formerrequiredbooleanlast_message_atrequiredstring (date-time) | nulllast_message_previewrequiredstringunreadrequiredintegercurl -X POST "https://api.sautidesk.com/v1/desk/dm/threads" \ -H "Content-Type: application/json" \ -d '{ "peer_user_id": "95e86c60-905b-4810-982b-252a6d0ea91b" }'