---
title: "Fetch chat list (inbox)"
method: GET
path: "/chats"
tags: ["Chats"]
---

# Fetch chat list (inbox)

`GET /chats`

Retrieve the chat list (inbox) for the authenticated org/user, with optional filtering and cursor-based pagination.

## Query parameters

- `limit` number
- `status` 'all' | 'unread' | 'unresolved' | 'done' | 'waiting_for_response' | 'open' | 'open_cart'
- `tags` string
- `assignedUserPhone` string
- `wabaNumbers` string
- `instagramHandles` string
- `nextChatId` string
- `nextChatTimestamp` number

## Response `200`

Success

- object
  - `chats` object[]
    - `chatType` string — Type of chat. INDIVIDUAL for 1:1 customer chats (WhatsApp and Instagram), WA_GROUP for WhatsApp groups.
    - `name` string
    - `phoneNumber` string, nullable — Customer phone number (digits only, no leading +). Present for WhatsApp INDIVIDUAL chats. Null for Instagram chats.
    - `imageUrl` string, nullable
    - `unreadCount` number
    - `isDone` boolean
    - `optIn` boolean — Whether the customer has opted in to receive messages. Always false for Instagram chats.
    - `chatUpdatedTime` number — Epoch milliseconds of the last chat update.
    - `lastMessageTime` number — Epoch milliseconds of the last message in the chat.
    - `wabaNumber` string, nullable — Channel identifier. For WhatsApp: the WABA phone number (digits only, no leading +). For Instagram: the account handle without the @ prefix (e.g. myaccount).
    - `wabaPhoneName` string, nullable
    - `wabaDisplayName` string, nullable
    - `assignedUserName` string, nullable
    - `assignedUserNumber` string, nullable — Phone number of the assigned agent (digits only, no leading +). Null if unassigned.
    - `tagNames` string[]
    - `customFields` object[]
      - `name` string
      - `type` string
      - `value` string, nullable
      - `values` object[] — Present for multi_select type fields.
    - `lastMessage` object — Last message in the chat. Internal IDs are stripped from this object.
    - `isSlaActive` boolean
    - `slaDueDate` string, date-time, nullable
    - `slaBreachLevel` string, nullable
    - `eligibleMessageTypes` string[]
    - `isReminderTriggered` boolean
    - `providerType` 'INSTAGRAM' | 'GENERIC_CHANNEL' | 'null', nullable — Channel provider type. Null for WhatsApp chats. INSTAGRAM for Instagram DMs.
  - `paginationOptions` object
    - `hasMoreChats` boolean
    - `nextChatId` string, nullable — Pass as the nextChatId query param to fetch the next page. Null when there are no more chats.
    - `nextChatTimestamp` number, nullable — Pass as the nextChatTimestamp query param to fetch the next page (epoch milliseconds).

## Other responses

- `400` — Incorrect payload
- `401` — Unauthorized

---

[API](https://skmtc.net/doubletick/apis/doubletick-public-apis.md) · [All operations](https://skmtc.net/doubletick/apis/doubletick-public-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/doubletick/doubletick-public-apis/versions/bba484527d34/schema)
