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

# Get conversation

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

Retrieve a conversation with its full message history — alternating user and assistant turns. Each assistant turn carries the originating `jobId` and an `omniChatUrl` deep link.

The conversations returned by this API depend on the type of API key being used:

- Organization API keys can access any conversation in the organization
- Personal Access Tokens can only access the authenticating user's conversations

## Path parameters

- `conversationId` string, uuid, required

## Response `200`

Conversation retrieved successfully

- object
  - `id` string, uuid, required — The unique identifier for this conversation.
  - `userId` string, uuid, required — The user ID who created this conversation.
  - `organizationId` string, uuid, required — The organization that owns this conversation.
  - `createdAt` string, date-time, required — When the conversation was created.
  - `updatedAt` string, date-time, required — When the conversation was last modified.
  - `messages` object[], required — Ordered list of messages in the conversation, alternating between user and assistant turns.
    - `role` 'user' | 'assistant', required — The role of the message sender.
    - `content` string, required — The message content. For user messages, this is the prompt. For assistant messages, this is the AI's response in Markdown format.
    - `timestamp` string, date-time, required — When this message was created.
    - `jobId` string, uuid — **Only present for assistant messages.** The ID of the AI job that generated this response. Use this with the [Get AI job status](/api/ai/get-ai-job-status) endpoint to retrieve job details.
    - `omniChatUrl` string, uri — **Only present for assistant messages.** URL to view this conversation in the Omni chat interface. Opens the chat session where the job actions and results are visible.

## Other responses

- `400` — Bad Request Possible error messages: - `Invalid conversation ID format. Must be a valid UUID.`
- `401` — Unauthorized Possible error messages: - `Missing or invalid API key`
- `403` — Forbidden Possible error messages: - `User does not have USE_AI permission` - `User-scoped token cannot access another user's conversation`
- `404` — Conversation not found
- `429` — Too Many Requests - Rate limit exceeded (60 requests/minute)
- `500` — Internal Server Error

---

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