Skip to Content

Messages

Manage a project’s 1:1 message threads and append messages to them.

GET/v1/messages

ParameterTypeDescription
statusstringFilter threads: open or closed.
limitintegerPage size. Defaults to 20.
offsetintegerNumber of items to skip. Defaults to 0.

GET/v1/messages/:threadId

POST/v1/messages

ParameterTypeDescription
emailrequiredstringEmail of the end user the thread is with.
namestringDisplay name for the end user.
subjectstringThread subject.
bodystringOptional first message in the thread.
localestringLanguage for the notification emails this triggers (en, de, es, fr, it, ja, ru, zh). Defaults to en.

PATCH/v1/messages/:threadId

ParameterTypeDescription
statusstringopen or closed.
subjectstringNew thread subject.

DELETE/v1/messages/:threadId

POST/v1/messages/:threadId/messages

ParameterTypeDescription
bodyrequiredstringMessage text.
senderstringend_user, member, or system. Defaults to member.
localestringLanguage 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.

SenderWho is notified
end_userThe project’s members, on their notification preferences — plus Slack, outbound webhooks, and push
memberThe end user, by email, threaded into the conversation
systemNobody

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