Skip to content
ChatVendor ChatVendor

Messenger API

Everything the panel can do with a connected Telegram, WhatsApp or Instagram account, over REST — one key, one response shape, chapter by chapter.

Telegram: groups & channels

Members, join links, forum topics, settings and invite links of groups and channels.

Groups and channels are peers too (negative ids). Settings are applied field by field — only the keys you send change.

Base URL: https://chatvendor.net/api/v1 · every response is {"success": true, "data": …}

GET /channels/{id}/chats/{peer}/members Group members

Scope: channels:read

Parameters

idpath · integerrequired

Channel id (from GET /channels)

peerpath · stringrequired

Telegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone

qquery · string
filterquery · string: admins | bots | kicked | banned
limitquery · integer

Response 200 · Peer[]

id integertype stringtitle stringusername stringphone string

curl https://chatvendor.net/api/v1/channels/1/chats/@username/members \
  -H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
POST /channels/{id}/chats/join Join a group or channel

Scope: channels:write

Parameters

idpath · integerrequired

Channel id (from GET /channels)

Body (application/json)

linkstringrequired

Response 200 · Peer

id integertype stringtitle stringusername stringphone string

curl -X POST https://chatvendor.net/api/v1/channels/1/chats/join \
  -H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
  -H "Content-Type: application/json" \
  -d '{"link":"…"}'
GET /channels/{id}/chats/{peer}/topics Forum topics of a supergroup

Scope: channels:read

Parameters

idpath · integerrequired

Channel id (from GET /channels)

peerpath · stringrequired

Telegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone

Response 200 · Topic[]

id integertitle stringclosed booleanpinned booleanhidden booleanunread_count integertop_message integer

curl https://chatvendor.net/api/v1/channels/1/chats/@username/topics \
  -H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
POST /channels/{id}/chats/{peer}/topics Create a forum topic

Scope: channels:write

Parameters

idpath · integerrequired

Channel id (from GET /channels)

peerpath · stringrequired

Telegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone

Body (application/json)

titlestringrequired
icon_colorinteger
icon_emoji_idinteger

Response 200 · Topic

id integertitle stringclosed booleanpinned booleanhidden booleanunread_count integertop_message integer

curl -X POST https://chatvendor.net/api/v1/channels/1/chats/@username/topics \
  -H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
  -H "Content-Type: application/json" \
  -d '{"title":"…","icon_color":1,"icon_emoji_id":1}'
PATCH /channels/{id}/chats/{peer}/topics/{topic} Rename / close / hide / pin a topic

Scope: channels:write

Parameters

idpath · integerrequired

Channel id (from GET /channels)

peerpath · stringrequired

Telegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone

topicpath · integerrequired

Topic id

Body (application/json)

titlestring
closedboolean
hiddenboolean
pinnedboolean

Response 200

OK

curl -X PATCH https://chatvendor.net/api/v1/channels/1/chats/@username/topics/42 \
  -H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
  -H "Content-Type: application/json" \
  -d '[]'
PATCH /channels/{id}/chats/{peer}/settings Channel/supergroup switches (only the fields sent are applied)

Scope: channels:write

Parameters

idpath · integerrequired

Channel id (from GET /channels)

peerpath · stringrequired

Telegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone

Body (application/json)

usernamestring
signaturesboolean
join_to_sendboolean
join_requestboolean
slowmodeinteger: 0 | 10 | 30 | 60 | 300 | 900 | 3600
noforwardsboolean
discussionstring
reactionsstring

"all" | "none" | ["👍", "❤"]

history_hiddenboolean
forumboolean

Response 200 · Applied

applied string[]

curl -X PATCH https://chatvendor.net/api/v1/channels/1/chats/@username/settings \
  -H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
  -H "Content-Type: application/json" \
  -d '[]'
POST /channels/{id}/chats/{peer}/invite-links Create an invite link

Scope: channels:write

Parameters

idpath · integerrequired

Channel id (from GET /channels)

peerpath · stringrequired

Telegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone

Body (application/json)

titlestring
expirestring (date-time)
usage_limitinteger
request_neededboolean

Response 200 · InviteLink

link stringtitle stringrevoked booleanpermanent booleanrequest_needed booleanusage integerusage_limit integerexpire_date string (date-time)

curl -X POST https://chatvendor.net/api/v1/channels/1/chats/@username/invite-links \
  -H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
  -H "Content-Type: application/json" \
  -d '[]'