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

# List v2 conversations

`GET /v1/v2/conversations`

## Query parameters

- `status` string, nullable
- `channel` string, nullable
- `end_user_id` string, uuid, nullable
- `assigned_agent_id` string, uuid, nullable
- `priority` string, nullable
- `started_after` string, date-time, nullable — Lower-bound (inclusive) on conversation ``started_at``.
- `started_before` string, date-time, nullable — Upper-bound (inclusive) on conversation ``started_at``.
- `q` string, nullable — Case-insensitive substring match on subject/summary.
- `eval_filter` 'has_evals' | 'no_evals' | 'all_passed' | 'any_failed', nullable
- `limit` integer
- `cursor` string, nullable

## Response `200`

Successful Response

- CursorPageSessionResponse
  - `items` SrcConversationSchemasSessionResponse[], required
    - `id` string, uuid, required
    - `organization_id` string, uuid, required
    - `end_user_id` string, uuid, required
    - `channel` string, required
    - `origin` 'inbound' | 'outbound', nullable
    - `external_session_id` string, nullable
    - `status` 'queued' | 'ringing' | 'active' | 'paused' | 'waiting_for_human' | 'transferred' | 'awaiting_approval' | 'closed' | 'expired' | 'error' | 'superseded', required
    - `session_type` 'live' | 'test' | 'simulation'
    - `priority` 'low' | 'normal' | 'high' | 'urgent', required
    - `subject` string, nullable
    - `assigned_agent_id` string, uuid, nullable
    - `retention_policy_id` string, uuid, nullable
    - `summary` string, nullable
    - `metadata` object
    - `context_variables` object
    - `message_count` integer, required
    - `first_message_at` string, date-time, nullable
    - `last_message_at` string, date-time, nullable
    - `started_at` string, date-time, required
    - `ended_at` string, date-time, nullable
    - `closed_at` string, date-time, nullable
    - `ttl_expires_at` string, date-time, nullable
    - `retention_expires_at` string, date-time, nullable
    - `archived_at` string, date-time, nullable
    - `memory_synced` boolean
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `duration_ms` integer, nullable
    - `summary_preview` string, nullable
    - `has_recording` boolean
    - `eval_summary` SessionEvalSummary — Rollup of eval runs that targeted a session. `succeeded` = runs where status='completed' AND every score has passed=true. `failed` = total - succeeded - pending (failed-status runs + completed-but-not-all-passed). `pending` = runs still queued or running. The `critical_*` counterparts restrict the same aggregation to runs whose binding was marked `is_critical=True` (snapshotted onto the run). They drive the session headline pill — non-critical evals still run and display but don't move the verdict. `eval_status` collapses the critical counts to a single headline label (`none` when no criticals are configured).
      - `total` integer
      - `succeeded` integer
      - `failed` integer
      - `pending` integer
      - `critical_total` integer
      - `critical_succeeded` integer
      - `critical_failed` integer
      - `critical_pending` integer
      - `eval_status` 'success' | 'partial' | 'failure' | 'pending' | 'none'
  - `next_cursor` string, nullable
  - `has_more` boolean, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/oneloop-hq/apis/feather-api.md) · [All operations](https://skmtc.net/oneloop-hq/apis/feather-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/oneloop-hq/feather-api/versions/888bdd5c076e/schema)
