---
title: "List chats"
method: POST
path: "/v1/actions/list_chats"
tags: ["Messages"]
---

# List chats

`POST /v1/actions/list_chats`

## Request

- Base URL: `https://api.heyreagent.com`
- URL: `https://api.heyreagent.com/v1/actions/list_chats`
- Auth: HTTP bearer

List your conversations, newest first.

A one-to-one conversation has no name: read who it is with from list_chat_participants.

attendeeProviderId is optional: a conversation can come without it.

A real answer also carries chats[].unread, a number, beside unreadCount; the published definition does not list it.

One person has a different id in each LinkedIn product, and no published text says which one a Sales Navigator or Recruiter conversation carries. Treat these ids as member ids only for a conversation in the ordinary inbox (folder says which inbox it is in).

Docs: https://heyreagent.com/docs/actions/list_chats

## Request body

- object
  - `unread` boolean: true: only unread conversations. false: only read ones. Omit for both.
  - `before` string, date-time: Only items created before this moment (ISO 8601 UTC, e.g. 2026-10-01T00:00:00.000Z).
  - `after` string, date-time: Only items created after this moment (ISO 8601 UTC, e.g. 2026-10-01T00:00:00.000Z).
  - `limit` number: How many to return (1–250, default 50).
  - `cursor` string: nextCursor from the previous call, to get the next page. Keep the other arguments the same.
  - `connectionId` string: Which of your LinkedIn accounts to act from (its id from list_linkedin_accounts). Omit to use your first live one.

## Response `200`

It worked. Inside result: returned, nextCursor, chats[].id, chats[].accountType, chats[].providerId, chats[].attendeeProviderId, chats[].name, chats[].type, chats[].timestamp, chats[].unreadCount, chats[].archived, chats[].mutedUntil, chats[].readOnly, chats[].disabledFeatures, chats[].subject, chats[].organizationId, chats[].mailboxId, chats[].contentType, chats[].folder, chats[].pinned.

- Worked
  - `ok` true, required
  - `result` object, required: What was asked for. A field that does not apply is left out, or is null.

## Other responses

- `default`: It did not work. The message says why, in plain English.

---

[API](https://skmtc.dev/heyreagent/apis/heyreagent-api.md) · [All operations](https://skmtc.dev/heyreagent/apis/heyreagent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/heyreagent/apis/heyreagent-api/revisions/917360c5f841?raw)
