---
title: "List conversations"
method: GET
path: "/v1/conversations"
tags: ["Conversations"]
---

# List conversations

`GET /v1/conversations`

## Request

- Base URL: `https://api.samva.dev`
- URL: `https://api.samva.dev/v1/conversations`
- Auth: API key in header `x-api-key`

Returns conversation summaries, most recently active first, filterable by status, channel, contact, and creation time (`after`, `before`). Pass `nextCursor` back as `cursor` for the next page; it is null on the last page. A conversation that gains activity while you page moves ahead of the cursor, so a walk lists each conversation at most once. Read a conversation's contacts, metadata, and resolution with `GET /v1/conversations/{id}`.

## Query parameters

- `limit` string, nullable
- `cursor` string
- `status` 'active' | 'waiting' | 'resolved' | 'escalated' | 'archived', nullable
- `channel` 'email', nullable
- `contactId` string
- `after` string, nullable
- `before` string, nullable

## Response `200`

ConversationPage

- ConversationPage
  - `items` ConversationSummary[], required
    - `id` string, required
    - `title` string, nullable, required
    - `externalId` string, nullable, required
    - `status` 'active' | 'waiting' | 'resolved' | 'escalated' | 'archived', required
    - `primaryChannel` 'email', required
    - `channels` string[], required
    - `priority` integer, required
    - `urgency` 'low' | 'medium' | 'high' | 'critical', required
    - `tags` string[], required
    - `isTest` boolean, required
    - `messageCount` integer, required
    - `lastActivityAt` string, required
    - `createdAt` string, required
  - `nextCursor` string, nullable, required

## Other responses

- `401`: UnauthorizedError
- `403`: ForbiddenError
- `422`: ValidationError
- `500`: InternalError
- `504`: GatewayTimeoutError

---

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