photos.updateProfilePhoto
photos.updateProfilePhoto
Section titled “photos.updateProfilePhoto”No description provided by the pinned schema.
Signature
Section titled “Signature”photos.updateProfilePhoto#09e82039 flags:# fallback:flags.0?true bot:flags.1?InputUser id:InputPhoto = photos.Photo;Result type
Section titled “Result type”photos.Photo
Parameters
Section titled “Parameters”| Name | Type | Flag | Default | Description |
|---|---|---|---|---|
| flags | # | flag word | — | No description provided by the pinned schema. |
| fallback | flags.0?true | flags.0 | — | No description provided by the pinned schema. |
| bot | flags.1?InputUser | flags.1 | — | No description provided by the pinned schema. |
| id | InputPhoto | — | — | No description provided by the pinned schema. |
| Parameter | Bit | Meaning |
|---|---|---|
| fallback | 0 | Controlled by flags; present when this bit is set. |
| bot | 1 | Controlled by flags; present when this bit is set. |
Python binding
Section titled “Python binding”from miniproto.raw.functions import PhotosUpdateProfilePhotoPublic access: miniproto.raw.functions.PhotosUpdateProfilePhoto.
Safe usage shape
Section titled “Safe usage shape”from miniproto.raw.functions import PhotosUpdateProfilePhoto
# Naming the raw request class is local only; it performs no I/O or network request.request_type = PhotosUpdateProfilePhotoResult family
Section titled “Result family”RPC errors
Section titled “RPC errors”| Code | Error | Description |
|---|---|---|
| 400 | ALBUM_PHOTOS_TOO_MANY | You have uploaded too many profile photos, delete some before retrying. |
| 400 | BOT_FALLBACK_UNSUPPORTED | The fallback flag can’t be set for bots. |
| 400 | FILE_PARTS_INVALID | The number of file parts is invalid. |
| 400 | IMAGE_PROCESS_FAILED | Failure while processing image. |
| 400 | LOCATION_INVALID | The provided location is invalid. |
| 400 | PHOTO_CROP_SIZE_SMALL | Photo is too small. |
| 400 | PHOTO_EXT_INVALID | The extension of the photo is invalid. |
| 400 | PHOTO_ID_INVALID | Photo ID invalid. |
| 401 | AUTH_KEY_UNREGISTERED | The specified authorization key is not registered in the system (for example, a PFS temporary key has expired). |
Accepted types
Section titled “Accepted types”InputPhoto, InputUser
Known selected constructors: inputPhoto, inputPhotoEmpty, inputUser, inputUserEmpty, inputUserFromMessage, inputUserSelf
Returned types
Section titled “Returned types”photos.Photo
Known selected constructors: photos.photo
Related methods
Section titled “Related methods”account.confirmBotConnection, account.getPaidMessagesRevenue, account.reportProfilePhoto, account.toggleNoPaidMessagesException, account.updateConnectedBot, bots.addPreviewMedia, bots.allowSendMessage, bots.canSendMessage, bots.checkDownloadFileParams, bots.createBot, bots.deletePreviewMedia, bots.editAccessSettings, bots.editPreviewMedia, bots.exportBotToken, bots.getAccessSettings, bots.getBotInfo, bots.getBotMenuButton, bots.getBotRecommendations, bots.getPreviewInfo, bots.getPreviewMedias, bots.getRequestedWebViewButton, bots.invokeWebViewCustomMethod, bots.reorderPreviewMedias, bots.reorderUsernames, bots.requestWebViewButton, bots.setBotInfo, bots.setBotMenuButton, bots.setCustomVerification, bots.toggleUserEmojiStatusPermission, bots.toggleUsername, bots.updateStarRefProgram, bots.updateUserEmojiStatus, channels.editAdmin, channels.getAdminLog, channels.inviteToChannel, channels.toggleJoinRequest, contacts.acceptContact, contacts.addContact, contacts.deleteContacts, contacts.updateContactNote, ephemeral.deleteMessage, ephemeral.editMessage, ephemeral.sendMessage, help.editUserInfo, help.getUserInfo, messages.addChatUser, messages.createChat, messages.deleteChatUser, messages.deleteRevokedExportedChatInvites, messages.editChatAdmin, messages.editChatCreator, messages.getAttachMenuBot, messages.getChatInviteImporters, messages.getCommonChats, messages.getExportedChatInvites, messages.getGameHighScores, messages.getInlineBotResults, messages.getInlineGameHighScores, messages.getPersonalChannelHistory, messages.getPreparedInlineMessage, messages.hideChatJoinRequest, messages.prolongWebView, messages.requestEncryption, messages.requestMainWebView, messages.requestSimpleWebView, messages.requestWebView, messages.savePreparedInlineMessage, messages.sendWebViewData, messages.setGameScore, messages.setInlineGameScore, messages.startBot, messages.toggleBotInAttachMenu, payments.botCancelStarsSubscription, payments.connectStarRefBot, payments.getConnectedStarRefBot, payments.getStarsGiftOptions, payments.refundStarsCharge, phone.inviteConferenceCallParticipant, phone.inviteToGroupCall, phone.requestCall, photos.deletePhotos, photos.getUserPhotos, photos.uploadContactProfilePhoto, photos.uploadProfilePhoto, premium.getUserBoosts, stickers.createStickerSet, users.getFullUser, users.getRequirementsToContact, users.getSavedMusic, users.getSavedMusicByID, users.getUsers, users.setSecureValueErrors, users.suggestBirthday
Provenance
Section titled “Provenance”- layer: 228
- structural source:
tdlib - canonical schema: https://raw.githubusercontent.com/tdlib/td/refs/heads/master/td/generate/scheme/telegram_api.tl
- prose merge precedence: TDLib → Telegram Desktop → Core JSON
- source note: Canonical structure is the pinned TDLib telegram_api.tl; Layer 228 comes only from the matching Telegram Desktop end-of-file marker; core.telegram.org inputs enrich documentation and RPC error metadata without overriding structure.
Source-diff notes
Section titled “Source-diff notes”- tdlib_vs_core: changed_count=68; core_only_count=1; overlap_count=2302; tdlib_only_count=158
- tdlib_vs_tdesktop: changed_count=0; overlap_count=2448; tdesktop_only=null; tdlib_only=accessPointRule, ephemeral.editMessage, help.configSimple, inputPeerPhotoFileLocationLegacy, inputStickerSetThumbLegacy, invokeWithApnsSecretPrefix, invokeWithBusinessConnectionPrefix, invokeWithGooglePlayIntegrityPrefix, invokeWithReCaptchaPrefix, ipPort, ipPortSecret, updateEphemeralBotCallbackQuery