Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.usetitan.app/llms.txt

Use this file to discover all available pages before exploring further.

WhatsApp Channels are one-way broadcast channels (also called newsletters) that let you publish updates to a large audience without adding them to a group. The channels API gives you full management access — create and delete your own channels, and control follow and mute state for any channel your session can access.

Channel object

lid
string
Channel JID (Linked Device ID format).
name
string
Channel display name.
description
string
Channel description or topic.
profileUrl
string
URL of the channel’s profile picture.
followers
integer
Number of followers.
muted
boolean
Whether notifications for this channel are muted.
preview
boolean
Whether the channel is in preview mode.

Create a channel

curl -X POST https://api.example.com/api/sessions/default/channels \
  -H "Authorization: Bearer titan_..." \
  -H "Content-Type: application/json" \
  -d '{
    "session": "default",
    "name": "Product Updates",
    "description": "Latest news about our products.",
    "profileUrl": "https://example.com/logo.png"
  }'
POST /api/sessions/{session}/channels Creates a new WhatsApp Channel owned by the session account.
session
string
required
Session name.
session
string
required
Session name (required in body).
name
string
required
Channel display name.
description
string
Channel description or topic.
profileUrl
string
HTTPS URL of the channel profile picture.
{
  "data": {
    "lid": "120363012345678901@newsletter",
    "name": "Product Updates",
    "description": "Latest news about our products.",
    "followers": 0,
    "muted": false,
    "preview": false
  }
}

List channels

curl https://api.example.com/api/sessions/default/channels \
  -H "Authorization: Bearer titan_..."
GET /api/sessions/{session}/channels Returns all channels the session account follows or owns.
session
string
required
Session name.
{
  "data": [
    {
      "lid": "120363012345678901@newsletter",
      "name": "Product Updates",
      "followers": 1240,
      "muted": false
    }
  ]
}

Get a channel

curl https://api.example.com/api/sessions/default/channels/120363012345678901%40newsletter \
  -H "Authorization: Bearer titan_..."
GET /api/sessions/{session}/channels/{channelId} Returns full details for a single channel.
session
string
required
Session name.
channelId
string
required
Channel JID (URL-encoded), e.g. 120363012345678901%40newsletter.
{
  "data": {
    "lid": "120363012345678901@newsletter",
    "name": "Product Updates",
    "description": "Latest news about our products.",
    "profileUrl": "https://example.com/logo.png",
    "followers": 1240,
    "muted": false,
    "preview": false
  }
}

Delete a channel

curl -X DELETE https://api.example.com/api/sessions/default/channels/120363012345678901%40newsletter \
  -H "Authorization: Bearer titan_..."
DELETE /api/sessions/{session}/channels/{channelId} Permanently deletes a channel. You must be the channel owner.
session
string
required
Session name.
channelId
string
required
Channel JID (URL-encoded).
{
  "data": { "success": true, "message": "channel deleted" }
}

Follow a channel

curl -X POST https://api.example.com/api/sessions/default/channels/120363012345678901%40newsletter/follow \
  -H "Authorization: Bearer titan_..."
POST /api/sessions/{session}/channels/{channelId}/follow Subscribes the session account to a channel.
session
string
required
Session name.
channelId
string
required
Channel JID (URL-encoded).
{
  "data": { "success": true, "message": "channel followed" }
}

Unfollow a channel

curl -X DELETE https://api.example.com/api/sessions/default/channels/120363012345678901%40newsletter/follow \
  -H "Authorization: Bearer titan_..."
DELETE /api/sessions/{session}/channels/{channelId}/follow Unsubscribes the session account from a channel.
session
string
required
Session name.
channelId
string
required
Channel JID (URL-encoded).
{
  "data": { "success": true, "message": "channel unfollowed" }
}

Mute a channel

curl -X POST https://api.example.com/api/sessions/default/channels/120363012345678901%40newsletter/mute \
  -H "Authorization: Bearer titan_..."
POST /api/sessions/{session}/channels/{channelId}/mute Mutes notifications for a channel. You will still receive messages but without notifications.
session
string
required
Session name.
channelId
string
required
Channel JID (URL-encoded).
{
  "data": { "success": true, "message": "channel muted" }
}

Unmute a channel

curl -X DELETE https://api.example.com/api/sessions/default/channels/120363012345678901%40newsletter/mute \
  -H "Authorization: Bearer titan_..."
DELETE /api/sessions/{session}/channels/{channelId}/mute Restores notifications for a muted channel.
session
string
required
Session name.
channelId
string
required
Channel JID (URL-encoded).
{
  "data": { "success": true, "message": "channel unmuted" }
}