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

# Channels

> Create, discover, follow, post to, react on, and administer WhatsApp channels.

Channels are WhatsApp newsletters. Channel JIDs end in `@newsletter`, and channel operations require a paired, connected token.

## Discover channels

List channels followed by the linked device:

```http theme={null}
GET /api/v1/sessions/{sessionId}/newsletters/subscribed
Authorization: Bearer <api_key>
```

Fetch metadata:

```http theme={null}
GET /api/v1/sessions/{sessionId}/newsletters/{newsletterJid}
Authorization: Bearer <api_key>
```

Search the public directory:

```http theme={null}
POST /api/v1/sessions/{sessionId}/newsletters/search
Authorization: Bearer <api_key>
Content-Type: application/json
```

```json theme={null}
{
  "searchText": "product updates",
  "limit": 20
}
```

You can also fetch recommended channels, similar channels, directory lists, category previews, invite metadata, and domain preview support.

## Follow and mute

```http theme={null}
POST /api/v1/sessions/{sessionId}/newsletters/{newsletterJid}/follow
Authorization: Bearer <api_key>
Content-Type: application/json
```

```json theme={null}
{
  "action": "follow"
}
```

Use `unfollow`, `mute`, or `unmute` for the other actions.

## Create and update a channel

```http theme={null}
POST /api/v1/sessions/{sessionId}/newsletters
Authorization: Bearer <api_key>
Content-Type: application/json
```

```json theme={null}
{
  "name": "Product updates",
  "description": "Release notes and customer announcements"
}
```

Update editable fields:

```http theme={null}
PATCH /api/v1/sessions/{sessionId}/newsletters/{newsletterJid}
Authorization: Bearer <api_key>
Content-Type: application/json
```

```json theme={null}
{
  "name": "Product announcements"
}
```

## Post and moderate messages

Post a text message:

```http theme={null}
POST /api/v1/sessions/{sessionId}/newsletters/{newsletterJid}/messages
Authorization: Bearer <api_key>
Content-Type: application/json
```

```json theme={null}
{
  "text": "Version 2.1 is now available."
}
```

Edit or delete a post:

```http theme={null}
PATCH /api/v1/sessions/{sessionId}/newsletters/{newsletterJid}/messages/{messageId}
DELETE /api/v1/sessions/{sessionId}/newsletters/{newsletterJid}/messages/{messageId}
Authorization: Bearer <api_key>
```

React to a channel message:

```http theme={null}
POST /api/v1/sessions/{sessionId}/newsletters/{newsletterJid}/messages/react
Authorization: Bearer <api_key>
Content-Type: application/json
```

```json theme={null}
{
  "parentMessageServerId": 12345,
  "reactionCode": "🔥"
}
```

## Administer a channel

Admin endpoints support fetching admin info, capabilities, followers, insights, moderation reports, enforcements, pending invites, poll voters, and reaction senders.

You can also invite admins, revoke invites, accept an admin invite, transfer ownership, demote admins, and delete a channel.
