---
title: Methods
description: What do you want to do?
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# What do you want to do?
[Go back to API documentation index](..)
[Go to the old code-version method index](api_README.md)
* [Logout](https://docs.madelineproto.xyz/logout.html)
* [Login](https://docs.madelineproto.xyz/docs/LOGIN.html)
* [Change 2FA password](https://docs.madelineproto.xyz/update2fa.html)
* [Get all chats, broadcast a message to all chats](https://docs.madelineproto.xyz/docs/DIALOGS.html)
* [Get the full participant list of a channel/group/supergroup](https://docs.madelineproto.xyz/getPwrChat.html)
* [Get full info about a user/chat/supergroup/channel](https://docs.madelineproto.xyz/getFullInfo.html)
* [Get info about a user/chat/supergroup/channel](https://docs.madelineproto.xyz/getInfo.html)
* [Get info about the currently logged-in user](https://docs.madelineproto.xyz/getSelf.html)
* [Upload or download files up to 1.5 GB](https://docs.madelineproto.xyz/docs/FILES.html)
* [Make a phone call and play a song](https://docs.madelineproto.xyz/docs/CALLS.html)
* [Create a secret chat bot](https://docs.madelineproto.xyz/docs/SECRET_CHATS.html)
* Accept the new terms of service: help.acceptTermsOfService
* Add GIF to saved gifs list: messages.saveGif
* Add a sticker to a stickerset, bots only. The sticker set must have been created by the bot: stickers.addStickerToSet
* Add/remove sticker from recent stickers list: messages.saveRecentSticker
* Adds a user to a chat and sends a service message on it: messages.addChatUser
* Adds the user to the blacklist: contacts.block
* Allow or disallow any user to invite users to this channel/supergroup: channels.toggleInvites
* Answer an inline query, for bots only: messages.setInlineBotResults
* Answers a custom query; for bots only: bots.answerWebhookJSONQuery
* Associate a stickerset to the supergroup: channels.setStickers
* Ban/unban/kick a user in a supergroup/channel: channels.editBanned
* Cancel the code that was sent to verify an email to use as 2FA recovery method: account.cancelPasswordEmail
* Cancel the login verification code: auth.cancelCode
* Chanages chat name and sends a service message on it: messages.editChatTitle
* Change privacy settings of current account: account.setPrivacy
* Change the phone number of the current account: account.changePhone
* Change the photo of a channel/supergroup: channels.editPhoto
* Change the username of a supergroup/channel: channels.updateUsername
* Changes chat photo and sends a service message on it: messages.editChatPhoto
* 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.changeStickerPosition
* Changes username for the current user: account.updateUsername
* Check if a username is free and can be assigned to a channel/supergroup: channels.checkUsername
* Check the validity of a chat invite link and get basic info about it: messages.checkChatInvite
* Clear all drafts: messages.clearAllDrafts
* Clear recent stickers: messages.clearRecentStickers
* Clear saved payment information: payments.clearSavedInfo
* Confirm a phone number to cancel account deletion, for more info click here »: account.confirmPhone
* Confirms receipt of messages by a client, cancels PUSH-notification sending: messages.receivedMessages
* Create a supergroup/channel: channels.createChannel
* Create a stickerset, bots only: stickers.createStickerSet
* Creates a new chat: messages.createChat
* Delete a channel/supergroup: channels.deleteChannel
* Delete a contact: contacts.deleteContact
* Delete all messages sent by a certain user in a supergroup: channels.deleteUserHistory
* Delete all temporary authorization keys except for the ones specified: auth.dropTempAuthKeys
* Delete contacts by phone number: contacts.deleteByPhones
* Delete messages in a channel/supergroup: channels.deleteMessages
* Delete saved contacts: contacts.resetSaved
* Delete stored Telegram Passport documents, for more info see the passport docs »: account.deleteSecureValue
* Delete the history of a supergroup: channels.deleteHistory
* 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.deleteAccount
* Deletes a device by its token, stops sending PUSH-notifications to it: account.unregisterDevice
* Deletes a user from a chat and sends a service message on it: messages.deleteChatUser
* Deletes communication history: messages.deleteHistory
* Deletes messages by their identifiers: messages.deleteMessages
* Deletes profile photos: photos.deletePhotos
* Deletes several contacts from the list: contacts.deleteContacts
* Deletes the user from the blacklist: contacts.unblock
* Edit an inline bot message: messages.editInlineBotMessage
* Edit message: messages.editMessage
* Edit the about text of a channel/supergroup: channels.editAbout
* Edit the name of a channel/supergroup: channels.editTitle
* Edits notification settings from a given user/group, from all users/all groups: account.updateNotifySettings
* Enable all users are admins in normal groups (not supergroups): messages.toggleChatAdmins
* Enable/disable top peers: contacts.toggleTopPeers
* Enable/disable message signatures in channels: channels.toggleSignatures
* Export an invite link for a chat: messages.exportChatInvite
* Export the invite link of a channel: channels.exportInvite
* Find out if a media message's caption can be edited: messages.getMessageEditData
* Finish account takeout session: account.finishTakeoutSession
* Forwards messages by their IDs: messages.forwardMessages
* Get channel/supergroup messages: channels.getMessages
* 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.getAdminedPublicChannels
* Get instant view page: messages.getWebPage
* Get passport configuration: help.getPassportConfig
* Get a document by its SHA256 hash, mainly used for gifs: messages.getDocumentByHash
* Get a list of channels/supergroups we left: channels.getLeftChannels
* Get a payment form: payments.getPaymentForm
* Get all archived stickers: messages.getArchivedStickers
* Get all chats, channels and supergroups: messages.getAllChats
* Get all contacts: contacts.getSaved
* Get all installed stickers: messages.getAllStickers
* Get all saved Telegram Passport documents, for more info see the passport docs »: account.getAllSecureValues
* Get and increase the view counter of a message sent or forwarded from a channel: messages.getMessagesViews
* Get app-specific configuration: help.getAppConfig
* Get changelog of current app: help.getAppChangelog
* Get chats in common with a user: messages.getCommonChats
* Get configuration for CDN file downloads: help.getCdnConfig
* Get contact by telegram IDs: contacts.getContactIDs
* Get count of online users in a chat: messages.getOnlines
* Get days to live of account: account.getAccountTTL
* Get dialog info of specified peers: messages.getPeerDialogs
* Get dialogs manually marked as unread: messages.getDialogUnreadMarks
* Get faved stickers: messages.getFavedStickers
* Get featured stickers: messages.getFeaturedStickers
* Get highscores of a game sent using an inline bot: messages.getInlineGameHighScores
* Get highscores of a game: messages.getGameHighScores
* Get info about channels/supergroups: channels.getChannels
* Get info about a channel/supergroup participant: channels.getParticipant
* Get info about a t.me link: help.getDeepLinkInfo
* Get info about a stickerset: messages.getStickerSet
* Get information about a language in a localization pack: langpack.getLanguage
* Get information about all languages in a localization pack: langpack.getLanguages
* Get installed mask stickers: messages.getMaskStickers
* Get link and embed info of a message in a channel/supergroup: channels.exportMessageLink
* Get live location history of a certain user: messages.getRecentLocations
* Get localization pack strings: langpack.getLangPack
* Get localized name of the telegram support user: help.getSupportName
* Get logged-in sessions: account.getAuthorizations
* Get message ranges for saving the user's chat history: messages.getSplitRanges
* Get most used peers: contacts.getTopPeers
* Get new strings in languagepack: langpack.getDifference
* Get payment receipt: payments.getPaymentReceipt
* Get peer settings: messages.getPeerSettings
* Get phone call configuration to be passed to libtgvoip's shared config: phone.getCallConfig
* Get pinned dialogs: messages.getPinnedDialogs
* Get poll results: messages.getPollResults
* Get preview of webpage: messages.getWebPagePreview
* Get privacy settings of current account: account.getPrivacy
* Get promotion info of the currently-used MTProxy: help.getProxyData
* Get recent stickers: messages.getRecentStickers
* Get recently used t.me links: help.getRecentMeUrls
* Get saved GIFs: messages.getSavedGifs
* Get saved Telegram Passport document, for more info see the passport docs »: account.getSecureValue
* Get saved payment information: payments.getSavedInfo
* Get stickers attached to a photo or video: messages.getAttachedStickers
* Get stickers by emoji: messages.getStickers
* Get strings from a language pack: langpack.getStrings
* Get temporary payment password: account.getTmpPassword
* Get the admin log of a channel/supergroup: channels.getAdminLog
* Get the participants of a channel: channels.getParticipants
* Get unread messages where we were mentioned: messages.getUnreadMentions
* Get web login widget authorizations: account.getWebAuthorizations
* Gets back found messages: messages.search
* Gets back the conversation history with one interlocutor / within a chat: messages.getHistory
* Gets current notification settings for a given user/group, from all users/all groups: account.getNotifySettings
* Hide report spam popup: messages.hideReportSpam
* Hide/unhide message history for new channel/supergroup users: channels.togglePreHistoryHidden
* 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: messages.setBotShippingResults
* Import a chat invite and join a private chat/supergroup/channel: messages.importChatInvite
* Imports contacts: saves a full list on the server, adds already registered contacts to the contact list, returns added contacts and their info: contacts.importContacts
* Informs the server about the number of pending bot updates if they haven't been processed for a long time; for bots only: help.setBotUpdatesStatus
* Initialize connection: initConnection
* Install a stickerset: messages.installStickerSet
* Installs a previously uploaded photo as a profile photo: photos.updateProfilePhoto
* Internal use: help.editUserInfo
* Internal use: help.getUserInfo
* Intialize account takeout session: account.initTakeoutSession
* Invite users to a channel/supergroup: channels.inviteToChannel
* Invoke a method within a takeout session: invokeWithTakeout
* Invoke a request without subscribing the used connection for updates (this is enabled by default for file queries): invokeWithoutUpdates
* Invoke the specified query using the specified API layer: invokeWithLayer
* Invoke with the given message range: invokeWithMessagesRange
* Invokes a query after a successfull completion of previous queries: invokeAfterMsgs
* Invokes a query after successfull completion of one of the previous queries: invokeAfterMsg
* Join a channel/supergroup: channels.joinChannel
* Leave a channel/supergroup: channels.leaveChannel
* Log out an active authorized session by its hash: account.resetAuthorization
* Log out an active web telegram login session: account.resetWebAuthorization
* Look for updates of telegram's terms of service: help.getTermsOfServiceUpdate
* Make a user admin in a legacy group: messages.editChatAdmin
* Manually mark dialog as unread: messages.markDialogUnread
* Mark channel/supergroup history as read: channels.readHistory
* Mark channel/supergroup message contents as read: channels.readMessageContents
* Mark a sticker as favorite: messages.faveSticker
* Mark mentions as read: messages.readMentions
* Mark new featured stickers as read: messages.readFeaturedStickers
* Marks message history as read: messages.readHistory
* Marks message history within a secret chat as read: messages.readEncryptedHistory
* Modify the admin rights of a user in a supergroup/channel: channels.editAdmin
* Notifies the sender about the recipient having listened a voice message or watched a video: messages.readMessageContents
* Notify the other user in a private chat that a screenshot of the chat was taken: messages.sendScreenshotNotification
* 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): users.setSecureValueErrors
* Obtain configuration for two-factor authorization with password: account.getPassword
* Once the user has confirmed their payment and shipping details, the bot receives an updateBotPrecheckoutQuery update. : messages.setBotPrecheckoutResults
* 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.receivedCall
* Pin a message: messages.updatePinnedMessage
* Pin/unpin a dialog: messages.toggleDialogPin
* Press an inline callback button and get a callback answer from the bot: messages.getBotCallbackAnswer
* Query an inline bot: messages.getInlineBotResults
* Rate a call: phone.setCallRating
* Register device to receive PUSH notifications: account.registerDevice
* Remove a sticker from the set where it belongs, bots only. The sticker set must have been created by the bot: stickers.removeStickerFromSet
* Reorder installed stickersets: messages.reorderStickerSets
* Reorder pinned dialogs: messages.reorderPinnedDialogs
* Report a message in a chat for violation of telegram's Terms of Service: messages.report
* Report a new incoming chat for spam, if the peer settings of the chat allow us to do that: messages.reportSpam
* Report a peer for violation of telegram's Terms of Service: account.reportPeer
* Report a secret chat for spam: messages.reportEncryptedSpam
* Reports some messages from a user in a supergroup as spam; requires administrator rights in the supergroup: channels.reportSpam
* Request recovery code of a 2FA password, only for accounts with a recovery email configured: auth.requestPasswordRecovery
* Resend the code to verify an email to use as 2FA recovery method: account.resendPasswordEmail
* 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.resendCode
* Reset rating of top peer: contacts.resetTopPeerRating
* Reset all active web telegram login sessions: account.resetWebAuthorizations
* Reset the 2FA password using the recovery code sent using auth.requestPasswordRecovery: auth.recoverPassword
* Resets all notification settings from users and groups: account.resetNotifySettings
* Returns URL with the chat statistics. Currently this method can be used only for channels: messages.getStatsURL
* Returns a Telegram Passport authorization form for sharing data with a service: account.getAuthorizationForm
* Returns a list of available wallpapers: account.getWallPapers
* Returns basic user info according to their identifiers: users.getUsers
* Returns chat basic info on their IDs: messages.getChats
* Returns content of an HTTP file or a part, by proxying the request through telegram: upload.getWebFile
* Returns current configuration, icluding data center configuration: help.getConfig
* Returns info on data centre nearest to the user: help.getNearestDc
* Returns information on update availability for the current application: help.getAppUpdate
* Returns list of chats with non-default notification settings: account.getNotifyExceptions
* Returns text of a text message with an invitation: help.getInviteText
* Returns the current user dialog list: messages.getDialogs
* Returns the current user's contact list: contacts.getContacts
* Returns the list of blocked users: contacts.getBlocked
* Returns the list of contact statuses: contacts.getStatuses
* Returns the list of messages by their IDs: messages.getMessages
* Returns the list of user photos: photos.getUserPhotos
* Returns the support user for the 'ask a question' feature: help.getSupport
* Returns users found by username substring: contacts.search
* Save a message draft associated to a chat: messages.saveDraft
* Save get all message drafts: messages.getAllDrafts
* Saves logs of application on the server: help.saveAppLog
* Search for GIFs: messages.searchGifs
* Search for messages and peers globally: messages.searchGlobal
* Search for stickersets: messages.searchStickerSets
* Securely save Telegram Passport document, for more info see the passport docs »: account.saveSecureValue
* Send a media: messages.sendMedia
* Send a result obtained using messages.getInlineBotResults: messages.sendInlineBotResult
* Send an album of media: messages.sendMultiMedia
* Send compiled payment form: payments.sendPaymentForm
* Send confirmation code to cancel account deletion, for more info click here »: account.sendConfirmPhoneCode
* Send phone call debug data to server: phone.saveCallDebug
* Send the verification email code for telegram passport: account.sendVerifyEmailCode
* Send the verification phone code for telegram passport: account.sendVerifyPhoneCode
* Send typing event by the current user to a secret chat: messages.setEncryptedTyping
* Sends a Telegram Passport authorization form, effectively sharing data with the service: account.acceptAuthorization
* Sends a current user typing event (see SendMessageAction for all event types) to a conversation partner or group: messages.setTyping
* Sends a custom request; for bots only: bots.sendCustomRequest
* Sends a message to a chat: messages.sendMessage
* Sends a message with a file attachment to a secret chat: messages.sendEncryptedFile
* Sends a service message to a secret chat: messages.sendEncryptedService
* Sends a text message to a secret chat: messages.sendEncrypted
* Set account self-destruction period: account.setAccountTTL
* Set the callback answer to a user button press (bots only): messages.setBotCallbackAnswer
* Start a conversation with a bot using a deep linking parameter: messages.startBot
* Submit requested order information for validation: payments.validateRequestedInfo
* Terminates all user's authorized sessions except for the current one: auth.resetAuthorizations
* Toggle contact sign up notifications: account.setContactSignUpNotification
* Turn a legacy group into a supergroup: messages.migrateChat
* Uninstall a stickerset: messages.uninstallStickerSet
* Updates current user profile photo: photos.uploadProfilePhoto
* Updates online user status: account.updateStatus
* Updates user profile: account.updateProfile
* Upload a file and associate it to a chat (without actually sending it to the chat): messages.uploadMedia
* Upload encrypted file and associate it to a secret chat: messages.uploadEncryptedFile
* Use this method to set the score of the specified user in a game sent as a normal message (bots only): messages.setGameScore
* Use this method to set the score of the specified user in a game sent as an inline message (bots only): messages.setInlineGameScore
* Validates a username and checks availability: account.checkUsername
* Verify a new phone number to associate to the current account: account.sendChangePhoneCode
* Verify a phone number for telegram passport: account.verifyPhone
* Verify an email address for telegram passport: account.verifyEmail
* Verify an email to use as 2FA recovery method: account.confirmPasswordEmail
* Vote in a poll: messages.sendVote
* When client-side passcode lock feature is enabled, will not show message texts in incoming PUSH notifications: account.updateDeviceLocked
* Whether the user will receive notifications when contacts sign up: account.getContactSignUpNotification
* You cannot use this method directly, instead modify the PFS and default_temp_auth_key_expires_in settings, see https://docs.madelineproto.xyz/docs/SETTINGS.html for more info: auth.bindTempAuthKey
* You cannot use this method directly, instead use $MadelineProto->getDhConfig();: messages.getDhConfig
* You cannot use this method directly, see https://docs.madelineproto.xyz for more info on handling secret chats: messages.acceptEncryption
* You cannot use this method directly, see https://docs.madelineproto.xyz for more info on handling secret chats: messages.discardEncryption
* You cannot use this method directly, see https://docs.madelineproto.xyz for more info on handling secret chats: messages.requestEncryption
* You cannot use this method directly, see https://docs.madelineproto.xyz for more info on handling updates: updates.getChannelDifference
* You cannot use this method directly, see https://docs.madelineproto.xyz for more info on handling updates: updates.getDifference
* You cannot use this method directly, see https://docs.madelineproto.xyz for more info on handling updates: updates.getState
* You cannot use this method directly, see https://docs.madelineproto.xyz#calls for more info on handling calls: phone.acceptCall
* You cannot use this method directly, see https://docs.madelineproto.xyz#calls for more info on handling calls: phone.confirmCall
* You cannot use this method directly, see https://docs.madelineproto.xyz#calls for more info on handling calls: phone.discardCall
* You cannot use this method directly, see https://docs.madelineproto.xyz#calls for more info on handling calls: phone.requestCall
* You cannot use this method directly, use $MadelineProto->exportAuthorization() instead, see https://docs.madelineproto.xyz/docs/LOGIN.html: auth.exportAuthorization
* You cannot use this method directly, use $MadelineProto->importAuthorization($authorization) instead, see https://docs.madelineproto.xyz/docs/LOGIN.html: auth.importAuthorization
* You cannot use this method directly, use the botLogin method instead (see https://docs.madelineproto.xyz for more info): auth.importBotAuthorization
* You cannot use this method directly, use the complete2falogin method instead (see https://docs.madelineproto.xyz for more info): auth.checkPassword
* You cannot use this method directly, use the completePhoneLogin method instead (see https://docs.madelineproto.xyz for more info): auth.signIn
* You cannot use this method directly, use the completeSignup method instead (see https://docs.madelineproto.xyz for more info): auth.signUp
* You cannot use this method directly, use the getPwrChat, getInfo, getFullInfo methods instead (see https://docs.madelineproto.xyz for more info): channels.getFullChannel
* You cannot use this method directly, use the getPwrChat, getInfo, getFullInfo methods instead (see https://docs.madelineproto.xyz for more info): messages.getFullChat
* You cannot use this method directly, use the getPwrChat, getInfo, getFullInfo methods instead (see https://docs.madelineproto.xyz for more info): users.getFullUser
* You cannot use this method directly, use the logout method instead (see https://docs.madelineproto.xyz for more info): auth.logOut
* You cannot use this method directly, use the phoneLogin method instead (see https://docs.madelineproto.xyz for more info): auth.sendCode
* You cannot use this method directly, use the resolveUsername, getPwrChat, getInfo, getFullInfo methods instead (see https://docs.madelineproto.xyz for more info): contacts.resolveUsername
* You cannot use this method directly, use the upload, downloadToStream, downloadToFile, downloadToDir methods instead; see https://docs.madelineproto.xyz for more info: upload.getCdnFile
* You cannot use this method directly, use the upload, downloadToStream, downloadToFile, downloadToDir methods instead; see https://docs.madelineproto.xyz for more info: upload.getCdnFileHashes
* You cannot use this method directly, use the upload, downloadToStream, downloadToFile, downloadToDir methods instead; see https://docs.madelineproto.xyz for more info: upload.getFile
* You cannot use this method directly, use the upload, downloadToStream, downloadToFile, downloadToDir methods instead; see https://docs.madelineproto.xyz for more info: upload.getFileHashes
* You cannot use this method directly, use the upload, downloadToStream, downloadToFile, downloadToDir methods instead; see https://docs.madelineproto.xyz for more info: upload.reuploadCdnFile
* You cannot use this method directly, use the upload, downloadToStream, downloadToFile, downloadToDir methods instead; see https://docs.madelineproto.xyz for more info: upload.saveBigFilePart
* You cannot use this method directly, use the upload, downloadToStream, downloadToFile, downloadToDir methods instead; see https://docs.madelineproto.xyz for more info: upload.saveFilePart
* You cannot use this method directly: messages.receivedQueue
* You cannot use this method directly; use $MadelineProto->update2fa($params), instead (see https://docs.madelineproto.xyz for more info): account.getPasswordSettings
* You cannot use this method directly; use $MadelineProto->update2fa($params), instead (see https://docs.madelineproto.xyz for more info): account.updatePasswordSettings