---
title: "Get Chat Message"
method: GET
path: "/chats/{chatId}/messages/{messageId}"
tags: ["chats"]
---

# Get Chat Message

`GET /chats/{chatId}/messages/{messageId}`

Retrieves detailed information about a specific message within a chat, including content, files, model configuration, and demo URLs.

## Path parameters

- `chatId` string, required
- `messageId` string, required

## Response `200`

Success

- MessageDetail — Detailed message object extending MessageSummary with chat metadata.
  - `id` string, required — A unique identifier for the message.
  - `object` 'message', required — Fixed value identifying this object as a message.
  - `content` string, required — The main text content of the message.
  - `experimental_content` union[] — The parsed content of the message as an array structure containing AST nodes. This is an experimental field that may change.
    - union
      - unknown[] — AST content section containing parsed markdown/MDX nodes
        - unknown
      - unknown[] — Metadata section containing title and other properties
        - unknown
  - `createdAt` string, required — The ISO timestamp representing when the message was created.
  - `updatedAt` string, date-time — The ISO timestamp representing when the message was last updated.
  - `type` 'message' | 'forked-block' | 'forked-chat' | 'open-in-v0' | 'refinement' | 'added-environment-variables' | 'added-integration' | 'deleted-file' | 'moved-file' | 'renamed-file' | 'edited-file' | 'replace-src' | 'reverted-block' | 'fix-with-v0' | 'auto-fix-with-v0' | 'sync-git', required — Indicates the format or category of the message, such as plain text or code.
  - `role` 'user' | 'assistant', required — Specifies whether the message was sent by the user or the assistant.
  - `finishReason` 'stop' | 'length' | 'content-filter' | 'tool-calls' | 'error' | 'other' | 'unknown' — The reason why the message generation finished.
  - `apiUrl` string, required — API URL to access this message via the API.
  - `parentId` string, nullable — The ID of the parent message.
  - `chatId` string, required — The ID of the chat to which this message belongs.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict
- `413` — Payload Too Large
- `422` — Unprocessable Entity
- `429` — Too Many Requests
- `500` — Internal Server Error

## Changes

- **2025-09-12** `e9f83fb57a16` — 1 info
  - added the optional property `parentId` to the response with the `200` status
- **2025-08-24** `3521652a43a7` — 1 breaking, 3 warning, 9 info
  - removed the required property `authorId` from the response with the `200` status
  - removed the optional property `attachments` from the response with the `200` status
  - removed the optional property `parentId` from the response with the `200` status
  - added the new `unknown` enum value to the `finishReason` response property for the response status `200`
  - …9 more

[Change history](https://skmtc.dev/vercel/apis/v0-platform-api-beta/changes/chats/:chatId/messages/:messageId/get.md)

---

[API](https://skmtc.dev/vercel/apis/v0-platform-api-beta.md) · [All operations](https://skmtc.dev/vercel/apis/v0-platform-api-beta/llms.txt) · [OpenAPI document](https://skmtc.dev/vercel/apis/v0-platform-api-beta/revisions/fd6d8c3bee8a?raw)
