Methods

Accepting the Terms of Service

Name Description
help.getTermsOfServiceUpdate Look for updates of telegram's terms of service
help.acceptTermsOfService Accept the new terms of service

Dealing with spam and ToS violations

Name Description
account.reportPeer Report a peer for violation of telegram's Terms of Service
account.reportProfilePhoto Report a profile photo of a dialog
channels.reportSpam Reports some messages from a user in a supergroup as spam; requires administrator rights in the supergroup
messages.report Report a message in a chat for violation of telegram's Terms of Service
messages.reportSpam Report a new incoming chat for spam, if the peer settings of the chat allow us to do that
messages.reportEncryptedSpam Report a secret chat for spam

Fetching configuration

Name Description
help.getAppChangelog Get changelog of current app.
Typically, an updates constructor will be returned, containing one or more updateServiceNotification updates with app-specific changelogs.
help.getAppConfig Get app-specific configuration, see client configuration for more info on the result.
help.getAppUpdate Returns information on update availability for the current application.
help.getConfig Returns current configuration, including data center configuration.
help.getInviteText Returns localized text of a text message with an invitation.
help.getNearestDc Returns info on data center nearest to the user.
help.getSupport Returns the support user for the "ask a question" feature.
help.getSupportName Get localized name of the telegram support user
help.getCountriesList Get name, ISO code, localized name and phone codes/patterns of all available countries
help.dismissSuggestion Dismiss a suggestion, see here for more info ».

Login via QR code

Name Description
auth.exportLoginToken Generate a login token, for login via QR code.
The generated login token should be encoded using base64url, then shown as a tg://login?token=base64encodedtoken deep link » in the QR code.

For more info, see login via QR code.
auth.acceptLoginToken Accept QR code login token, logging in the app that generated it.

Returns info about the new session.

For more info, see login via QR code.
auth.importLoginToken Login using a redirected login token, generated in case of DC mismatch during QR code login.

For more info, see login via QR code.

Miscellaneous

Name Description
help.saveAppLog Saves logs of application on the server.
initConnection Initialize connection
invokeAfterMsg Invokes a query after successful completion of one of the previous queries.
invokeAfterMsgs Invokes a query after a successful completion of previous queries
invokeWithLayer Invoke the specified query using the specified API layer
invokeWithoutUpdates Invoke a request without subscribing the used connection for updates (this is enabled by default for file queries).

Registration/Authorization

Name Description
auth.bindTempAuthKey Binds a temporary authorization key temp_auth_key_id to the permanent authorization key perm_auth_key_id. Each permanent key may only be bound to one temporary key at a time, binding a new temporary key overwrites the previous one.

For more information, see Perfect Forward Secrecy.
auth.cancelCode Cancel the login verification code
account.sendVerifyEmailCode Send an email verification code.
account.verifyEmail Verify an email address.
auth.resetLoginEmail Reset the login email ».
auth.checkPassword Try logging to an account protected by a 2FA password.
account.resetPassword Initiate a 2FA password reset: can only be used if the user is already logged-in, see here for more info »
auth.checkRecoveryPassword Check if the 2FA recovery code sent using auth.requestPasswordRecovery is valid, before passing it to auth.recoverPassword.
auth.dropTempAuthKeys Delete all temporary authorization keys except for the ones specified
auth.exportAuthorization Returns data for copying authorization to another data-center.
auth.importAuthorization Logs in a user using a key transmitted from his native data-center.
auth.importBotAuthorization Login as a bot
account.changeAuthorizationSettings Change authorization settings
account.setAuthorizationTTL Set time-to-live of current session
auth.logOut Logs out the user.
auth.recoverPassword Reset the 2FA password using the recovery code sent using auth.requestPasswordRecovery.
auth.requestPasswordRecovery Request recovery code of a 2FA password, only for accounts with a recovery email configured.
auth.resendCode Resend the login code via another medium, the phone code type is determined by the return value of the previous auth.sendCode/auth.resendCode: see login for more info.
auth.resetAuthorizations Terminates all user's authorized sessions except for the current one.

After calling this method it is necessary to reregister the current device using the method account.registerDevice
auth.sendCode Send the verification code for login
auth.signIn Signs in a user with a validated phone number.
auth.signUp Registers a validated phone number in the system.
auth.requestFirebaseSms Request an SMS code via Firebase.
auth.importWebTokenAuthorization Login by importing an authorization token

Working with GDPR export

Name Description
account.initTakeoutSession Initialize account takeout session
account.finishTakeoutSession Finish account takeout session
messages.getSplitRanges Get message ranges for saving the user's chat history
channels.getLeftChannels Get a list of channels/supergroups we left
invokeWithMessagesRange Invoke with the given message range
invokeWithTakeout Invoke a method within a takeout session

Working with GIFs (actually MPEG4 GIFs)

Name Description
messages.getSavedGifs Get saved GIFs
messages.saveGif Add GIF to saved gifs list

Working with Public Service Announcement and MTProxy channels

Name Description
help.hidePromoData Hide MTProxy/Public Service Announcement information
help.getPromoData Get MTProxy/Public Service Announcement information

Working with TSF (internal use only)

Name Description
help.editUserInfo Internal use
help.getUserInfo Can only be used by TSF members to obtain internal information.

Working with Telegram Premium

Name Description
payments.canPurchasePremium Checks whether Telegram Premium purchase is possible. Must be called before in-store Premium purchase, official apps only.
help.getPremiumPromo Get Telegram Premium promotion information
payments.assignAppStoreTransaction Informs server about a purchase made through the App Store: for official applications only.
payments.assignPlayMarketTransaction Informs server about a purchase made through the Play Store: for official applications only.

