# Retrieve a conversation

Source: https://docs.vlayers.ai/reference/conversations/get-conversation

`GET /v1/conversations/{id}` · scope `messages:read`

Returns one conversation: its channel, the person it is with, who answers it (`controller`) and, on WhatsApp, whether the 24-hour reply window is open (`window`). Check `window.open` before replying on WhatsApp.

Requires an API key with the `messages:read` scope.

| Name | In | Type | Required | Description |
|---|---|---|---|---|
| `id` | path | string | yes | The conversation id. Example: `"0192f5b0-7c3e-7a51-9b2d-4e8f1a6c3d21"` |

## Request

cURL:

```bash
curl "https://api.vlayers.ai/v1/conversations/$CONVERSATION_ID" \
  -H "Authorization: Bearer $VOICELAYER_API_KEY"
```

TypeScript:

```ts
import { createVoiceLayerClient, getConversation } from '@voicelayer/api';

const client = createVoiceLayerClient({ apiKey: process.env.VOICELAYER_API_KEY!, throwOnError: true });

const { data } = await getConversation({
  client,
  path: {
    id: process.env.CONVERSATION_ID!
  }
});
console.log(data.conversation);
```

Python:

```python
import os
import voicelayer

config = voicelayer.Configuration(access_token=os.environ["VOICELAYER_API_KEY"])
with voicelayer.ApiClient(config) as client:
    api = voicelayer.ConversationsApi(client)
    result = api.get_conversation(
        id=os.environ["CONVERSATION_ID"],
    )
    print(result.conversation)
```

## Response `200`

```json
{
  "conversation": {
    "id": "0192f5b0-7c3e-7a51-9b2d-4e8f1a6c3d21",
    "channel": "sms",
    "lineId": "0192f5a8-1a2b-7c3d-8e4f-5a6b7c8d9e01",
    "bindingId": null,
    "peer": {
      "address": "+15550123"
    },
    "controller": "api",
    "status": "open",
    "openedAt": "2026-10-20T15:04:05.000Z",
    "lastActivityAt": "2026-10-20T15:04:05.000Z",
    "test": true
  }
}
```
