Messages
Manage a project’s 1:1 message threads and append messages to them.
GET/v1/messages
| Parameter | Type | Description |
|---|---|---|
status | string | Filter threads: open or closed. |
limit | integer | Page size. Defaults to 20. |
offset | integer | Number of items to skip. Defaults to 0. |
GET/v1/messages/:threadId
POST/v1/messages
| Parameter | Type | Description |
|---|---|---|
emailrequired | string | Email of the end user the thread is with. |
name | string | Display name for the end user. |
subject | string | Thread subject. |
body | string | Optional first message in the thread. |
locale | string | Language for the notification emails this triggers (en, de, es, fr, it, ja, ru, zh). Defaults to en. |
PATCH/v1/messages/:threadId
| Parameter | Type | Description |
|---|---|---|
status | string | open or closed. |
subject | string | New thread subject. |
DELETE/v1/messages/:threadId
POST/v1/messages/:threadId/messages
| Parameter | Type | Description |
|---|---|---|
bodyrequired | string | Message text. |
sender | string | end_user, member, or system. Defaults to member. |
locale | string | Language for the notification emails this triggers (en, de, es, fr, it, ja, ru, zh). Defaults to en. |
Writes require paid-plan API access Pro.
Notifications: a write reaches people, routed by who spoke.
| Sender | Who is notified |
|---|---|
end_user | The project’s members, on their notification preferences — plus Slack, outbound webhooks, and push |
member | The end user, by email, threaded into the conversation |
system | Nobody |
POST /v1/messages with a body records that body as a member message, so it emails the
end user. Delivery runs after the response, so notifications never delay your request.
Pass an optional locale (en, de, es, fr, it, ja, ru, zh) on any write to
choose the language of the emails it triggers. Absent → English.
List threads
curl "https://api.supdesk.app/v1/messages?status=open&limit=20" \
-H "Authorization: Bearer sd_live_..."{
"data": [
{
"id": "t_abc123",
"end_user_id": "eu_xyz789",
"subject": "Question about export feature",
"status": "open",
"created_at": "2026-07-01T10:00:00Z"
}
],
"pagination": { "limit": 20, "offset": 0, "has_more": false }
}Get a thread
curl "https://api.supdesk.app/v1/messages/t_abc123" \
-H "Authorization: Bearer sd_live_..."{
"data": {
"id": "t_abc123",
"end_user_id": "eu_xyz789",
"subject": "Question about export feature",
"status": "open",
"created_at": "2026-07-01T10:00:00Z",
"messages": [
{
"id": "m_123",
"sender": "end_user",
"member_id": null,
"body": "I'm having trouble with the export button.",
"via": "email",
"created_at": "2026-07-01T10:05:00Z"
},
{
"id": "m_456",
"sender": "member",
"member_id": "mem_789",
"body": "Which browser are you using? This might be a Safari-specific issue.",
"via": "web",
"created_at": "2026-07-01T10:10:00Z"
}
]
}
}Create a thread
curl -X POST https://api.supdesk.app/v1/messages \
-H "Authorization: Bearer sd_live_..." \
-H "Content-Type: application/json" \
-d '{
"email": "jamie@example.com",
"name": "Jamie",
"subject": "Question about export feature",
"body": "I'm having trouble with the export button on Safari."
}'{
"data": {
"id": "t_abc123",
"end_user_id": "eu_xyz789",
"subject": "Question about export feature",
"status": "open",
"created_at": "2026-07-01T10:00:00Z",
"messages": [
{
"id": "m_456",
"sender": "member",
"member_id": "mem_789",
"body": "I'm having trouble with the export button on Safari.",
"via": "web",
"created_at": "2026-07-01T10:00:00Z"
}
]
}
}Update a thread
curl -X PATCH https://api.supdesk.app/v1/messages/t_abc123 \
-H "Authorization: Bearer sd_live_..." \
-H "Content-Type: application/json" \
-d '{
"status": "closed",
"subject": "Resolved: Export button issue"
}'{
"data": {
"id": "t_abc123",
"end_user_id": "eu_xyz789",
"subject": "Resolved: Export button issue",
"status": "closed",
"created_at": "2026-07-01T10:00:00Z"
}
}Delete a thread
curl -X DELETE https://api.supdesk.app/v1/messages/t_abc123 \
-H "Authorization: Bearer sd_live_..."Returns 204 No Content on success.
Add a message to a thread
curl -X POST https://api.supdesk.app/v1/messages/t_abc123/messages \
-H "Authorization: Bearer sd_live_..." \
-H "Content-Type: application/json" \
-d '{
"body": "This issue has been fixed in version 1.4.0.",
"sender": "member"
}'{
"data": {
"id": "m_789",
"sender": "member",
"member_id": "mem_789",
"body": "This issue has been fixed in version 1.4.0.",
"via": "web",
"created_at": "2026-07-01T11:00:00Z"
}
}Last updated on