---
title: "Get a chat"
method: GET
path: "/api/v2/projects/{slug}/chats/{chat_uuid}/"
tags: ["Chat"]
---

# Get a chat

`GET /api/v2/projects/{slug}/chats/{chat_uuid}/`

## Request

- Base URL: `https://app.biel.ai`
- URL: `https://app.biel.ai/api/v2/projects/{slug}/chats/{chat_uuid}/`
- Auth: API key in header `Authorization`

Retrieve a single conversation, including all of its messages ordered chronologically.

**Required permission:** `chats_read`

## Path parameters

- `slug` string, required
- `chat_uuid` string, uuid, required

## Response `200`

Chat retrieved successfully

- Chat: Lean chat representation returned by [`GET /api/v2/projects/{slug}/chats/`](/api/list-chats). Does not include messages; call [`GET /api/v2/projects/{slug}/chats/{chat_uuid}/`](/api/get-chat) to retrieve them.
  - `uuid` string, uuid, required: Chat UUID.
  - `status` 'ACTIVE' | 'ARCHIVED' | 'DELETED', required: Chat lifecycle status.
  - `url` string, nullable: URL where the chat was initiated, as supplied when the message was sent.
  - `email` string, nullable: Email or identifier supplied when the message was sent, for analytics tracking.
  - `metadata` string, nullable: Channel tag supplied when the message was sent (for example, `web`, `mcp`, `slack`).
  - `country` string, nullable: ISO-3166 alpha-2 country code resolved server-side from the originating IP.
  - `created_at` string, date-time, required: ISO-8601 timestamp of chat creation.
  - `updated_at` string, date-time, required: ISO-8601 timestamp of last activity in the chat.
  - `project_slug` string, required: Slug of the project the chat belongs to.
  - `messages` ChatMessage[], required: Messages in the chat, ordered by `created_at` ascending.
    - `uuid` string, uuid, required: Message UUID.
    - `message_type` 'HUMAN' | 'AI' | 'SYSTEM', required: Author of the message.
    - `content` string, required: Message body.
    - `sources` object[]: Sources cited by an AI message. Empty for human and system messages.
    - `generation_metadata` GenerationMetadata
      - `incomplete` boolean
      - `stop_reason` string, nullable
      - `continuation_count` integer: Additional generation calls used for continuation.
      - `interrupted` boolean
      - `continuation_available` boolean: Whether the latest output-capped response has a retained continuation request.
    - `is_mcp_message` boolean, required: True if this message originated from the MCP server.
    - `feedback` 0 | 1, nullable: User reaction to this message: `1` = like, `0` = dislike, `null` = no feedback yet. Set via [`POST /api/v2/projects/{slug}/messages/{uuid}/feedback/`](/api/submit-message-feedback). Only meaningful for `AI` messages.
    - `created_at` string, date-time, required: ISO-8601 timestamp of when the message was sent.

## Other responses

- `403`: Forbidden. Missing permissions.
- `404`: Resource not found.

---

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