List Conversations
Overview
Retrieve a paginated list of conversations the signed-in chat user participates in - for the inbox sidebar, conversation search, and filtered views inside the messaging UI.
Each row includes conversation type, participant summaries, group details when relevant, unread / pin / star counts, timestamps, and a preview of the last message so you can render the inbox sidebar and jump into a thread.
When to use this endpoint?
Use List Conversations when:
- Bootstrapping the chat inbox on app load or after login.
- Paginating the conversation list as the user scrolls the sidebar.
- Searching conversations by name or other searchable fields via
search. - Filtering to DMs vs groups with
conversationType, or scoping by custommetadata.category.
Part of the Chat Conversation APIs for the chat package/SDK (not Platform → Conversations). Requires a chat user Access Token for the signed-in messaging participant.
Response Data
Each item in data.list typically includes:
data.pagination includes currentPage, totalCount, hasNextPage, hasPreviousPage, and pageSize.
{baseUrl}/api/{apiVersion}/conversation/list?limit=10&page=1&search=chat1- Authentication
- Required (Bearer token)
- Tenant-scoped
- Yes (tenant DB - requires x-client-id)
Request Headers
Query Parameters
Success Response (HTTP 200 OK)
On success, the API returns list and pagination. Use lastMessage for inbox previews, unreadCount for badges, and updatedAt for sort order.
{ "success": true, "message": "Conversation list fetched successfully", "data": { "list": [ { "_id": "6a4b...3f8b", "conversationType": "group", "participants": [ { "_id": "6a47...adb", "name": "Iraa" }, { "_id": "6a4a...3985", "name": "Riva R" } ], "owner": "6a4a...8cb7", "groupName": "Group Name", "groupDescription": "Group Description", "unreadCount": 0, "createdAt": "2026-07-06T04:57:46.196Z", "updatedAt": "2026-07-10T09:39:25.210Z", "lastMessage": { "_id": "6a4b...3faf", "content": "Hello", "type": "text", "status": "sent", "createdAt": "2026-07-06T04:57:55.851Z" }, "pinnedCount": 0, "starredCount": 0 } ], "pagination": { "currentPage": 1, "totalCount": 1, "hasNextPage": false, "hasPreviousPage": false, "pageSize": 10 } }, "error": null}Common Errors
List fails when the token is missing, invalid, or the user lacks access to conversations in this tenant.
HTTP 401 Unauthorized - No token
{ "success": false, "message": "No token, authorization denied", "data": null, "error": "Unauthorized"}HTTP 403 Forbidden - Access denied
{ "success": false, "message": "Access denied: insufficient permissions", "data": null, "error": null}Best Practices
- Load page 1 on inbox mount; fetch the next page when the user scrolls near the bottom of the sidebar.
- Debounce
searchinput (300–500 ms) before calling the API to avoid excessive requests. - Merge list results with real-time socket events so new messages update previews without a full refetch.
- Use
conversationTypetabs or filters in the UI rather than client-side filtering of large lists. - Always send tenant headers with the chat user Bearer token over HTTPS.
Inbox ready
Bind the list to your conversation sidebar. Tap a row to open the thread with Get Conversation Info, then load messages for the active chat.