Working with 2FA login

Name Description
account.confirmPasswordEmail Verify an email to use as 2FA recovery method.
account.resendPasswordEmail Resend the code to verify an email to use as 2FA recovery method.
account.cancelPasswordEmail Cancel the code that was sent to verify an email to use as 2FA recovery method.
account.getPassword Obtain configuration for two-factor authorization with password
account.getPasswordSettings Get private info associated to the password info (recovery email, telegram passport info & so on)
account.updatePasswordSettings Set a new 2FA password
account.declinePasswordReset Abort a pending 2FA password reset, see here for more info »

Working with Seamless Telegram Login

Name Description
messages.requestUrlAuth Get more info about a Seamless Telegram Login authorization request, for more info click here »
messages.acceptUrlAuth Use this to accept a Seamless Telegram Login authorization request, for more info click here »
account.getWebAuthorizations Get web login widget authorizations
account.resetWebAuthorization Log out an active web telegram login session
account.resetWebAuthorizations Reset all active web telegram login sessions

Working with VoIP calls

Name Description
phone.acceptCall Accept incoming call
phone.confirmCall Complete phone call E2E encryption key exchange »
phone.discardCall Refuse or end running call
phone.getCallConfig Get phone call configuration to be passed to libtgvoip's shared config
phone.receivedCall Optional: notify the server that the user is currently busy in a call: this will automatically refuse all incoming phone calls until the current phone call is ended.
phone.requestCall Start a telegram phone call
phone.saveCallDebug Send phone call debug data to server
phone.sendSignalingData Send VoIP signaling data
phone.setCallRating Rate a call, returns info about the rating message sent to the official VoIP bot.
phone.saveCallLog Save phone call debug information
messages.deletePhoneCallHistory Delete the entire phone call history.

Working with channels/supergroups/geogroups

Name Description
channels.createChannel Create a supergroup/channel.
channels.getInactiveChannels Get inactive channels and supergroups
channels.deleteChannel Delete a channel/supergroup
channels.deleteHistory Delete the history of a supergroup
channels.deleteMessages Delete messages in a channel/supergroup
channels.deleteParticipantHistory Delete all messages sent by a specific participant of a given supergroup
channels.editAdmin Modify the admin rights of a user in a supergroup/channel.
channels.editBanned Ban/unban/kick a user in a supergroup/channel.
channels.editCreator Transfer channel ownership
channels.editLocation Edit location of geogroup
channels.editPhoto Change the photo of a channel/supergroup
channels.editTitle Edit the name of a channel/supergroup
channels.exportMessageLink Get link and embed info of a message in a channel/supergroup
channels.getAdminLog Get the admin log of a channel/supergroup
channels.getAdminedPublicChannels Get channels/supergroups/geogroups we're admin in. Usually called when the user exceeds the limit for owned public channels/supergroups/geogroups, and the user is given the choice to remove one of his channels/supergroups/geogroups.
channels.getChannels Get info about channels/supergroups
channels.getFullChannel Get full info about a supergroup, gigagroup or channel
channels.getGroupsForDiscussion Get all groups that can be used as discussion groups.

Returned basic group chats must be first upgraded to supergroups before they can be set as a discussion group.
To set a returned supergroup as a discussion group, access to its old messages must be enabled using channels.togglePreHistoryHidden, first.
channels.getMessages Get channel/supergroup messages
channels.getParticipant Get info about a channel/supergroup participant
channels.getParticipants Get the participants of a supergroup/channel
channels.inviteToChannel Invite users to a channel/supergroup

May also return 0-N updates of type updateGroupInvitePrivacyForbidden: it indicates we couldn't add a user to a chat because of their privacy settings; if required, an invite link can be shared with the user, instead.
channels.joinChannel Join a channel/supergroup
channels.leaveChannel Leave a channel/supergroup
channels.readHistory Mark channel/supergroup history as read
channels.readMessageContents Mark channel/supergroup message contents as read
channels.setDiscussionGroup Associate a group to a channel as discussion group for that channel
channels.setStickers Associate a stickerset to the supergroup
channels.togglePreHistoryHidden Hide/unhide message history for new channel/supergroup users
channels.toggleSignatures Enable/disable message signatures in channels
channels.toggleSlowMode Toggle supergroup slow mode: if enabled, users will only be able to send one message every seconds seconds
channels.toggleParticipantsHidden Hide or display the participants list in a supergroup.

The supergroup must have at least hidden_members_group_size_min participants in order to use this method, as specified by the client configuration parameters ».

Working with chat invites and join requests

Name Description
messages.exportChatInvite Export an invite link for a chat
messages.getExportedChatInvite Get info about a chat invite
messages.getExportedChatInvites Get info about the chat invites of a specific chat
messages.editExportedChatInvite Edit an exported chat invite
messages.deleteRevokedExportedChatInvites Delete all revoked chat invites
messages.deleteExportedChatInvite Delete a chat invite
messages.getAdminsWithInvites Get info about chat invites generated by admins.
messages.getChatInviteImporters Get info about the users that joined the chat using a specific chat invite
messages.checkChatInvite Check the validity of a chat invite link and get basic info about it
messages.importChatInvite Import a chat invite and join a private chat/supergroup/channel
messages.hideChatJoinRequest Dismiss or approve a chat join request related to a specific chat or channel.
messages.hideAllChatJoinRequests Dismiss or approve all join requests related to a specific chat or channel.
channels.toggleJoinToSend Set whether all users should join a discussion group in order to comment on a post »
channels.toggleJoinRequest Set whether all users should request admin approval to join the group ».

