Conversations
Who has read it
Returns one item per teammate who has seen the conversation: how far they read (the time of the newest message they saw) and when. Every message with a timestamp up to last_read_message_at was seen by that person. Live listeners receive a conversation.read event when it changes.
- Bearer API key
- Scope:
read, write or admin - or app session
- Workspace:
X-Tenant-ID(optional with a key)
Path parameters
iduuidrequiredConversation id.
Headers
AuthorizationstringrequiredYour API key as
Bearer <key>. The wordBearerand the space are case-sensitive. Browser clients signed in to the app use the session cookie instead.X-Tenant-IDuuidoptionalWorkspace id. Optional with an API key (a key always acts in its own workspace); if you send it, it must match the key’s workspace. Required with a session cookie. You can pass
?tenant=<id>instead.
Response
200 OKapplication/json
itemsarray<object>One item per teammate.
Show child attributesHide child attributes4
user_iduuidThe teammate’s user id.
namestringTheir name.
last_read_message_attimestampTime of the newest message they have seen (compare it with a message’s
timestamp). RFC 3339.read_attimestampWhen they saw it. RFC 3339.
Status codes
- 200OK. The teammates who have seen the conversation.
itemsis empty when nobody has. - 400Bad request. The id in the path is not a valid UUID.
- 401Unauthorized. The API key is unknown, revoked or expired (
invalid or expired API key), or there is no key and no signed-in session (unauthorized). - 402Payment required. Only when subscriptions are enforced and the workspace has no active subscription. The body includes
code: "payment_required". - 403Forbidden. The
X-Tenant-IDheader ortenantquery does not match the API key’s workspace (API key belongs to a different workspace), a signed-in user is not a member of the workspace (forbidden), or the key is limited to other IP addresses (this API key is not allowed from your IP address, withcode: "ip_not_allowed"). - 404Not found. The conversation does not exist in this workspace, belongs to the inactive connection (QR vs Cloud API), or (for agents signed in to the app) is not assigned to you.
- 500Server error. Something went wrong on our side. Retry with backoff.
Reads belong to people signed in to the app; requests made with an API key never add an item. This is internal to your team: it does not send read receipts (blue ticks) to the contact.