---
title: "Get a conversation with its messages and summary"
method: GET
path: "/conversations/{id}"
tags: ["Chat"]
---

# Get a conversation with its messages and summary

`GET /conversations/{id}`

## Request

- Base URL: `https://api.hypamoon.com/api/v1`
- URL: `https://api.hypamoon.com/api/v1/conversations/{id}`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://app.hypamoon.com/oauth/authorize`, token URL `https://api.hypamoon.com/oauth/token`, scopes: `chat:read`)

One conversation with all its messages, oldest first, and the summary once it is closed. The messages are only here, never in a webhook.

## Path parameters

- `id` string, uuid, required

## Response `200`

The conversation.

- ConversationDetail: A conversation with its messages and summary.
  - `id` string, uuid, required: The id of the conversation.
  - `channel` 'chat' | 'widget', required: The channel: chat when your app started it with an API key, widget when a visitor started it in the chat widget on a website (public chat token).
  - `status` 'open' | 'closed', required: open: takes messages. closed: takes no more messages; the summary follows.
  - `reference` string, nullable, required: Your own id for this conversation, as you sent it.
  - `metadata` object, required: Your metadata, as you sent it. The assistant never sees it.
  - `customer` object, required: What your app told us about the customer when the conversation started.
    - `name` string, nullable, required
    - `phone` string, nullable, required
    - `email` string, nullable, required
  - `language` string, required: The language the assistant opened in (nl, en, de, fr or es). It replies in the customer's language when that is one of its languages.
  - `turns` integer, required: Customer messages answered so far.
  - `max_turns` integer, required: After this many turns the conversation closes (close_reason turn_limit).
  - `created_at` string, date-time, required: When the conversation started.
  - `last_message_at` string, date-time, nullable, required: When the last message was sent.
  - `closed_at` string, date-time, nullable, required: When the conversation closed.
  - `close_reason` 'closed' | 'inactive' | 'turn_limit' | 'null', nullable, required: closed: POST /conversations/{id}/close. inactive: no message for 30 minutes. turn_limit: max_turns reached.
  - `has_summary` boolean, required: Whether the summary is ready. Fetch it with GET /conversations/{id}.
  - `summary_ready_at` string, date-time, nullable, required: When the summary was ready.
  - `test` boolean, required: true for a conversation in test mode (hm_test_): real replies, free, with a low daily limit.
  - `messages` ChatMessage[], required: All messages, oldest first, starting with the fixed greeting.
    - `id` string, uuid, required: The id of the message.
    - `role` 'customer' | 'assistant', required: Who wrote it: the customer, or the assistant (also the fixed greeting).
    - `text` string, required: The text.
    - `created_at` string, date-time, required: When the message was stored.
  - `summary` Summary, required: The summary of a call.
    - `text` string, nullable, required: The summary in a few sentences.
    - `topics` string[], required: What the call was about.
    - `sentiment` 'positive' | 'neutral' | 'negative' | 'null', nullable, required: The mood of the caller.
    - `action_items` string[], required: What someone has to do after this call.
    - `next_step` string, nullable, required: The agreed next step, if any.

## Other responses

- `401`: Unauthorized: unauthorized, missing_api_key, invalid_api_key, api_key_revoked, project_deleted.
- `403`: Forbidden: project_not_enabled, key_mode_mismatch, missing_scope, verification_required.
- `404`: Not Found: not_found.
- `429`: Too Many Requests: rate_limited.
- `500`: Internal Server Error: internal_error.
- `503`: Service Unavailable: service_unavailable.

---

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