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

# List conversations

`GET /conversations`

## Request

- Base URL: `https://api.meetdarwin.ai/v1`
- URL: `https://api.meetdarwin.ai/v1/conversations`
- Auth: HTTP bearer

Requires the `conversations:read` scope.

## Query parameters

- `limit` integer
- `starting_after` string
- `updated_since` string, date-time
- `created_since` string, date-time
- `has_lead` boolean
- `booked` boolean
- `handoff` boolean
- `graded` boolean
- `page` string
- `experiment` string
- `include_test` boolean
- `expand[]` string

## Response `200`

OK

- object
  - `object` 'list', required
  - `data` Conversation[], required
    - `id` string, required
    - `object` 'conversation', required
    - `created_at` string, date-time, nullable, required
    - `updated_at` string, date-time, nullable, required
    - `page_url` string, nullable, required
    - `page_path` string, nullable, required
    - `outcome` 'meeting' | 'lead' | 'handoff' | 'none', required
    - `message_count` integer, required
    - `preview` string, nullable, required: The visitor's first message, up to 160 characters.
    - `contact` string, nullable, required: The contact's id. Needs contacts:read.
    - `lead` object, required
      - `first_name` string, nullable, required
      - `last_name` string, nullable, required
      - `email` string, nullable, required
      - `captured_at` string, date-time, nullable, required
    - `booking` object, required
      - `started_at` string, date-time, nullable, required
      - `booked_at` string, date-time, nullable, required
      - `booker_email` string, nullable, required
    - `handoff` object, nullable, required
      - `requested_at` string, date-time, nullable, required
      - `reason` string, nullable, required
    - `visitor` object, required
      - `device` string, nullable, required
      - `country` string, nullable, required
      - `region` string, nullable, required
      - `city` string, nullable, required
      - `referrer` string, nullable, required
      - `source` string, nullable, required
      - `utm` object, required
      - `ai_referred` boolean, required: Arrived from an AI assistant (ChatGPT, Perplexity, Claude, Gemini, Copilot…).
      - `returning` boolean, nullable, required
      - `first_seen_at` string, date-time, nullable, required
      - `last_seen_at` string, date-time, nullable, required
    - `opening` object, nullable, required
      - `experiment` string, required
      - `variant` string, nullable, required
    - `evaluation` object, nullable, required: Darwin's grading, once the conversation has gone quiet.
      - `intent` string, nullable, required
      - `buying_stage` string, nullable, required
      - `qualification_score` number, nullable, required: 0 to 10.
      - `meeting_intent` number, nullable, required: 0 to 10.
      - `understood` boolean, nullable, required
      - `failure_category` string, nullable, required
      - `abandonment_reason` string, nullable, required
      - `recommended_improvement` string, nullable, required
      - `evaluated_at` string, date-time, nullable, required
    - `test` boolean, required
    - `admin_url` string, required: This conversation in the Darwin admin, for a link in Slack or a CRM note.
    - `messages` object[]: With expand[]=messages.
      - `id` string, required
      - `role` 'user' | 'assistant' | 'system', required
      - `text` string, nullable, required
      - `created_at` string, date-time, nullable, required
      - `tools` string[], required: What the agent did in this turn, in words (searched the website, offered a meeting…).
  - `has_more` boolean, required
  - `next_cursor` string, nullable, required

## Other responses

- `400`: Invalid request (`invalid_request`, `unsupported_version`).
- `401`: Missing or invalid key (`authentication_required`, `invalid_api_key`).
- `402`: The workspace must add a card before the API can be used (`payment_required`).
- `403`: The key lacks the scope (`insufficient_scope`), the feature is off (`feature_disabled`), or the workspace's plan doesn't include it (`plan_required`, with `required_plan`).
- `404`: No such object in this workspace (`not_found`).
- `409`: Conflicts with the current state (`conflict`, `idempotency_key_in_use`), or the change would leave a live agent with no calendar or live form (`goal_required`).
- `422`: Refused by a rule (`unprocessable`, `idempotency_key_reused`).
- `429`: Rate limited (`rate_limited`) or a monthly allowance used (`quota_exceeded`); see Retry-After.

## Changes

- **2026-10-20** `f93b0bcb454a`: 24 info
  - added the optional property `feature` to the response with the `400` status
  - added the optional property `feature` to the response with the `401` status
  - added the optional property `feature` to the response with the `402` status
  - added the optional property `feature` to the response with the `403` status
  - …20 more

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

---

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