Skip to content

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.

GET/api/conversations/{id}/reads
  • Bearer API key
  • Scope: read, write or admin
  • or app session
  • Workspace: X-Tenant-ID (optional with a key)

Path parameters

  • iduuidrequired

    Conversation id.

    Example
    6a1f3c52-8e0b-4d7a-b1f2-93c4d5e6f708

Headers

  • Authorizationstringrequired

    Your API key as Bearer <key>. The word Bearer and the space are case-sensitive. Browser clients signed in to the app use the session cookie instead.

    Constraints
    Keys start with pk_live_ and are 56 characters long.
    Example
    Bearer pk_live_…
  • X-Tenant-IDuuidoptional

    Workspace 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.

    Example
    8d0f6c2e-3b1a-4c55-9a7e-2f4b6d1e9c30

Response

200 OKapplication/json

  • itemsarray<object>

    One item per teammate.

    Show child attributesHide child attributes4
    • user_iduuid

      The teammate’s user id.

    • namestring

      Their name.

    • last_read_message_attimestamp

      Time of the newest message they have seen (compare it with a message’s timestamp). RFC 3339.

    • read_attimestamp

      When they saw it. RFC 3339.

Status codes

  • 200OK. The teammates who have seen the conversation. items is 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-ID header or tenant query 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, with code: "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.