Search docs ⌘K
esc
Type to search across all documentation pages
Messaging

Participants

Add, list, update, and remove participants in a conversation. Participants represent users or external identities within a conversation.

Add a participant

POST
/modules/messaging/conversations/{conversation_id}/participants
messaging:write

Add a participant to a conversation.

curl
curl -X POST https://api.saasignal.saastemly.com/modules/messaging/conversations/{conversation_id}/participants \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"external_id":"...","display_name":"..."}'
json — 201 Created
{ "status": "ok" }
Path param
Type
Description
conversation_id required
string
Body field
Type
Description
external_id required
string
display_name required
string
max 128 chars
role
string
values: owner, member, readonlydefault member
metadata
object
Error responses
401 Unauthorized
402 Insufficient tokens
409 Conflict
422 Unprocessable entity
429 Rate limited

List participants

GET
/modules/messaging/conversations/{conversation_id}/participants
messaging:read

List participants of a conversation.

curl
curl https://api.saasignal.saastemly.com/modules/messaging/conversations/{conversation_id}/participants \
  -H "Authorization: Bearer sk_live_..."
json — 200 OK
{ "status": "ok" }
Path param
Type
Description
conversation_id required
string
Error responses
401 Unauthorized
402 Insufficient tokens
429 Rate limited

Update a participant

PATCH
/modules/messaging/conversations/{conversation_id}/participants/{participant_id}
messaging:write

Update a participant in a conversation.

curl
curl -X PATCH https://api.saasignal.saastemly.com/modules/messaging/conversations/{conversation_id}/participants/{participant_id} \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{}'
json — 200 OK
{ "status": "ok" }
Path param
Type
Description
conversation_id required
string
participant_id required
string
Body field
Type
Description
display_name
string
max 128 chars
role
string
values: owner, member, readonly
last_read_at
string (ISO 8601)
pattern ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
metadata
object
Error responses
401 Unauthorized
402 Insufficient tokens
404 Not found
429 Rate limited

Remove a participant

DELETE
/modules/messaging/conversations/{conversation_id}/participants/{participant_id}
messaging:write

Remove a participant from a conversation.

curl
curl -X DELETE https://api.saasignal.saastemly.com/modules/messaging/conversations/{conversation_id}/participants/{participant_id} \
  -H "Authorization: Bearer sk_live_..."
json — 200 OK
{ "status": "ok" }
Path param
Type
Description
conversation_id required
string
participant_id required
string
Error responses
401 Unauthorized
402 Insufficient tokens
404 Not found
429 Rate limited