---
title: "List Support Desk conversations"
method: GET
path: "/support/conversations"
---

# List Support Desk conversations

`GET /support/conversations`

## Request

- Base URL: `https://api.web2wave.com/api`
- URL: `https://api.web2wave.com/api/support/conversations`
- Auth: API key in header `api_key`

Customer conversations of the project, newest activity first. The same filters as the cabinet inbox.
Senders on the project's "Mute emails" list never appear. Needs the Support Desk enabled and covered by the
trial, a subscription or a grant (403 otherwise). Roles: Owner, Administrator, Support Manager (and project keys).

`counts` is the whole backlog of the desk, independent of the filters and the page.

## Query parameters

- `status` 'active' | 'all' | 'unread' | 'open' | 'closed'
- `assignee` string
- `request_type` 'refund_charge' | 'cancel_subscription' | 'pricing_payment' | 'access_login' | 'bug' | 'how_to' | 'data_compliance' | 'services_partnership' | 'feature_feedback' | 'spam_auto' | 'other' | 'none'
- `q` string
- `from` string, date
- `to` string, date
- `include_demo` boolean
- `order` 'desc' | 'asc'
- `page` integer
- `per_page` integer

## Headers

- `api_key` string, required
- `X-Web2wave-Project-Id` string

## Response `200`

Conversations

- object
  - `success` boolean
  - `conversations` SupportConversation[]
    - `id` integer
    - `user_email` string, email: The customer's address
    - `subject` string, nullable
    - `status` 'unread' | 'open' | 'closed': `unread` = waiting, nobody opened it; `open` = being handled; `closed` = done. A new message from the customer sets it back to `unread`.
    - `status_label` string
    - `assignee` object, nullable
      - `id` integer
      - `name` string
    - `request_type` 'refund_charge' | 'cancel_subscription' | 'pricing_payment' | 'access_login' | 'bug' | 'how_to' | 'data_compliance' | 'services_partnership' | 'feature_feedback' | 'spam_auto' | 'other', nullable: What the customer asks about. Set by AI when the conversation starts, or by hand. `null` = not classified.
    - `request_type_label` string, nullable
    - `request_type_source` 'ai' | 'manual', nullable
    - `request_type_confidence` integer, nullable: AI confidence, 0–100
    - `first_message_preview` string, nullable
    - `last_message_preview` string, nullable
    - `first_message_at` string, date-time, nullable
    - `last_message_at` string, date-time, nullable
    - `last_user_message_at` string, date-time, nullable
    - `last_agent_reply_at` string, date-time, nullable: Last reply written by a person (automatic messages do not count)
    - `auto_replied_at` string, date-time, nullable
    - `auto_followup_at` string, date-time, nullable
    - `is_demo` boolean: The built-in welcome conversation; nothing sent to it leaves the system
    - `created_at` string, date-time, nullable
  - `pagination` object
    - `page` integer
    - `per_page` integer
    - `total` integer
    - `last_page` integer
  - `counts` object
    - `unread` integer
    - `open` integer
    - `closed` integer
    - `unassigned` integer: Not closed and without an assignee

## Other responses

- `401`: A valid API key is required
- `403`: Role without the `support` section, or Support Desk is not enabled / not covered by a trial or subscription
- `422`: Invalid filter

## Changes

- **2026-11-03** `eb8b2d9124ac`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/web2wave/apis/web2wave-api/changes/support/conversations/get.md)

---

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