photos.uploadProfilePhoto

Updates current user profile photo.The file, video and video_emoji_markup flags are mutually exclusive.

API section: Working with user/channel profiles

photos.uploadProfilePhoto#388a3b5 flags:# fallback:flags.3?true bot:flags.5?InputUser file:flags.0?InputFile video:flags.1?InputFile video_start_ts:flags.2?double video_emoji_markup:flags.4?VideoSize = photos.Photo;

Parameters

NameTypeDescription
flags # Bit mask: a field written flags.N?T is present only when bit N is set.
fallback flags.3?true
bot flags.5?InputUser Bot.
file flags.0?InputFile A file or one of its parts.
video flags.1?InputFile Video.
video_start_ts flags.2?double
video_emoji_markup flags.4?VideoSize

Result

photos.Photo

Possible errors

Read out of the handler itself — this is what the server actually returns for this method.

CodeTypeWhat it means
400 BOT_INVALID The account given is not a bot, or the bot does not exist.
400 FILE_PARTS_INVALID The number of file parts does not match what was declared when the upload started.

Common to every call

CodeTypeWhat it means
401 AUTH_KEY_UNREGISTERED The server does not know this session: the key was revoked, expired, or the call was made before authorisation.
401 API_ID_INVALID This api_id was never issued or has been blocked. Keys come from my.ansible.su.
400 CONNECTION_LAYER_INVALID The client did not declare a layer, or declared one the server does not know.
420 FLOOD_WAIT_X Too often. Do not retry for X seconds — the number arrives in the error text.
500 INTERNAL A failure on our side. The request may be retried; if it keeps failing, it is a bug of ours.

Related pages

Types used here