Method: people.updateContactPhoto

Update a contact's photo.

Mutate requests for the same user should be sent sequentially to avoid increased latency and failures.

HTTP request


The URL uses gRPC Transcoding syntax.

Path parameters



Required. Person resource name

Request body

The request body contains data with the following structure:

JSON representation
  "photoBytes": string,
  "personFields": string,
  "sources": [
    enum (ReadSourceType)

string (bytes format)

Required. Raw photo bytes

A base64-encoded string.


string (FieldMask format)

Optional. A field mask to restrict which fields on the person are returned. Multiple fields can be specified by separating them with commas. Defaults to empty if not set, which will skip the post mutate get. Valid values are:

  • addresses
  • ageRanges
  • biographies
  • birthdays
  • calendarUrls
  • clientData
  • coverPhotos
  • emailAddresses
  • events
  • externalIds
  • genders
  • imClients
  • interests
  • locales
  • locations
  • memberships
  • metadata
  • miscKeywords
  • names
  • nicknames
  • occupations
  • organizations
  • phoneNumbers
  • photos
  • relations
  • sipAddresses
  • skills
  • urls
  • userDefined

enum (ReadSourceType)

Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set.

Response body

The response for updating a contact's photo.

If successful, the response body contains data with the following structure:

JSON representation
  "person": {
    object (Person)

object (Person)

The updated person, if personFields is set in the UpdateContactPhotoRequest; otherwise this will be unset.

Authorization scopes

Requires the following OAuth scope:


For more information, see the Authorization guide.