Working with chats/supergroups/channels

Name Description
messages.getMessageReadParticipants Get which users read a specific message: only available for groups and supergroups with less than chat_read_mark_size_threshold members, read receipts will be stored for chat_read_mark_expire_period seconds after the message was sent, see client configuration for more info ».
messages.addChatUser Adds a user to a chat and sends a service message on it.

May also return 0-N updates of type updateGroupInvitePrivacyForbidden: it indicates we couldn't add a user to a chat because of their privacy settings; if required, an invite link can be shared with the user, instead.
messages.createChat Creates a new chat.

May also return 0-N updates of type updateGroupInvitePrivacyForbidden: it indicates we couldn't add a user to a chat because of their privacy settings; if required, an invite link can be shared with the user, instead.
messages.deleteChatUser Deletes a user from a chat and sends a service message on it.
messages.editChatAbout Edit the description of a group/supergroup/channel.
messages.editChatAdmin Make a user admin in a basic group.
messages.editChatDefaultBannedRights Edit the default banned rights of a channel/supergroup/group.
messages.editChatPhoto Changes chat photo and sends a service message on it
messages.editChatTitle Changes chat name and sends a service message on it.
messages.getChats Returns chat basic info on their IDs.
messages.deleteChat Delete a chat
messages.getCommonChats Get chats in common with a user
messages.getFullChat Get full info about a basic group.
messages.migrateChat Turn a basic group into a supergroup
channels.convertToGigagroup Convert a supergroup to a gigagroup, when requested by channel suggestions.

Working with cloud themes

Name Description
account.updateTheme Update theme
account.uploadTheme Upload theme
account.getThemes Get installed themes
account.createTheme Create a theme
account.installTheme Install a theme
account.saveTheme Save a theme
account.getTheme Get theme information
account.getChatThemes Get all available chat themes
messages.setChatTheme Change the chat theme of a certain chat

Working with custom animated emojis

Name Description
messages.getCustomEmojiDocuments Fetch custom emoji stickers ».

Returns a list of documents with the animated custom emoji in TGS format, and a documentAttributeCustomEmoji attribute with the original emoji and info about the emoji stickerset this custom emoji belongs to.
messages.getEmojiStickers Gets the list of currently installed custom emoji stickersets.
messages.getFeaturedEmojiStickers Gets featured custom emoji stickersets.
messages.getEmojiGroups Represents a list of emoji categories, to be used when selecting custom emojis.
messages.getEmojiStatusGroups Represents a list of emoji categories, to be used when selecting custom emojis to set as custom emoji status.
messages.getEmojiProfilePhotoGroups Represents a list of emoji categories, to be used when selecting custom emojis to set as profile picture.
messages.searchCustomEmoji Look for custom emojis associated to a UTF8 emoji
account.getDefaultProfilePhotoEmojis Get a set of suggested custom emoji stickers that can be used as profile picture
account.getDefaultGroupPhotoEmojis Get a set of suggested custom emoji stickers that can be used as group picture

Working with deep links

Name Description
messages.startBot Start a conversation with a bot using a deep linking parameter
help.getDeepLinkInfo Get info about an unsupported deep link, see here for more info ».
help.getRecentMeUrls Get recently used t.me links.

When installing official applications from "Download Telegram" buttons present in t.me pages, a referral parameter is passed to applications after installation.
If, after downloading the application, the user creates a new account (instead of logging into an existing one), the referral parameter should be imported using this method, which returns the t.me pages the user recently opened, before installing Telegram.

Working with emoji keywords

Name Description
messages.getEmojiKeywords Get localized emoji keywords ».
messages.getEmojiKeywordsDifference Get changed emoji keywords ».
messages.getEmojiKeywordsLanguages Obtain a list of related languages that must be used when fetching emoji keyword lists ».

Usually the method will return the passed language codes (if localized) + en + some language codes for similar languages (if applicable).
messages.getEmojiURL Returns an HTTP URL which can be used to automatically log in into translation platform and suggest new emoji keywords ». The URL will be valid for 30 seconds after generation.

Working with emoji statuses

Name Description
account.updateEmojiStatus Set an emoji status
account.getDefaultEmojiStatuses Get a list of default suggested emoji statuses
account.getRecentEmojiStatuses Get recently used emoji statuses
account.clearRecentEmojiStatuses Clears list of recently used emoji statuses

Working with files

Name Description
help.getCdnConfig Get configuration for CDN file downloads.
upload.getCdnFile Download a CDN file.
upload.getCdnFileHashes Get SHA256 hashes for verifying downloaded CDN files
upload.reuploadCdnFile Request a reupload of a certain file to a CDN DC.
upload.getFile Returns content of a whole file or its part.
upload.getFileHashes Get SHA256 hashes for verifying downloaded files
upload.getWebFile Returns content of a web file, by proxying the request through telegram, see the webfile docs for more info.

Note: the query must be sent to the DC specified in the webfile_dc_id MTProto configuration field.
upload.saveBigFilePart Saves a part of a large file (over 10 MB in size) to be later passed to one of the methods.
upload.saveFilePart Saves a part of file for further sending to one of the methods.
messages.uploadEncryptedFile Upload encrypted file and associate it to a secret chat
messages.uploadMedia Upload a file and associate it to a chat (without actually sending it to the chat)
messages.getExtendedMedia Get information about extended media
messages.getDocumentByHash Get a document by its SHA256 hash, mainly used for gifs

