# Create a telehealth channel

Operation ID: `telehealth.createChannel`

Create a new Agora RTC channel identifier for a telehealth visit. Pass the returned `channel_id` to `telehealth.createPatientToken` and `telehealth.createProviderToken` to mint join tokens for the same channel. This operation does not require authentication.

## Public method

`createChannel`

Signature: `telehealth.createChannel()`

Return type: `Promise<TelehealthChannelResponse>`

## Authentication

Classification: **PUBLIC**

## Prerequisites

None documented.

## HTTP

`POST /telehealth/channels`

## Path parameters

None.

## Query parameters

None.

## Body parameters

None.

Request model: None.

## Request example

None declared in canonical OpenAPI.

## Success responses

| Status | Shape | Content type | Description |
|---|---|---|---|
| `201` | [`CreateChannelResponse`](../models/CreateChannelResponse.md) | application/json | Channel created successfully |

## Success response examples

### 201

```json
{
  "channel_id": "hc-00000000000000000000000000000000",
  "created_at": "2026-01-01T09:00:00Z"
}
```

## Common errors

| Status | Shape | Content type | Description |
|---|---|---|---|
| `400` | [`telehealth.ErrorResponse`](../models/telehealth.ErrorResponse.md) | application/json | The Agora service is not configured for this environment |

## Error examples

### 400 — Agora credentials are not configured for this environment

```json
{
  "error": "AGORA_APP_ID and AGORA_APP_CERTIFICATE are required"
}
```

## NodeJS / TypeScript implementation

```ts
import { HCSDK } from "@healthcloudai/hc-sdk";
```

```ts
const result = await telehealth.createChannel();
```

## cURL

```bash
curl -X POST \
  'https://dev-api-telehealth.health.cloud/telehealth/channels'
```

## Notes

None.

## Prepared Test Console scenario

No canonical scenario is currently associated.

## Real response

No approved real integration response is currently published. Unapproved candidates are never rendered as examples.
