# list_chats: List chats

List your conversations, newest first. This action only reads; it changes nothing. Plan: Free and Connect.

```
POST https://api.heyreagent.com/v1/actions/list_chats
Authorization: Bearer YOUR_KEY
content-type: application/json

{}
```

## What you give it

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

## What you get back

- `returned`: number
- `nextCursor`: a cursor
- `chats[].id`: a chat id
- `chats[].accountType`: WHATSAPP | LINKEDIN | SLACK | TWITTER | MESSENGER | INSTAGRAM | TELEGRAM
- `chats[].providerId`: string
- `chats[].attendeeProviderId`: a member id
- `chats[].name`: string or null
- `chats[].type`: 0 | 1 | 2
- `chats[].timestamp`: string or null
- `chats[].unreadCount`: number
- `chats[].archived`: 0 | 1
- `chats[].mutedUntil`: -1 | string or null
- `chats[].readOnly`: 0 | 1 | 2
- `chats[].disabledFeatures`: reactions | reply[]
- `chats[].subject`: string
- `chats[].organizationId`: string
- `chats[].mailboxId`: string
- `chats[].contentType`: inmail | sponsored | linkedin_offer
- `chats[].folder`: INBOX | INBOX_LINKEDIN_CLASSIC | INBOX_LINKEDIN_RECRUITER | INBOX_LINKEDIN_SALES_NAVIGATOR | INBOX_LINKEDIN_ORGANIZATION | INBOX_INSTAGRAM_GENERAL | PENDING | OTHER | SPAM | ARCHIVED | HIDDEN | UNKNOWN | string[]
- `chats[].pinned`: 0 | 1

## Good to know

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

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