Working with forums

Name Description
channels.toggleForum Enable or disable forum functionality in a supergroup.
channels.createForumTopic Create a forum topic; requires manage_topics rights.
channels.getForumTopics Get topics of a forum
channels.getForumTopicsByID Get forum topics by their ID
channels.editForumTopic Edit forum topic; requires manage_topics rights.
channels.updatePinnedForumTopic Pin or unpin forum topics
channels.reorderPinnedForumTopics Reorder pinned forum topics
channels.deleteTopicHistory Delete message history of a forum topic

Working with fragment.com usernames

Name Description
account.reorderUsernames Reorder usernames associated with the currently logged-in user.
account.toggleUsername Activate or deactivate a purchased fragment.com username associated to the currently logged-in user.
bots.reorderUsernames Reorder usernames associated to a bot we own.
bots.toggleUsername Activate or deactivate a purchased fragment.com username associated to a bot we own.
channels.reorderUsernames Reorder active usernames
channels.toggleUsername Activate or deactivate a purchased fragment.com username associated to a supergroup or channel we own.
channels.deactivateAllUsernames Disable all purchased usernames of a supergroup or channel

Working with instant view pages

Name Description
messages.getWebPage Get instant view page
messages.getWebPagePreview Get preview of webpage

Working with message reactions

Name Description
messages.setDefaultReaction Change default emoji reaction to use in the quick reaction menu: the value is synced across devices and can be fetched using help.getConfig, reactions_default field.
messages.getMessagesReactions Get message reactions »
messages.sendReaction React to message.

Starting from layer 159, the reaction will be sent from the peer specified using messages.saveDefaultSendAs.
messages.getAvailableReactions Obtain available message reactions »
messages.getUnreadReactions Get unread reactions to messages you sent
messages.readReactions Mark message reactions » as read
messages.setChatAvailableReactions Change the set of message reactions » that can be used in a certain group, supergroup or channel
messages.getMessageReactionsList Get message reaction list, along with the sender of each reaction.
messages.reportReaction Report a message reaction
messages.getTopReactions Got popular message reactions
messages.getRecentReactions Get recently used message reactions
messages.clearRecentReactions Clear recently used message reactions

Working with message translation

Name Description
messages.translateText Translate a given text.

Styled text entities will only be preserved for Telegram Premium users.
messages.togglePeerTranslations Show or hide the real-time chat translation popup for a certain chat

Working with secret chats

Name Description
messages.setEncryptedTyping Send typing event by the current user to a secret chat.
messages.readEncryptedHistory Marks message history within a secret chat as read.
messages.acceptEncryption Confirms creation of a secret chat
messages.discardEncryption Cancels a request for creation and/or delete info on secret chat.
messages.requestEncryption Sends a request to start a secret chat to the user.
messages.sendEncrypted Sends a text message to a secret chat.
messages.sendEncryptedFile Sends a message with a file attachment to a secret chat
messages.sendEncryptedService Sends a service message to a secret chat.
messages.getDhConfig Returns configuration parameters for Diffie-Hellman key generation. Can also return a random sequence of bytes of required length.
messages.receivedQueue Confirms receipt of messages in a secret chat by client, cancels push notifications.
The method returns a list of random_ids of messages for which push notifications were cancelled.

Working with stickers »

Name Description
messages.getOldFeaturedStickers Method for fetching previously featured stickers
messages.toggleStickerSets Apply changes to multiple stickersets
stickers.suggestShortName Suggests a short name for a given stickerpack name
stickers.checkShortName Check whether the given short name is available
stickers.setStickerSetThumb Set stickerset thumbnail
stickers.addStickerToSet Add a sticker to a stickerset, bots only. The sticker set must have been created by the bot.
stickers.changeStickerPosition Changes the absolute position of a sticker in the set to which it belongs; for bots only. The sticker set must have been created by the bot
stickers.createStickerSet Create a stickerset, bots only.
stickers.changeSticker Update the keywords, emojis or mask coordinates of a sticker, bots only.
stickers.renameStickerSet Renames a stickerset, bots only.
stickers.deleteStickerSet Deletes a stickerset we created, bots only.
stickers.removeStickerFromSet Remove a sticker from the set where it belongs, bots only. The sticker set must have been created by the bot.
messages.clearRecentStickers Clear recent stickers
messages.faveSticker Mark or unmark a sticker as favorite
messages.getAllStickers Get all installed stickers
messages.getArchivedStickers Get all archived stickers
messages.getAttachedStickers Get stickers attached to a photo or video
messages.getFavedStickers Get faved stickers
messages.getFeaturedStickers Get featured stickers
messages.getMaskStickers Get installed mask stickers
messages.getRecentStickers Get recent stickers
messages.getStickerSet Get info about a stickerset
messages.getStickers Get stickers by emoji
messages.saveRecentSticker Add/remove sticker from recent stickers list
messages.installStickerSet Install a stickerset
messages.readFeaturedStickers Mark new featured stickers as read
messages.reorderStickerSets Reorder installed stickersets
messages.searchStickerSets Search for stickersets
messages.uninstallStickerSet Uninstall a stickerset

Working with telegram passport

