AI-generated Key Takeaways
-
Updates contact data for an existing contact person, replacing specified fields with new values.
-
Requires specifying
updatePersonFieldsto indicate which fields to update andperson.metadata.sourcesfor identification. -
Returns a 400 error if there are inconsistencies with the contact's data or issues with the provided update information, like missing contact groups when updating memberships.
-
Enforces limitations on updating specific singleton fields within contact sources, ensuring data integrity.
-
Suggests sending mutate requests sequentially to prevent latency and failures when updating the same user.
- HTTP request
- Path parameters
- Query parameters
- Request body
- Response body
- Authorization scopes
- Try it!
Update contact data for an existing contact person. Any non-contact data will not be modified. Any non-contact data in the person to update will be ignored. All fields specified in the updateMask
will be replaced.
The server returns a 400 error if person.metadata.sources
is not specified for the contact to be updated or if there is no contact source.
The server returns a 400 error with reason "failedPrecondition"
if person.metadata.sources.etag
is different than the contact's etag, which indicates the contact has changed since its data was read. Clients should get the latest person and merge their updates into the latest person. If making sequential updates to the same person, the etag from the updateContact
response should be used to avoid failures.
The server returns a 400 error if memberships
are being updated and there are no contact group memberships specified on the person.
The server returns a 400 error if more than one field is specified on a field that is a singleton for contact sources:
- biographies
- birthdays
- genders
- names
Mutate requests for the same user should be sent sequentially to avoid increased latency and failures.
HTTP request
PATCH https://people.googleapis.com/v1/{person.resourceName=people/*}:updateContact
The URL uses gRPC Transcoding syntax.
Path parameters
| Parameters | |
|---|---|
person.resourceName
|
The resource name for the person, assigned by the server. An ASCII string in the form of |
Query parameters
updatePersonFields
string (
FieldMask
format)
Required. A field mask to restrict which fields on the person are updated. Multiple fields can be specified by separating them with commas. All updated fields will be replaced. Valid values are:
- addresses
- biographies
- birthdays
- calendarUrls
- clientData
- emailAddresses
- events
- externalIds
- genders
- imClients
- interests
- locales
- locations
- memberships
- miscKeywords
- names
- nicknames
- occupations
- organizations
- phoneNumbers
- relations
- sipAddresses
- urls
- userDefined
personFields
string (
FieldMask
format)
Optional. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Defaults to all fields if not set. 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
sources[]
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.
Request body
The request body contains an instance of Person
.
Response body
If successful, the response body contains an instance of Person
.
Authorization scopes
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/contacts
For more information, see the Authorization guide .

