# List channels

Source: https://docs.vlayers.ai/reference/channels/list-channels

`GET /v1/channels` · scope `channels:read`

Returns the channels your workspace can use and, for each connected sender, whether it is ready. Each channel describes what it can do: who may start a conversation, reply windows (WhatsApp's 24 hours), whether templates are required, and length limits. Read it before sending on a channel for the first time.

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

## Request

cURL:

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

TypeScript:

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

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

const { data } = await listChannels({
  client
});
console.log(data.channels);
```

Python:

```python
import os
import voicelayer

config = voicelayer.Configuration(access_token=os.environ["VOICELAYER_API_KEY"])
with voicelayer.ApiClient(config) as client:
    api = voicelayer.ChannelsApi(client)
    result = api.list_channels()
    print(result.channels)
```

## Response `200`

```json
{
  "channels": [
    {
      "id": "whatsapp",
      "displayName": "WhatsApp",
      "addressSpace": "app",
      "plugins": [
        "vl/whatsapp"
      ],
      "baseline": {
        "operations": [
          "receive.message",
          "send.text",
          "reply.in_window"
        ],
        "direction": {
          "inbound": true,
          "outbound": true
        },
        "initiation": {
          "agentInitiated": "template_only",
          "userInitiated": true,
          "firstContactRule": "user-initiated, or a reviewed template outside the 24-hour window; opt-in is mandatory"
        },
        "windows": [
          {
            "kind": "reply",
            "durationSec": 86400,
            "opensOn": "inbound_message",
            "outside": "template_only"
          }
        ],
        "templates": {
          "required": "outside_window",
          "reviewed": true
        },
        "messageTypes": [
          "text",
          "image"
        ],
        "limits": {
          "textChars": 4096
        }
      },
      "bindings": [
        {
          "bindingId": "0192f5a9-2b3c-7d4e-9f5a-6b7c8d9e0f12",
          "address": "+14155550100",
          "capability": "whatsapp.message",
          "connectionId": "0192f5a3-7a8b-7c9d-8e0f-2a3b4c5d6e67",
          "pluginId": "vl/whatsapp",
          "descriptor": {
            "operations": [
              "receive.message",
              "send.text",
              "reply.in_window"
            ],
            "direction": {
              "inbound": true,
              "outbound": true
            },
            "initiation": {
              "agentInitiated": "template_only",
              "userInitiated": true,
              "firstContactRule": "user-initiated, or a reviewed template outside the 24-hour window; opt-in is mandatory"
            },
            "windows": [
              {
                "kind": "reply",
                "durationSec": 86400,
                "opensOn": "inbound_message",
                "outside": "template_only"
              }
            ],
            "templates": {
              "required": "outside_window",
              "reviewed": true
            },
            "messageTypes": [
              "text",
              "image"
            ],
            "limits": {
              "textChars": 4096
            }
          },
          "readiness": {
            "state": "ready",
            "connection": "connected",
            "ready": true
          }
        }
      ]
    }
  ]
}
```