Name Description
account.sendVerifyPhoneCode Send the verification phone code for telegram passport.
account.verifyPhone Verify a phone number for telegram passport.
account.acceptAuthorization Sends a Telegram Passport authorization form, effectively sharing data with the service
account.getAuthorizationForm Returns a Telegram Passport authorization form for sharing data with a service
account.getAuthorizations Get logged-in sessions
account.deleteSecureValue Delete stored Telegram Passport documents, for more info see the passport docs »
account.getAllSecureValues Get all saved Telegram Passport documents, for more info see the passport docs »
account.getSecureValue Get saved Telegram Passport document, for more info see the passport docs »
account.saveSecureValue Securely save Telegram Passport document, for more info see the passport docs »
help.getPassportConfig Get passport configuration
users.setSecureValueErrors Notify the user that the sent passport data contains some errors The user will not be able to re-submit their Passport data to you until the errors are fixed (the contents of the field for which you returned the error must change).

Use this if the data submitted by the user doesn't satisfy the standards your service requires for any reason. For example, if a birthday date seems invalid, a submitted document is blurry, a scan shows evidence of tampering, etc. Supply some details in the error message to make sure the user knows how to correct the issues.

Working with temporary profile links

Name Description
contacts.exportContactToken Generates a temporary profile link for the currently logged-in user.
contacts.importContactToken Obtain user info from a temporary profile link.

Working with updates

Name Description
updates.getChannelDifference Returns the difference between the current state of updates of a certain channel and transmitted.
updates.getDifference Get new updates.
updates.getState Returns a current state of updates.

Working with voice message transcription

Name Description
messages.transcribeAudio Transcribe voice message
messages.rateTranscribedAudio Rate transcribed voice message

Working with wallpapers »

Name Description
account.getMultiWallPapers Get info about multiple wallpapers
account.getWallPaper Get info about a certain wallpaper
account.getWallPapers Returns a list of available wallpapers.
account.installWallPaper Install wallpaper
account.resetWallPapers Delete all installed wallpapers, reverting to the default wallpaper set.
account.saveWallPaper Install/uninstall wallpaper
account.uploadWallPaper Create and upload a new wallpaper
messages.setChatWallPaper Set a custom wallpaper » in a specific private chat with another user.

Working with web app bots »

Name Description
messages.requestWebView Open a bot web app, sending over user information after user confirmation.

After calling this method, until the user closes the webview, messages.prolongWebView must be called every 60 seconds.
messages.prolongWebView Indicate to the server (from the user side) that the user is still using a web app.

If the method returns a QUERY_ID_INVALID error, the webview must be closed.
messages.requestSimpleWebView Open a bot web app.
messages.sendWebViewResultMessage Terminate webview interaction started with messages.requestWebView, sending the specified message to the chat on behalf of the user.
messages.sendWebViewData Used by the user to relay data from an opened reply keyboard bot web app to the bot that owns it.
messages.requestAppWebView Open a bot web app from a named bot web app deep link, sending over user information after user confirmation.

After calling this method, until the user closes the webview, messages.prolongWebView must be called every 60 seconds.
messages.getBotApp Obtain information about a named bot web app

Working with bot admin right suggestions

Name Description
bots.setBotBroadcastDefaultAdminRights Set the default suggested admin rights for bots being added as admins to channels, see here for more info on how to handle them ».
bots.setBotGroupDefaultAdminRights Set the default suggested admin rights for bots being added as admins to groups, see here for more info on how to handle them ».

Working with bot inline queries and callback buttons

Name Description
messages.getInlineBotResults Query an inline bot
messages.setInlineBotResults Answer an inline query, for bots only
messages.sendInlineBotResult Send a result obtained using messages.getInlineBotResults.
messages.getBotCallbackAnswer Press an inline callback button and get a callback answer from the bot
messages.setBotCallbackAnswer Set the callback answer to a user button press (bots only)
messages.editInlineBotMessage Edit an inline bot message
messages.sendBotRequestedPeer Send a chosen peer, as requested by a keyboardButtonRequestPeer button.

Working with bots

Name Description
bots.resetBotCommands Clear bot commands for the specified bot scope and language code
bots.getBotCommands Obtain a list of bot commands for the specified bot scope and language code
bots.setBotCommands Set bot command list
bots.setBotInfo Set localized name, about text and description of a bot (or of the current account, if called by a bot).
bots.getBotInfo Get localized name, about text and description of a bot (or of the current account, if called by a bot).

Working with bots (internal bot API use)

Name Description
bots.answerWebhookJSONQuery Answers a custom query; for bots only
bots.sendCustomRequest Sends a custom request; for bots only
help.setBotUpdatesStatus Informs the server about the number of pending bot updates if they haven't been processed for a long time; for bots only

Working with contacts and top peers

Name Description
account.getContactSignUpNotification Whether the user will receive notifications when contacts sign up
account.setContactSignUpNotification Toggle contact sign up notifications
contacts.acceptContact If the peer settings of a new user allow us to add them as contact, add that user as contact
contacts.addContact Add an existing telegram user as contact.

Use contacts.importContacts to add contacts by phone number, without knowing their Telegram ID.
contacts.block Adds the user to the blacklist.
contacts.deleteByPhones Delete contacts by phone number
contacts.deleteContacts Deletes several contacts from the list.
contacts.getBlocked Returns the list of blocked users.
contacts.getContactIDs Get contact by telegram IDs
contacts.getContacts Returns the current user's contact list.
contacts.getLocated Get contacts near you
contacts.getSaved Get all contacts
contacts.getStatuses Returns the list of contact statuses.
contacts.getTopPeers Get most used peers
contacts.importContacts Imports contacts: saves a full list on the server, adds already registered contacts to the contact list, returns added contacts and their info.

