verifyChat
Returns: TrueOfficial docs ↗
Verifies a chat on behalf of the organization which is represented by the bot. Returns True on success.
Parameters
chat_idIntegerStringRequiredUnique identifier for the target chat or username of the target channel (in the format
@channelusername). Channel direct messages chats can't be verified.custom_descriptionStringOptionalminLen 0maxLen 70Custom description for the verification; 0-70 characters. Must be empty if the organization isn't allowed to provide a custom verification description.
Returns
On success, True is returned.
GramIO Usage
ts
// Verify a chat by numeric ID
await bot.api.verifyChat({
chat_id: -1001234567890,
});ts
// Verify a public channel by username with a custom description
await bot.api.verifyChat({
chat_id: "@mychannel",
custom_description: "Official channel",
});ts
// Update the verification description (call verifyChat again with new text)
await bot.api.verifyChat({
chat_id: -1001234567890,
custom_description: "Updated official description",
});ts
// Remove chat verification
await bot.api.removeChatVerification({
chat_id: -1001234567890,
});Errors
| Code | Error | Cause |
|---|---|---|
| 400 | Bad Request: chat not found | chat_id is invalid or the bot has no access to the chat |
| 400 | Bad Request: PEER_ID_INVALID | Invalid chat_id format — check that the ID is a valid integer or @username |
| 400 | Bad Request: chat can't be verified | Chat type doesn't support verification — channel direct messages chats are explicitly excluded |
| 400 | Bad Request: custom description not allowed | Your organization isn't authorized to provide custom verification descriptions — pass an empty string or omit the field |
| 403 | Forbidden: not enough rights | The bot hasn't been granted third-party verification permissions by Telegram |
Tips & Gotchas
- Only bots with explicit Telegram approval can use this method. Third-party verification is not available to arbitrary bots — your organization must apply at telegram.org/verify.
- Channel direct messages chats cannot be verified. Only groups, supergroups, and regular broadcast channels are supported.
custom_descriptionis 0–70 characters. If your organization is not permitted to set custom descriptions, pass an empty string or omit the field entirely — otherwise the call returns an error.- To update the description, call
verifyChatagain. There's no separate "update" method — re-calling with a new description replaces it atomically. - To remove the badge, call
removeChatVerification. Verification is not permanent; it can be revoked at any time.