---
title: "Get conversation"
method: GET
path: "/api/chat/conversations/{id}"
tags: ["chat"]
---

# Get conversation

`GET /api/chat/conversations/{id}`

## Request

- Base URL: `https://localhost:8080`
- URL: `https://localhost:8080/api/chat/conversations/{id}`
- Auth: none declared

Retrieves a conversation with all messages. Public conversations are accessible to anyone. Private conversations require ownership.

## Path parameters

- `id` string, required

## Response `200`

Conversation retrieved successfully

- ConversationWithMessagesDto
  - `conversation` ConversationDto, required
    - `id` string, required: Conversation ID
    - `title` string, required: Conversation title
    - `userId` object: User ID (null for anonymous)
    - `sessionId` object: Session ID (for anonymous conversations)
    - `isPublic` boolean, required: Whether conversation is public
    - `source` 'web' | 'word_plugin' | 'slack', required: Source platform of conversation
    - `isOwner` boolean: Whether current user is owner
    - `lastMessageAt` string, required: Last message timestamp
    - `messageCount` number, required: Number of messages in conversation
    - `createdAt` string, required: Creation timestamp
    - `updatedAt` string, required: Last update timestamp
  - `messages` MessageDto[], required: Messages in conversation
    - `id` string, required: Message ID
    - `role` 'user' | 'assistant', required: Message role
    - `content` string, required: Message content
    - `sources` object[]: Sources (parsed from JSON)
    - `citation` string: Citation
    - `followUpQuestions` object[]: Follow-up questions (parsed from JSON)
    - `annotations` object[]: Annotations (parsed from JSON)
    - `toolCalls` MessageToolCallDto[]: Tool calls (for assistant messages)
      - `toolCallId` string, required: Tool call ID
      - `toolName` string, required: Tool name
      - `args` object, required: Tool arguments
      - `sequenceOrder` number: Sequence order within message
    - `toolResults` MessageToolResultDto[]: Tool results (for assistant messages)
      - `toolCallId` string, required: Tool call ID this result belongs to
      - `result` object: Tool execution result
      - `error` string: Error message if execution failed
      - `executionTimeMs` number: Execution time in milliseconds
    - `citationVerifications` object[]: Citation verifications (parsed from JSON)
    - `attachments` object[]: Inline attachments on this message (id, fileName, fileType)
    - `timestamp` string, required: Message timestamp

## Other responses

- `403`: Access denied
- `404`: Conversation not found

---

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