Use contacts.addContact to add Telegram contacts without actually using their phone number.
contacts.resetSaved Delete saved contacts
contacts.resetTopPeerRating Reset rating of top peer
contacts.search Returns users found by username substring.
contacts.toggleTopPeers Enable/disable top peers
contacts.unblock Deletes the user from the blacklist.

Working with credit cards

Name Description
payments.getBankCardData Get info about a credit card

Working with dialogs

Name Description
messages.getDialogs Returns the current user dialog list.
messages.getPeerDialogs Get dialog info of specified peers
messages.getPinnedDialogs Get pinned dialogs
messages.toggleDialogPin Pin/unpin a dialog
messages.reorderPinnedDialogs Reorder pinned dialogs
messages.getDialogUnreadMarks Get dialogs manually marked as unread
messages.markDialogUnread Manually mark dialog as unread
messages.getPeerSettings Get peer settings
messages.hidePeerSettingsBar Should be called after the user hides the report spam/add as contact bar of a new chat, effectively prevents the user from executing the actions specified in the peer's settings.
messages.getOnlines Get count of online users in a chat
messages.sendScreenshotNotification Notify the other user in a private chat that a screenshot of the chat was taken
messages.setTyping Sends a current user typing event (see SendMessageAction for all event types) to a conversation partner or group.
messages.setHistoryTTL Set maximum Time-To-Live of all messages in the specified chat

Working with drafts

Name Description
messages.clearAllDrafts Clear all drafts.
messages.getAllDrafts Return all message drafts.
Returns all the latest updateDraftMessage updates related to all chats with drafts.
messages.saveDraft Save a message draft associated to a chat.

Working with folders

Name Description
messages.updateDialogFiltersOrder Reorder folders
messages.getDialogFilters Get folders
messages.getSuggestedDialogFilters Get suggested folders
messages.updateDialogFilter Update folder
folders.editPeerFolders Edit peers in peer folder
chatlists.exportChatlistInvite Export a folder », creating a chat folder deep link ».
chatlists.deleteExportedInvite Delete a previously created chat folder deep link ».
chatlists.editExportedInvite Edit a chat folder deep link ».
chatlists.getExportedInvites List all chat folder deep links » associated to a folder
chatlists.checkChatlistInvite Obtain information about a chat folder deep link ».
chatlists.joinChatlistInvite Import a chat folder deep link », joining some or all the chats in the folder.
chatlists.getChatlistUpdates Fetch new chats associated with an imported chat folder deep link ». Must be invoked at most every chatlist_update_period seconds (as per the related client configuration parameter »).
chatlists.joinChatlistUpdates Join channels and supergroups recently added to a chat folder deep link ».
chatlists.hideChatlistUpdates Dismiss new pending peers recently added to a chat folder deep link ».
chatlists.getLeaveChatlistSuggestions Returns identifiers of pinned or always included chats from a chat folder imported using a chat folder deep link », which are suggested to be left when the chat folder is deleted.
chatlists.leaveChatlist Delete a folder imported using a chat folder deep link »

Working with games

Name Description
messages.getGameHighScores Get highscores of a game
messages.getInlineGameHighScores Get highscores of a game sent using an inline bot
messages.setGameScore Use this method to set the score of the specified user in a game sent as a normal message (bots only).
messages.setInlineGameScore Use this method to set the score of the specified user in a game sent as an inline message (bots only).

Working with group calls & live streaming

Name Description
phone.exportGroupCallInvite Get an invite link for a group call or livestream
phone.getGroupCallJoinAs Get a list of peers that can be used to join a group call, presenting yourself as a specific user/channel.
phone.editGroupCallParticipant Edit information about a given group call participant

Note: flags.N?Bool parameters can have three possible values:

- If the TL flag is not set, the previous value will not be changed.
- If the TL flag is set and contains a boolTrue, the previous value will be overwritten to true.
- If the TL flag is set and contains a boolFalse, the previous value will be overwritten to false.
phone.toggleGroupCallRecord Start or stop recording a group call: the recorded audio and video streams will be automatically sent to Saved messages (the chat with ourselves).
phone.editGroupCallTitle Edit the title of a group call or livestream
phone.getGroupParticipants Get group call participants
phone.checkGroupCall Check whether the group call Server Forwarding Unit is currently receiving the streams with the specified WebRTC source IDs.
Returns an intersection of the source IDs specified in sources, and the source IDs currently being forwarded by the SFU.
phone.createGroupCall Create a group call or livestream
phone.toggleGroupCallStartSubscription Subscribe or unsubscribe to a scheduled group call
phone.leaveGroupCall Leave a group call
phone.toggleGroupCallSettings Change group call settings
phone.inviteToGroupCall Invite a set of users to a group call.
phone.getGroupCall Get info about a group call
phone.joinGroupCall Join a group call
phone.leaveGroupCallPresentation Stop screen sharing in a group call
phone.discardGroupCall Terminate a group call
phone.joinGroupCallPresentation Start screen sharing in a call
phone.startScheduledGroupCall Start a scheduled group call.
phone.saveDefaultGroupCallJoinAs Set the default peer that will be used to join a group call in a specific dialog.
phone.getGroupCallStreamChannels Get info about RTMP streams in a group call or livestream.
This method should be invoked to the same group/channel-related DC used for downloading livestream chunks.
As usual, the media DC is preferred, if available.
phone.getGroupCallStreamRtmpUrl Get RTMP URL and stream key for RTMP livestreams. Can be used even before creating the actual RTMP livestream with phone.createGroupCall (the rtmp_stream flag must be set).

