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
channels.reportSpam Reports some messages from a user in a supergroup as spam; requires administrator rights in the supergroup 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 centre 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

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 URL 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.


Name Description
help.saveAppLog Saves logs of application on the server.
initConnection Initialize connection
invokeAfterMsg Invokes a query after successfull completion of one of the previous queries.
invokeAfterMsgs Invokes a query after a successfull 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).


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
auth.checkPassword Try logging to an account protected by a 2FA password.
auth.dropTempAuthKeys Delete all temporary authorization keys except for the ones specified
auth.exportAuthorization Returns data for copying authorization to another data-centre.
auth.importAuthorization Logs in a user using a key transmitted from his native data-centre.
auth.importBotAuthorization Login as a bot
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.

Working with GDPR export

Name Description
account.initTakeoutSession Intialize 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
messages.searchGifs Search for GIFs

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 Internal use

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

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.setCallRating Rate a call

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.deleteUserHistory Delete all messages sent by a certain user in a 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 channel
channels.getGroupsForDiscussion Get all groups that can be used as discussion groups
channels.getMessages Get channel/supergroup messages
channels.getParticipant Get info about a channel/supergroup participant
channels.getParticipants Get the participants of a channel
channels.inviteToChannel Invite users to a channel/supergroup
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
messages.getStatsURL Returns URL with the chat statistics. Currently this method can be used only for channels

Working with chats/supergroups/channels

Name Description
messages.addChatUser Adds a user to a chat and sends a service message on it.
messages.checkChatInvite Check the validity of a chat invite link and get basic info about it
messages.createChat Creates a new chat.
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 legacy 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 Chanages chat name and sends a service message on it.
messages.exportChatInvite Export an invite link for a chat
messages.getAllChats Get all chats, channels and supergroups
messages.getChats Returns chat basic info on their IDs.
messages.getCommonChats Get chats in common with a user
messages.getFullChat Returns full chat info according to its ID.
messages.importChatInvite Import a chat invite and join a private chat/supergroup/channel
messages.migrateChat Turn a legacy group into a supergroup

Working with deep links

Name Description
messages.startBot Start a conversation with a bot using a deep linking parameter
help.getDeepLinkInfo Get info about a link
help.getRecentMeUrls Get recently used links

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 an HTTP file or a part, by proxying the request through telegram.
upload.saveBigFilePart Saves a part of a large file (over 10Mb in size) to be later passed to one of the methods.
upload.saveFilePart Saves a part of file for futher 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.getDocumentByHash Get a document by its SHA256 hash, mainly used for gifs

Working with instant view pages

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

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.

Working with telegram passport

Name Description
account.sendVerifyEmailCode Send the verification email code for telegram passport.
account.verifyEmail Verify an email address for telegram passport.
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 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 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

Working with bots

Name Description
bots.setBotCommands Set bot command list

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 channel stats

Name Description
stats.loadAsyncGraph Load channel statistics graph asynchronously
stats.getBroadcastStats Get channel statistics

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

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 him 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 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.

Working with drafts

Name Description
messages.clearAllDrafts Clear all drafts.
messages.getAllDrafts Save get all message drafts.
messages.saveDraft Save a message draft associated to a chat.

Working with emoji keywords

Name Description
messages.getEmojiKeywords Get localized emoji keywords
messages.getEmojiKeywordsDifference Get changed emoji keywords
messages.getEmojiKeywordsLanguages Get info about an emoji keyword localization
messages.getEmojiURL Returns an HTTP URL which can be used to automatically log in into translation platform and suggest new emoji replacements. The URL will be valid for 30 seconds after generation

Working with folders

Name Description
messages.updateDialogFiltersOrder Reorder folders
messages.getDialogFilters Get folders
messages.getSuggestedDialogFilters Get suggested folders
messages.updateDialogFilter Update folder
folders.deleteFolder Delete a peer folder
folders.editPeerFolders Edit peers in peer folder

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 localization packs

Name Description
langpack.getDifference Get new strings in languagepack
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 message reactions

Name Description
messages.getMessagesReactions Get message reactions
messages.sendReaction Send reaction to message
messages.getMessageReactionsList Get full message reaction list

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 Gets back the conversation history with one interlocutor / within a chat
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 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. Gets back found messages
messages.searchGlobal Search for messages and peers globally
messages.sendMedia Send a media
messages.sendMessage Sends a message to a chat
messages.sendMultiMedia Send an album of media
messages.updatePinnedMessage Pin a message

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 other users

Name Description
users.getFullUser Returns extended user info by ID.
users.getUsers Returns basic user info according to their identifiers.

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

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 proxies

Name Description
help.getProxyData Get promotion info of the currently-used MTProxy

Working with stickers

Name Description
messages.getOldFeaturedStickers Method for fetching previously featured stickers
messages.toggleStickerSets Apply changes to multiple stickersets
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.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 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 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 be used, for example, to delete the account of a user that provided the login code, but forgot the 2FA password and no recovery method is configured.
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.updateProfile Updates user profile.
account.updateStatus Updates online user status.

Working with user profile pictures

Name Description
photos.deletePhotos Deletes profile photos.
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.

Working with usernames

Name Description
channels.checkUsername Check if a username is free and can be assigned to a channel/supergroup
channels.updateUsername Change 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

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 installed wallpapers
account.saveWallPaper Install/uninstall wallpaper
account.uploadWallPaper Create and upload a new wallpaper