> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replyke.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Fetch Message

> Fetch a single message by ID

Returns a single [ChatMessage](/data-models/chat-message) by ID, fully populated with `user`, `quotedMessage`, `files`, `reactionCounts`, and `userReactions`. The caller must be a member of the conversation.

## Path Parameters

<ParamField path="conversationId" type="string" required>
  The ID of the conversation.
</ParamField>

<ParamField path="messageId" type="string" required>
  The ID of the message to fetch.
</ParamField>

## Response

Returns a [ChatMessage](/data-models/chat-message) with all populated fields including `reactionCounts` and `userReactions` for the requesting user.

## Error Responses

<AccordionGroup>
  <Accordion title="Forbidden — 403">
    ```json theme={null}
    { "error": "You are not a member of this conversation.", "code": "chat/not-a-member" }
    ```
  </Accordion>

  <Accordion title="Not Found — 404">
    ```json theme={null}
    { "error": "Message not found.", "code": "chat/message-not-found" }
    ```
  </Accordion>
</AccordionGroup>