Working with imported chats

Name Description
messages.uploadImportedMedia Upload a media file associated with an imported chat, click here for more info ».
messages.startHistoryImport Complete the history import process, importing all messages into the chat.
To be called only after initializing the import with messages.initHistoryImport and uploading all files using messages.uploadImportedMedia.
messages.checkHistoryImportPeer Check whether chat history exported from another chat app can be imported into a specific Telegram chat, click here for more info ».

If the check succeeds, and no RPC errors are returned, a messages.CheckedHistoryImportPeer constructor will be returned, with a confirmation text to be shown to the user, before actually initializing the import.
messages.checkHistoryImport Obtains information about a chat export file, generated by a foreign chat app, click here for more info about imported chats ».
messages.initHistoryImport Import chat history from a foreign chat app into a specific Telegram chat, click here for more info about imported chats ».

Working with localization packs

Name Description
langpack.getDifference Get new strings in language pack
langpack.getLangPack Get localization pack strings
langpack.getLanguage Get information about a language in a localization pack
langpack.getLanguages Get information about all languages in a localization pack
langpack.getStrings Get strings from a language pack

Working with media autodownload settings

Name Description
account.getAutoDownloadSettings Get media autodownload settings
account.saveAutoDownloadSettings Change media autodownload settings

Working with media autosave settings

Name Description
account.getAutoSaveSettings Get autosave settings
account.saveAutoSaveSettings Modify autosave settings
account.deleteAutoSaveExceptions Clear all peer-specific autosave settings.

Working with message threads

Name Description
messages.getReplies Get messages in a reply thread
contacts.blockFromReplies Stop getting notifications about thread replies of a certain user in @replies
messages.getDiscussionMessage Get discussion message from the associated discussion group of a channel to show it on top of the comment section, without actually joining the group
messages.readDiscussion Mark a thread as read

Working with messages

Name Description
messages.deleteHistory Deletes communication history.
messages.deleteMessages Deletes messages by their identifiers.
messages.editMessage Edit message
messages.forwardMessages Forwards messages by their IDs.
messages.getHistory Returns the conversation history with one interlocutor / within a chat
messages.getSearchResultsPositions Returns sparse positions of messages of the specified type in the chat to be used for shared media scroll implementation.

Returns the results in reverse chronological order (i.e., in order of decreasing message_id).
messages.getMessageEditData Find out if a media message's caption can be edited
messages.getMessages Returns the list of messages by their IDs.
messages.getMessagesViews Get and increase the view counter of a message sent or forwarded from a channel
messages.getRecentLocations Get live location history of a certain user
messages.getSearchCounters Get the number of results that would be found by a messages.search call with the same parameters
messages.getUnreadMentions Get unread messages where we were mentioned
messages.readHistory Marks message history as read.
messages.readMentions Mark mentions as read
messages.readMessageContents Notifies the sender about the recipient having listened a voice message or watched a video.
messages.receivedMessages Confirms receipt of messages by a client, cancels PUSH-notification sending.
messages.search Returns found messages
messages.getSearchResultsCalendar Returns information about the next messages of the specified type in the chat split by days.

Returns the results in reverse chronological order.
Can return partial results for the last returned day.
messages.searchGlobal Search for messages and peers globally
messages.searchSentMedia View and search recently sent media.
This method does not support pagination.
messages.sendMedia Send a media
messages.sendMessage Sends a message to a chat
messages.sendMultiMedia Send an album or grouped media
messages.updatePinnedMessage Pin a message
messages.unpinAllMessages Unpin all pinned messages
messages.toggleNoForwards Enable or disable content protection on a channel or chat
messages.saveDefaultSendAs Change the default peer that should be used when sending messages to a specific group
channels.getSendAs Obtains a list of peers that can be used to send messages in a specific group

Working with notification settings

Name Description
account.registerDevice Register device to receive PUSH notifications
account.unregisterDevice Deletes a device by its token, stops sending PUSH-notifications to it.
account.updateDeviceLocked When client-side passcode lock feature is enabled, will not show message texts in incoming PUSH notifications.
account.getNotifyExceptions Returns list of chats with non-default notification settings
account.getNotifySettings Gets current notification settings for a given user/group, from all users/all groups.
account.updateNotifySettings Edits notification settings from a given user/group, from all users/all groups.
account.resetNotifySettings Resets all notification settings from users and groups.

Working with notification sounds

Name Description
account.getSavedRingtones Fetch saved notification sounds
account.saveRingtone Save or remove saved notification sound.

If the notification sound is already in MP3 format, account.savedRingtone will be returned.
Otherwise, it will be automatically converted and a account.savedRingtoneConverted will be returned, containing a new document object that should be used to refer to the ringtone from now on (ie when deleting it using the unsave parameter, or when downloading it).
account.uploadRingtone Upload notification sound, use account.saveRingtone to convert it and add it to the list of saved notification sounds.

Working with other users

Name Description
users.getFullUser Returns extended user info by ID.
users.getUsers Returns basic user info according to their identifiers.
contacts.resolvePhone Resolve a phone number to get user info, if their privacy settings allow it.

Working with payments

