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.

API section: Working with user/channel profiles

photos.uploadContactProfilePhoto#e14c4a71 flags:# suggest:flags.3?true save:flags.4?true user_id:InputUser file:flags.0?InputFile video:flags.1?InputFile video_start_ts:flags.2?double video_emoji_markup:flags.5?VideoSize = photos.Photo;

Parameters

NameTypeDescription
flags # Bit mask: a field written flags.N?T is present only when bit N is set.
suggest flags.3?true
save flags.4?true
user_id InputUser User identifier.
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.5?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 FILE_PARTS_INVALID The number of file parts does not match what was declared when the upload started.
400 USER_ID_INVALID No user with this identifier exists.

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