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

# List Conversations

`GET /conversations/list`

Get list of organization conversations.

For org:admin users (managers/web dashboard): Returns ALL organization conversations
For non-admin users (technicians/mobile app): Returns only their own conversations

Returns conversations sorted by most recent activity first.
Excludes archived conversations by default.

## Query parameters

- `include_archived` boolean

## Response `200`

Successful Response

- ConversationResponse[]
  - `id` string, uuid, required
  - `contact_id` string, nullable
  - `customer_phone` string, required
  - `customer_name` string, nullable
  - `customer_id` string, nullable
  - `followup_id` string, uuid, nullable
  - `conversation_status` string, nullable
  - `last_message_at` string, date-time, nullable
  - `last_message_body` string, nullable
  - `last_message_direction` string, nullable
  - `unread_count` integer, required
  - `is_archived` boolean, required
  - `created_at` string, date-time, required
  - `summary` string, nullable
  - `summary_generated_at` string, date-time, nullable
  - `call_to_action` string, nullable
  - `agent_context` string, nullable
  - `priority` string, nullable
  - `intent_updated_at` string, date-time, nullable
  - `technician_name` string, nullable
  - `technician_first_name` string, nullable
  - `technician_last_name` string, nullable
  - `job_id` string, nullable
  - `followup_status` string, nullable
  - `followup_kind` string, nullable
  - `min_estimate_value` number, nullable
  - `max_estimate_value` number, nullable
  - `address` string, nullable
  - `won_amount` number, nullable
  - `lost_reason` string, nullable
  - `trade` string, nullable
  - `job_type` string, nullable
  - `customer_profile` CustomerProfileSidebar — Customer profile data for the CaseSidebar display.
    - `has_active_membership` boolean
    - `membership_type_name` string, nullable
    - `memberships` MembershipSidebar[]
      - `id` integer, required
      - `membership_type_name` string, nullable
      - `status` string, nullable
      - `from_date` string, nullable
      - `to_date` string, nullable
      - `billing_frequency` string, nullable
    - `total_jobs_count` integer
    - `total_revenue` number
    - `avg_job_value` number, nullable
    - `last_job_date` string, nullable
    - `customer_created_on` string, nullable
    - `st_customer_id` integer, nullable
    - `days_since_last_service` integer, nullable
    - `services_last_12_months` integer, nullable
    - `same_day_close_rate` number, nullable
    - `outreach_guidance` string, nullable
    - `equipment` EquipmentSidebar[], nullable
      - `name` string, nullable
      - `equipment_type` string, nullable
      - `installed_on` string, nullable
      - `manufacturer` string, nullable
      - `model` string, nullable
      - `manufacturer_warranty_end` string, nullable
    - `last_synced_at` string, nullable
  - `estimates_data` unknown[], nullable
    - unknown
  - `sold_estimate` object, nullable
  - `intent_priority` string, nullable
  - `triggered_by_tool` string, nullable
  - `source_system` string, nullable
  - `hcp_customer_id` string, nullable
  - `source` string, nullable
  - `aspire_engaged` boolean, nullable
  - `aspire_attempt_count` integer, nullable
  - `aspire_next_touch_at` string, nullable
  - `aspire_next_review_at` string, nullable
  - `aspire_last_reviewed_at` string, nullable
  - `aspire_review_reason` string, nullable
  - `aspire_review_decision` string, nullable
  - `aspire_details` object, nullable

## Other responses

- `404` — Not found
- `422` — Validation Error

---

[API](https://skmtc.dev/noso/apis/crucible-backend-api.md) · [All operations](https://skmtc.dev/noso/apis/crucible-backend-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/noso/crucible-backend-api/revisions/d96feef8e2ef/schema)