Name Description
payments.getSavedInfo Get saved payment information
payments.clearSavedInfo Clear saved payment information
payments.getPaymentForm Get a payment form
payments.validateRequestedInfo Submit requested order information for validation
messages.setBotShippingResults If you sent an invoice requesting a shipping address and the parameter is_flexible was specified, the bot will receive an updateBotShippingQuery update. Use this method to reply to shipping queries.
account.getTmpPassword Get temporary payment password
payments.sendPaymentForm Send compiled payment form
messages.setBotPrecheckoutResults Once the user has confirmed their payment and shipping details, the bot receives an updateBotPrecheckoutQuery update.
Use this method to respond to such pre-checkout queries.
Note: Telegram must receive an answer within 10 seconds after the pre-checkout query was sent.
payments.getPaymentReceipt Get payment receipt
payments.exportInvoice Generate an invoice deep link

Working with polls

Name Description
messages.getPollResults Get poll results
messages.getPollVotes Get poll results for non-anonymous polls
messages.sendVote Vote in a poll

Working with scheduled messages

Name Description
messages.sendScheduledMessages Send scheduled messages right away
messages.getScheduledHistory Get scheduled messages
messages.deleteScheduledMessages Delete scheduled messages
messages.getScheduledMessages Get scheduled messages

Working with sensitive content (NSFW)

Name Description
account.getContentSettings Get sensitive content settings
account.setContentSettings Set sensitive content settings (for viewing or hiding NSFW content)

Working with sponsored messages

Name Description
channels.getSponsoredMessages Get a list of sponsored messages
channels.viewSponsoredMessage Mark a specific sponsored message as read

Working with statistics

Name Description
stats.loadAsyncGraph Load channel statistics graph asynchronously
stats.getBroadcastStats Get channel statistics
stats.getMessagePublicForwards Obtains a list of messages, indicating to which other public channels was a channel message forwarded.
Will return a list of messages with peer_id equal to the public channel to which this message was forwarded.
stats.getMegagroupStats Get supergroup statistics
stats.getMessageStats Get message statistics

Working with the attachment menu » of web app bots »

Name Description
messages.getAttachMenuBots Returns installed attachment menu bot web apps »
messages.getAttachMenuBot Returns attachment menu entry for a bot web app that can be launched from the attachment menu »
messages.toggleBotInAttachMenu Enable or disable web bot attachment menu »

Working with the native anti-spam system

Name Description
channels.toggleAntiSpam Enable or disable the native antispam system.
channels.reportAntiSpamFalsePositive Report a native antispam false positive

Working with the bot menu button »

Name Description
bots.setBotMenuButton Sets the menu button action » for a given user or for all users
bots.getBotMenuButton Gets the menu button action for a given user or for all users, previously set using bots.setBotMenuButton; users can see this information in the botInfo constructor.

Working with the user's account

Name Description
account.changePhone Change the phone number of the current account
account.confirmPhone Confirm a phone number to cancel account deletion, for more info click here »
account.deleteAccount Delete the user's account from the telegram servers.

Can also be used to delete the account of a user that provided the login code, but forgot the 2FA password and no recovery method is configured, see here » for more info on password recovery, and here » for more info on account deletion.
account.getAccountTTL Get days to live of account
account.getPrivacy Get privacy settings of current account
account.resetAuthorization Log out an active authorized session by its hash
account.sendChangePhoneCode Verify a new phone number to associate to the current account
account.sendConfirmPhoneCode Send confirmation code to cancel account deletion, for more info click here »
account.setAccountTTL Set account self-destruction period
account.setPrivacy Change privacy settings of current account
account.setGlobalPrivacySettings Set global privacy settings
account.getGlobalPrivacySettings Get global privacy settings
account.updateProfile Updates user profile.
account.updateStatus Updates online user status.
messages.setDefaultHistoryTTL Changes the default value of the Time-To-Live setting, applied to all new chats.
messages.getDefaultHistoryTTL Gets the default value of the Time-To-Live setting, applied to all new chats.

Working with user profile pictures

Name Description
photos.deletePhotos Deletes profile photos. The method returns a list of successfully deleted photo IDs.
photos.getUserPhotos Returns the list of user photos.
photos.updateProfilePhoto Installs a previously uploaded photo as a profile photo.
photos.uploadProfilePhoto Updates current user profile photo.

The file, video and video_emoji_markup flags are mutually exclusive.
photos.uploadContactProfilePhoto Upload a custom profile picture for a contact, or suggest a new profile picture to a contact.

The file, video and video_emoji_markup flags are mutually exclusive.

Working with usernames

Name Description
channels.checkUsername Check if a username is free and can be assigned to a channel/supergroup
channels.updateUsername Change or remove the username of a supergroup/channel
account.updateUsername Changes username for the current user.
account.checkUsername Validates a username and checks availability.
contacts.resolveUsername Resolve a @username to get peer info

Other

Name Description
account.invalidateSignInCodes  
channels.clickSponsoredMessage  
contacts.editCloseFriends  
stories.canSendStory  
stories.sendStory  
stories.editStory  
stories.deleteStories  
stories.togglePinned  
stories.getAllStories  
stories.getPinnedStories  
stories.getStoriesArchive  
stories.getStoriesByID  
stories.toggleAllStoriesHidden  
stories.readStories  
stories.incrementStoryViews  
stories.getStoryViewsList  
stories.getStoriesViews  
stories.exportStoryLink  
stories.report  
stories.activateStealthMode  
contacts.setBlocked  
stories.sendReaction  
bots.canSendMessage  
bots.allowSendMessage  
bots.invokeWebViewCustomMethod  
stories.getPeerStories  
stories.getAllReadPeerStories  
stories.getPeerMaxIDs  
stories.getChatsToSend  
stories.togglePeerStoriesHidden  
stories.getBoostsStatus  
stories.getBoostersList  
stories.canApplyBoost  
stories.applyBoost