---
title: "List workspace inbox conversations"
method: GET
path: "/v2/ticket/ticket-conversations"
tags: ["Ticket V2"]
---

# List workspace inbox conversations

`GET /v2/ticket/ticket-conversations`

## Request

- Base URL: `https://api.spurnow.com`
- URL: `https://api.spurnow.com/v2/ticket/ticket-conversations`
- Auth: HTTP bearer

Returns a cursor-paginated list of 1:1, email, and WhatsApp group conversations. For the next page, send back both cursor and lastId from the previous response.

## Query parameters

- `channelId` string
- `ticketStatus` string, nullable
- `query` string
- `cursor` string
- `lastId` string
- `channels` string
- `unread` string
- `scroll` string
- `isAssigned` string
- `teamId` string
- `userId` string
- `hours` string
- `days` string
- `sortBy` string
- `requestId` string
- `channelId` string
- `ticketStatus` string, nullable
- `query` string
- `cursor` string
- `lastId` string
- `channels` string
- `unread` string
- `scroll` string
- `isAssigned` string
- `teamId` string
- `userId` string
- `hours` string
- `days` string
- `sortBy` string
- `requestId` string

## Response `200`

- TicketConversationV2Response
  - `conversations` MConversationV2[], required
    - `id` union, required: Numeric for native channels; `eml_<n>` string for email threads.
      - number
      - string
    - `content` object, nullable: Last-message payload; channel-specific shape. Null for email threads.
    - `lastMessagePreview` string, required: Plaintext snippet of last message, max 150 chars
    - `lastMessageType` 'text' | 'image' | 'video' | 'document' | 'audio' | 'voice' | 'sticker' | 'template' | 'contacts' | 'location' | 'reaction' | 'call' | 'unknown', required: Type of the last message
    - `lastMessageSentByUs` boolean, required: Whether the last message was sent by us (true) or the customer (false)
    - `lastMessageStatus` 'sent' | 'delivered' | 'read', required: Delivery status of the last message
    - `lastMessageIsNote` boolean, required: Whether the last message is a note
    - `lastMessageIsDeleted` boolean: Whether the last message was deleted (content cleared by the Meta webhook).
    - `subject` string, nullable: Email threads and WhatsApp groups only: the thread/group subject, shown as the list-row title.
    - `isGroup` boolean: True for WhatsApp group conversations (id is `grp_<id>`); absent for 1:1 rows.
    - `groupLifecycleStatus` 'creating' | 'active' | 'suspended' | 'deleted': WhatsApp groups only: lifecycle state of the group. `creating` marks a pending group still waiting for Meta to confirm creation.
    - `assignedAgentId` number, nullable: Id of the agent this conversation is assigned to, or null when unassigned. Surfaced so the Team view can group the queue by assignee.
    - `assignedTeamId` number, nullable: Id of the team this conversation is assigned to, or null when unassigned.
    - `ticketId` number
    - `contactId` number
    - `automationEnabled` boolean, required
    - `name` string
    - `profilePicUrl` string
    - `username` string, nullable, required
    - `channel` string, required
    - `sentDateTime` string, date-time
    - `createdAt` string, date-time, required
    - `unreadCount` number
    - `channelId` number
  - `cursor` string
  - `lastId` number
  - `requestId` string
  - `hasMore` boolean, required: Whether more results are available

## Other responses

- `default`

---

[API](https://skmtc.dev/spurnow/apis/spur-apis.md) - [All operations](https://skmtc.dev/spurnow/apis/spur-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/spurnow/apis/spur-apis/revisions/27ca7bf002cb?raw)
