---
title: "Get AI conversation with messages"
method: GET
path: "/api/v1/ai/conversations/{conversationId}"
tags: ["AI"]
---

# Get AI conversation with messages

`GET /api/v1/ai/conversations/{conversationId}`

Return a conversation with its full message history (alternating user / assistant turns). Used by clients (iOS app, embed widgets) to restore a prior conversation in their UI.

## Path parameters

- `conversationId` string, uuid, required

## Response `200`

Conversation with messages in chronological order.

- AiConversationDetailResponse
  - `createdAt` string, date-time, required
  - `id` string, uuid, required
  - `messages` AiConversationMessage[], required — Messages in chronological order. Alternating user / assistant turns.
    - `createdAt` string, date-time, required — When this turn was recorded.
    - `jobId` string, uuid, nullable, required — The agentic job that produced this assistant turn. Only set for assistant messages — clients use it to fetch the rendered chart via GET /api/v1/ai/jobs/{jobId}/vis. Null when the turn predates jobs or when we could not associate one.
    - `omniChatUrl` string, uri, nullable, required — Deep link to the assistant turn in the Omni chat UI. Null for user turns, and for assistant turns produced outside the Agentic API (where no AgenticJob row exists).
    - `role` 'user' | 'assistant', required — Speaker — `user` for prompts the user submitted, `assistant` for Blobby's responses.
    - `text` string, required — Markdown content of the message. For assistant turns this is the same string returned by /api/v1/ai/jobs/{jobId}/result#message.
  - `name` string, nullable, required
  - `updatedAt` string, date-time, required

## Other responses

- `401` — Missing or invalid API key.
- `403` — AI access is required to view chat conversations (no model in the org grants USE_AI to the caller).
- `404` — Conversation not found. User-scoped keys also get 404 (not 403) when the conversation exists but belongs to a different user — existence of another user's conversations is not disclosed.

---

[API](https://skmtc.net/omniapp/apis/omni-api.md) · [All operations](https://skmtc.net/omniapp/apis/omni-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/omniapp/omni-api/versions/de7cac8b5983/schema)
