> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # log > Read a conversation's message history and call timeline. [ref-aichatclient]: /docs/server-sdks/reference/typescript/agents/ai-chat-client Read the conversation back. This changes nothing about the conversation. ## **Parameters** **`conversationId`** `string` — required The conversation to read. --- ## **Returns** `Promise` -- carries `messages` and `callTimeline`. Messages contain the fields returned by the service. Code that displays a transcript should not assume every entry has a timestamp. `callTimeline` contains any structured timeline entries returned for the conversation. > **Warning** > > `messages` can include your prompt and other non-dialogue entries. Filter to > `user` and `assistant` roles before displaying a transcript. ## **Example** ```typescript {5-8} import { AIChatClient } from '@signalwire/sdk'; const client = new AIChatClient({ space: 'your-space' }); const { messages } = await client.log('chat-8f21'); for (const m of messages) { if (m.role === 'user' || m.role === 'assistant') console.log(m.role, m.content); } ``` > Read a conversation's message history and call timeline.