Introduction

The People API lets you:

  • Read and manage the authenticated user'sContacts
  • Read and copy the authenticated user's"Other contacts"
  • Read profile information for authenticated users and their contacts
  • Read domain profiles and contacts

For example, suppose that the authenticated user, Jen, has Fabian and Ranjith in her private contacts. When your app calls people.connections.listto read a list of her connections, Jen is presented with a consent screen asking to give the app access to the list. If Jen consents, the app reads a list containing person resourcesfor Fabian and Ranjith.

If the app needs information for a specific person, it can then call people.get,passing in a resource name, to get theperson resourcefor that person.

The app can also manage contacts by creating new contacts using people.createContact,update existing contacts it has read from people.connections.listusing people.updateContact,and delete contacts usingpeople.deleteContact.

Google Workspace users can also list their directory domain profiles and domain contacts using people.listDirectoryPeopleor search them using people.searchDirectoryPeople.

A merged view of people information

The people information that the People API reads is merged from various sources, depending on the following conditions:

Source Condition
Public Google profile data Always.
Google Workspace domain profile data The domain admin hasenabled external contact and profile sharing of domain-scoped data and thedirectory.readonly scopehas been granted
The authenticated user's private profile information One of theprofile scopeshas been granted.
The authenticated user's contacts Thecontacts scopehas been granted.

Understanding Merged Person Data

The data for a person is derived from one main source type. Data from other sources is merged with this data if the sources are connected through verified email addresses, phone numbers, or profile URLs. These are the ways a person may be composed:

Main Source Contacts Profiles Google Workspace Domain Profiles Google Workspace Domain Contacts Usage
Contact 1 0+ 0+ 0+ Returned for most endpoints
Profile 0+ 1 0 or 1 0 Returned inpeople.getwhen it is used to get the personfor the signed-in useror get a person foranother user's Google Account.
Domain Contact 0+ 0 0 1 Returned inpeople.listDirectoryPeopleorpeople.searchDirectoryPeople.

Only contact based people can be modified by mutation endpoints. Profile and domain contact mutations are not supported.