openapi: 3.0.0 servers: - url: https://people.googleapis.com/ info: contact: name: Google url: https://google.com x-twitter: youtube description: Provides access to information about profiles and contacts. license: name: Creative Commons Attribution 3.0 url: http://creativecommons.org/licenses/by/3.0/ termsOfService: https://developers.google.com/terms/ title: People API version: v1 x-apiClientRegistration: url: https://console.developers.google.com x-apisguru-categories: - analytics - media x-logo: url: https://api.apis.guru/v2/cache/logo/https_www.google.com_images_branding_googlelogo_2x_googlelogo_color_272x92dp.png x-origin: - converter: url: https://github.com/mermade/oas-kit version: 7.0.4 format: google url: https://people.googleapis.com/$discovery/rest?version=v1 version: v1 x-providerName: googleapis.com x-serviceName: people externalDocs: url: https://developers.google.com/people/ tags: - name: contactGroups - name: otherContacts - name: people paths: /v1/contactGroups: get: description: List all contact groups owned by the authenticated user. Members of the contact groups are not populated. operationId: people.contactGroups.list parameters: - description: "Optional. A field mask to restrict which fields on the group are returned. Defaults to `metadata`, `groupType`, `memberCount`, and `name` if not set or set to empty. Valid fields are: * clientData * groupType * memberCount * metadata * name" in: query name: groupFields schema: type: string - description: Optional. The maximum number of resources to return. Valid values are between 1 and 1000, inclusive. Defaults to 30 if not set or set to 0. in: query name: pageSize schema: type: integer - description: Optional. The next_page_token value returned from a previous call to [ListContactGroups](/people/api/rest/v1/contactgroups/list). Requests the next page of resources. in: query name: pageToken schema: type: string - description: Optional. A sync token, returned by a previous call to `contactgroups.list`. Only resources changed since the sync token was created will be returned. in: query name: syncToken schema: type: string responses: "200": content: application/json: schema: $ref: "#/components/schemas/ListContactGroupsResponse" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/contacts Oauth2c: - https://www.googleapis.com/auth/contacts - Oauth2: - https://www.googleapis.com/auth/contacts.readonly Oauth2c: - https://www.googleapis.com/auth/contacts.readonly tags: - contactGroups parameters: - $ref: "#/components/parameters/_.xgafv" - $ref: "#/components/parameters/access_token" - $ref: "#/components/parameters/alt" - $ref: "#/components/parameters/callback" - $ref: "#/components/parameters/fields" - $ref: "#/components/parameters/key" - $ref: "#/components/parameters/oauth_token" - $ref: "#/components/parameters/prettyPrint" - $ref: "#/components/parameters/quotaUser" - $ref: "#/components/parameters/upload_protocol" - $ref: "#/components/parameters/uploadType" post: description: Create a new contact group owned by the authenticated user. Created contact group names must be unique to the users contact groups. Attempting to create a group with a duplicate name will return a HTTP 409 error. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures. operationId: people.contactGroups.create requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateContactGroupRequest" responses: "200": content: application/json: schema: $ref: "#/components/schemas/ContactGroup" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/contacts Oauth2c: - https://www.googleapis.com/auth/contacts tags: - contactGroups /v1/contactGroups:batchGet: get: description: Get a list of contact groups owned by the authenticated user by specifying a list of contact group resource names. operationId: people.contactGroups.batchGet parameters: - description: "Optional. A field mask to restrict which fields on the group are returned. Defaults to `metadata`, `groupType`, `memberCount`, and `name` if not set or set to empty. Valid fields are: * clientData * groupType * memberCount * metadata * name" in: query name: groupFields schema: type: string - description: Optional. Specifies the maximum number of members to return for each group. Defaults to 0 if not set, which will return zero members. in: query name: maxMembers schema: type: integer - description: Required. The resource names of the contact groups to get. There is a maximum of 200 resource names. explode: true in: query name: resourceNames schema: items: type: string type: array style: form responses: "200": content: application/json: schema: $ref: "#/components/schemas/BatchGetContactGroupsResponse" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/contacts Oauth2c: - https://www.googleapis.com/auth/contacts - Oauth2: - https://www.googleapis.com/auth/contacts.readonly Oauth2c: - https://www.googleapis.com/auth/contacts.readonly tags: - contactGroups parameters: - $ref: "#/components/parameters/_.xgafv" - $ref: "#/components/parameters/access_token" - $ref: "#/components/parameters/alt" - $ref: "#/components/parameters/callback" - $ref: "#/components/parameters/fields" - $ref: "#/components/parameters/key" - $ref: "#/components/parameters/oauth_token" - $ref: "#/components/parameters/prettyPrint" - $ref: "#/components/parameters/quotaUser" - $ref: "#/components/parameters/upload_protocol" - $ref: "#/components/parameters/uploadType" /v1/otherContacts: get: description: List all "Other contacts", that is contacts that are not in a contact group. "Other contacts" are typically auto created contacts from interactions. Sync tokens expire 7 days after the full sync. A request with an expired sync token will get an error with an [google.rpc.ErrorInfo](https://cloud.google.com/apis/design/errors#error_info) with reason "EXPIRED_SYNC_TOKEN". In the case of such an error clients should make a full sync request without a `sync_token`. The first page of a full sync request has an additional quota. If the quota is exceeded, a 429 error will be returned. This quota is fixed and can not be increased. When the `sync_token` is specified, resources deleted since the last sync will be returned as a person with `PersonMetadata.deleted` set to true. When the `page_token` or `sync_token` is specified, all other request parameters must match the first call. Writes may have a propagation delay of several minutes for sync requests. Incremental syncs are not intended for read-after-write use cases. See example usage at [List the user's other contacts that have changed](/people/v1/other-contacts#list_the_users_other_contacts_that_have_changed). operationId: people.otherContacts.list parameters: - description: Optional. The number of "Other contacts" to include in the response. Valid values are between 1 and 1000, inclusive. Defaults to 100 if not set or set to 0. in: query name: pageSize schema: type: integer - description: Optional. A page token, received from a previous response `next_page_token`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `otherContacts.list` must match the first call that provided the page token. in: query name: pageToken schema: type: string - description: "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. What values are valid depend on what ReadSourceType is used. If READ_SOURCE_TYPE_CONTACT is used, valid values are: * emailAddresses * metadata * names * phoneNumbers * photos If READ_SOURCE_TYPE_PROFILE is used, 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" in: query name: readMask schema: type: string - description: Optional. Whether the response should return `next_sync_token` on the last page of results. It can be used to get incremental changes since the last request by setting it on the request `sync_token`. More details about sync behavior at `otherContacts.list`. in: query name: requestSyncToken schema: type: boolean - description: "Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT if not set. Possible values for this field are: * READ_SOURCE_TYPE_CONTACT * READ_SOURCE_TYPE_CONTACT,READ_SOURCE_TYPE_PROFILE Specifying READ_SOURCE_TYPE_PROFILE without specifying READ_SOURCE_TYPE_CONTACT is not permitted." explode: true in: query name: sources schema: items: enum: - READ_SOURCE_TYPE_UNSPECIFIED - READ_SOURCE_TYPE_PROFILE - READ_SOURCE_TYPE_CONTACT - READ_SOURCE_TYPE_DOMAIN_CONTACT type: string type: array style: form - description: Optional. A sync token, received from a previous response `next_sync_token` Provide this to retrieve only the resources changed since the last request. When syncing, all other parameters provided to `otherContacts.list` must match the first call that provided the sync token. More details about sync behavior at `otherContacts.list`. in: query name: syncToken schema: type: string responses: "200": content: application/json: schema: $ref: "#/components/schemas/ListOtherContactsResponse" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/contacts.other.readonly Oauth2c: - https://www.googleapis.com/auth/contacts.other.readonly tags: - otherContacts parameters: - $ref: "#/components/parameters/_.xgafv" - $ref: "#/components/parameters/access_token" - $ref: "#/components/parameters/alt" - $ref: "#/components/parameters/callback" - $ref: "#/components/parameters/fields" - $ref: "#/components/parameters/key" - $ref: "#/components/parameters/oauth_token" - $ref: "#/components/parameters/prettyPrint" - $ref: "#/components/parameters/quotaUser" - $ref: "#/components/parameters/upload_protocol" - $ref: "#/components/parameters/uploadType" /v1/otherContacts:search: get: description: "Provides a list of contacts in the authenticated user's other contacts that matches the search query. The query matches on a contact's `names`, `emailAddresses`, and `phoneNumbers` fields that are from the OTHER_CONTACT source. **IMPORTANT**: Before searching, clients should send a warmup request with an empty query to update the cache. See https://developers.google.com/people/v1/other-contacts#search_the_users_other_contacts" operationId: people.otherContacts.search parameters: - description: Optional. The number of results to return. Defaults to 10 if field is not set, or set to 0. Values greater than 30 will be capped to 30. in: query name: pageSize schema: type: integer - description: Required. The plain-text query for the request. The query is used to match prefix phrases of the fields on a person. For example, a person with name "foo name" matches queries such as "f", "fo", "foo", "foo n", "nam", etc., but not "oo n". in: query name: query schema: type: string - description: "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * emailAddresses * metadata * names * phoneNumbers" in: query name: readMask schema: type: string responses: "200": content: application/json: schema: $ref: "#/components/schemas/SearchResponse" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/contacts.other.readonly Oauth2c: - https://www.googleapis.com/auth/contacts.other.readonly tags: - otherContacts parameters: - $ref: "#/components/parameters/_.xgafv" - $ref: "#/components/parameters/access_token" - $ref: "#/components/parameters/alt" - $ref: "#/components/parameters/callback" - $ref: "#/components/parameters/fields" - $ref: "#/components/parameters/key" - $ref: "#/components/parameters/oauth_token" - $ref: "#/components/parameters/prettyPrint" - $ref: "#/components/parameters/quotaUser" - $ref: "#/components/parameters/upload_protocol" - $ref: "#/components/parameters/uploadType" /v1/people:batchCreateContacts: parameters: - $ref: "#/components/parameters/_.xgafv" - $ref: "#/components/parameters/access_token" - $ref: "#/components/parameters/alt" - $ref: "#/components/parameters/callback" - $ref: "#/components/parameters/fields" - $ref: "#/components/parameters/key" - $ref: "#/components/parameters/oauth_token" - $ref: "#/components/parameters/prettyPrint" - $ref: "#/components/parameters/quotaUser" - $ref: "#/components/parameters/upload_protocol" - $ref: "#/components/parameters/uploadType" post: description: Create a batch of new contacts and return the PersonResponses for the newly Mutate requests for the same user should be sent sequentially to avoid increased latency and failures. operationId: people.people.batchCreateContacts requestBody: content: application/json: schema: $ref: "#/components/schemas/BatchCreateContactsRequest" responses: "200": content: application/json: schema: $ref: "#/components/schemas/BatchCreateContactsResponse" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/contacts Oauth2c: - https://www.googleapis.com/auth/contacts tags: - people /v1/people:batchDeleteContacts: parameters: - $ref: "#/components/parameters/_.xgafv" - $ref: "#/components/parameters/access_token" - $ref: "#/components/parameters/alt" - $ref: "#/components/parameters/callback" - $ref: "#/components/parameters/fields" - $ref: "#/components/parameters/key" - $ref: "#/components/parameters/oauth_token" - $ref: "#/components/parameters/prettyPrint" - $ref: "#/components/parameters/quotaUser" - $ref: "#/components/parameters/upload_protocol" - $ref: "#/components/parameters/uploadType" post: description: Delete a batch of contacts. Any non-contact data will not be deleted. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures. operationId: people.people.batchDeleteContacts requestBody: content: application/json: schema: $ref: "#/components/schemas/BatchDeleteContactsRequest" responses: "200": content: application/json: schema: $ref: "#/components/schemas/Empty" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/contacts Oauth2c: - https://www.googleapis.com/auth/contacts tags: - people /v1/people:batchGet: get: description: Provides information about a list of specific people by specifying a list of requested resource names. Use `people/me` to indicate the authenticated user. The request returns a 400 error if 'personFields' is not specified. operationId: people.people.getBatchGet parameters: - description: "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. 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" in: query name: personFields schema: type: string - description: "Required. Comma-separated list of person fields to be included in the response. Each path should start with `person.`: for example, `person.names` or `person.photos`." in: query name: requestMask.includeField schema: type: string - description: Required. The resource names of the people to provide information about. It's repeatable. The URL query parameter should be resourceNames=&resourceNames=&... - To get information about the authenticated user, specify `people/me`. - To get information about a google account, specify `people/{account_id}`. - To get information about a contact, specify the resource name that identifies the contact as returned by `people.connections.list`. There is a maximum of 200 resource names. explode: true in: query name: resourceNames schema: items: type: string type: array style: form - description: Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set. explode: true in: query name: sources schema: items: enum: - READ_SOURCE_TYPE_UNSPECIFIED - READ_SOURCE_TYPE_PROFILE - READ_SOURCE_TYPE_CONTACT - READ_SOURCE_TYPE_DOMAIN_CONTACT type: string type: array style: form responses: "200": content: application/json: schema: $ref: "#/components/schemas/GetPeopleResponse" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/contacts Oauth2c: - https://www.googleapis.com/auth/contacts - Oauth2: - https://www.googleapis.com/auth/contacts.readonly Oauth2c: - https://www.googleapis.com/auth/contacts.readonly - Oauth2: - https://www.googleapis.com/auth/directory.readonly Oauth2c: - https://www.googleapis.com/auth/directory.readonly - Oauth2: - https://www.googleapis.com/auth/user.addresses.read Oauth2c: - https://www.googleapis.com/auth/user.addresses.read - Oauth2: - https://www.googleapis.com/auth/user.birthday.read Oauth2c: - https://www.googleapis.com/auth/user.birthday.read - Oauth2: - https://www.googleapis.com/auth/user.emails.read Oauth2c: - https://www.googleapis.com/auth/user.emails.read - Oauth2: - https://www.googleapis.com/auth/user.gender.read Oauth2c: - https://www.googleapis.com/auth/user.gender.read - Oauth2: - https://www.googleapis.com/auth/user.organization.read Oauth2c: - https://www.googleapis.com/auth/user.organization.read - Oauth2: - https://www.googleapis.com/auth/user.phonenumbers.read Oauth2c: - https://www.googleapis.com/auth/user.phonenumbers.read - Oauth2: - https://www.googleapis.com/auth/userinfo.email Oauth2c: - https://www.googleapis.com/auth/userinfo.email - Oauth2: - https://www.googleapis.com/auth/userinfo.profile Oauth2c: - https://www.googleapis.com/auth/userinfo.profile tags: - people parameters: - $ref: "#/components/parameters/_.xgafv" - $ref: "#/components/parameters/access_token" - $ref: "#/components/parameters/alt" - $ref: "#/components/parameters/callback" - $ref: "#/components/parameters/fields" - $ref: "#/components/parameters/key" - $ref: "#/components/parameters/oauth_token" - $ref: "#/components/parameters/prettyPrint" - $ref: "#/components/parameters/quotaUser" - $ref: "#/components/parameters/upload_protocol" - $ref: "#/components/parameters/uploadType" /v1/people:batchUpdateContacts: parameters: - $ref: "#/components/parameters/_.xgafv" - $ref: "#/components/parameters/access_token" - $ref: "#/components/parameters/alt" - $ref: "#/components/parameters/callback" - $ref: "#/components/parameters/fields" - $ref: "#/components/parameters/key" - $ref: "#/components/parameters/oauth_token" - $ref: "#/components/parameters/prettyPrint" - $ref: "#/components/parameters/quotaUser" - $ref: "#/components/parameters/upload_protocol" - $ref: "#/components/parameters/uploadType" post: description: Update a batch of contacts and return a map of resource names to PersonResponses for the updated contacts. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures. operationId: people.people.batchUpdateContacts requestBody: content: application/json: schema: $ref: "#/components/schemas/BatchUpdateContactsRequest" responses: "200": content: application/json: schema: $ref: "#/components/schemas/BatchUpdateContactsResponse" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/contacts Oauth2c: - https://www.googleapis.com/auth/contacts tags: - people /v1/people:createContact: parameters: - $ref: "#/components/parameters/_.xgafv" - $ref: "#/components/parameters/access_token" - $ref: "#/components/parameters/alt" - $ref: "#/components/parameters/callback" - $ref: "#/components/parameters/fields" - $ref: "#/components/parameters/key" - $ref: "#/components/parameters/oauth_token" - $ref: "#/components/parameters/prettyPrint" - $ref: "#/components/parameters/quotaUser" - $ref: "#/components/parameters/upload_protocol" - $ref: "#/components/parameters/uploadType" post: description: "Create a new contact and return the person resource for that contact. The request 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." operationId: people.people.createContact parameters: - description: "Required. 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" in: query name: personFields schema: type: string - description: Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set. explode: true in: query name: sources schema: items: enum: - READ_SOURCE_TYPE_UNSPECIFIED - READ_SOURCE_TYPE_PROFILE - READ_SOURCE_TYPE_CONTACT - READ_SOURCE_TYPE_DOMAIN_CONTACT type: string type: array style: form requestBody: content: application/json: schema: $ref: "#/components/schemas/Person" responses: "200": content: application/json: schema: $ref: "#/components/schemas/Person" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/contacts Oauth2c: - https://www.googleapis.com/auth/contacts tags: - people /v1/people:listDirectoryPeople: get: description: Provides a list of domain profiles and domain contacts in the authenticated user's domain directory. When the `sync_token` is specified, resources deleted since the last sync will be returned as a person with `PersonMetadata.deleted` set to true. When the `page_token` or `sync_token` is specified, all other request parameters must match the first call. Writes may have a propagation delay of several minutes for sync requests. Incremental syncs are not intended for read-after-write use cases. See example usage at [List the directory people that have changed](/people/v1/directory#list_the_directory_people_that_have_changed). operationId: people.people.listDirectoryPeople parameters: - description: Optional. Additional data to merge into the directory sources if they are connected through verified join keys such as email addresses or phone numbers. explode: true in: query name: mergeSources schema: items: enum: - DIRECTORY_MERGE_SOURCE_TYPE_UNSPECIFIED - DIRECTORY_MERGE_SOURCE_TYPE_CONTACT type: string type: array style: form - description: Optional. The number of people to include in the response. Valid values are between 1 and 1000, inclusive. Defaults to 100 if not set or set to 0. in: query name: pageSize schema: type: integer - description: Optional. A page token, received from a previous response `next_page_token`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `people.listDirectoryPeople` must match the first call that provided the page token. in: query name: pageToken schema: type: string - description: "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. 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" in: query name: readMask schema: type: string - description: Optional. Whether the response should return `next_sync_token`. It can be used to get incremental changes since the last request by setting it on the request `sync_token`. More details about sync behavior at `people.listDirectoryPeople`. in: query name: requestSyncToken schema: type: boolean - description: Required. Directory sources to return. explode: true in: query name: sources schema: items: enum: - DIRECTORY_SOURCE_TYPE_UNSPECIFIED - DIRECTORY_SOURCE_TYPE_DOMAIN_CONTACT - DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE type: string type: array style: form - description: Optional. A sync token, received from a previous response `next_sync_token` Provide this to retrieve only the resources changed since the last request. When syncing, all other parameters provided to `people.listDirectoryPeople` must match the first call that provided the sync token. More details about sync behavior at `people.listDirectoryPeople`. in: query name: syncToken schema: type: string responses: "200": content: application/json: schema: $ref: "#/components/schemas/ListDirectoryPeopleResponse" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/directory.readonly Oauth2c: - https://www.googleapis.com/auth/directory.readonly tags: - people parameters: - $ref: "#/components/parameters/_.xgafv" - $ref: "#/components/parameters/access_token" - $ref: "#/components/parameters/alt" - $ref: "#/components/parameters/callback" - $ref: "#/components/parameters/fields" - $ref: "#/components/parameters/key" - $ref: "#/components/parameters/oauth_token" - $ref: "#/components/parameters/prettyPrint" - $ref: "#/components/parameters/quotaUser" - $ref: "#/components/parameters/upload_protocol" - $ref: "#/components/parameters/uploadType" /v1/people:searchContacts: get: description: "Provides a list of contacts in the authenticated user's grouped contacts that matches the search query. The query matches on a contact's `names`, `nickNames`, `emailAddresses`, `phoneNumbers`, and `organizations` fields that are from the CONTACT source. **IMPORTANT**: Before searching, clients should send a warmup request with an empty query to update the cache. See https://developers.google.com/people/v1/contacts#search_the_users_contacts" operationId: people.people.searchContacts parameters: - description: Optional. The number of results to return. Defaults to 10 if field is not set, or set to 0. Values greater than 30 will be capped to 30. in: query name: pageSize schema: type: integer - description: Required. The plain-text query for the request. The query is used to match prefix phrases of the fields on a person. For example, a person with name "foo name" matches queries such as "f", "fo", "foo", "foo n", "nam", etc., but not "oo n". in: query name: query schema: type: string - description: "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. 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" in: query name: readMask schema: type: string - description: Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT if not set. explode: true in: query name: sources schema: items: enum: - READ_SOURCE_TYPE_UNSPECIFIED - READ_SOURCE_TYPE_PROFILE - READ_SOURCE_TYPE_CONTACT - READ_SOURCE_TYPE_DOMAIN_CONTACT type: string type: array style: form responses: "200": content: application/json: schema: $ref: "#/components/schemas/SearchResponse" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/contacts Oauth2c: - https://www.googleapis.com/auth/contacts - Oauth2: - https://www.googleapis.com/auth/contacts.readonly Oauth2c: - https://www.googleapis.com/auth/contacts.readonly tags: - people parameters: - $ref: "#/components/parameters/_.xgafv" - $ref: "#/components/parameters/access_token" - $ref: "#/components/parameters/alt" - $ref: "#/components/parameters/callback" - $ref: "#/components/parameters/fields" - $ref: "#/components/parameters/key" - $ref: "#/components/parameters/oauth_token" - $ref: "#/components/parameters/prettyPrint" - $ref: "#/components/parameters/quotaUser" - $ref: "#/components/parameters/upload_protocol" - $ref: "#/components/parameters/uploadType" /v1/people:searchDirectoryPeople: get: description: Provides a list of domain profiles and domain contacts in the authenticated user's domain directory that match the search query. operationId: people.people.searchDirectoryPeople parameters: - description: Optional. Additional data to merge into the directory sources if they are connected through verified join keys such as email addresses or phone numbers. explode: true in: query name: mergeSources schema: items: enum: - DIRECTORY_MERGE_SOURCE_TYPE_UNSPECIFIED - DIRECTORY_MERGE_SOURCE_TYPE_CONTACT type: string type: array style: form - description: Optional. The number of people to include in the response. Valid values are between 1 and 500, inclusive. Defaults to 100 if not set or set to 0. in: query name: pageSize schema: type: integer - description: Optional. A page token, received from a previous response `next_page_token`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchDirectoryPeople` must match the first call that provided the page token. in: query name: pageToken schema: type: string - description: Required. Prefix query that matches fields in the person. Does NOT use the read_mask for determining what fields to match. in: query name: query schema: type: string - description: "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. 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" in: query name: readMask schema: type: string - description: Required. Directory sources to return. explode: true in: query name: sources schema: items: enum: - DIRECTORY_SOURCE_TYPE_UNSPECIFIED - DIRECTORY_SOURCE_TYPE_DOMAIN_CONTACT - DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE type: string type: array style: form responses: "200": content: application/json: schema: $ref: "#/components/schemas/SearchDirectoryPeopleResponse" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/directory.readonly Oauth2c: - https://www.googleapis.com/auth/directory.readonly tags: - people parameters: - $ref: "#/components/parameters/_.xgafv" - $ref: "#/components/parameters/access_token" - $ref: "#/components/parameters/alt" - $ref: "#/components/parameters/callback" - $ref: "#/components/parameters/fields" - $ref: "#/components/parameters/key" - $ref: "#/components/parameters/oauth_token" - $ref: "#/components/parameters/prettyPrint" - $ref: "#/components/parameters/quotaUser" - $ref: "#/components/parameters/upload_protocol" - $ref: "#/components/parameters/uploadType" "/v1/{resourceName}": delete: description: Delete an existing contact group owned by the authenticated user by specifying a contact group resource name. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures. operationId: people.contactGroups.delete parameters: - description: Required. The resource name of the contact group to delete. in: path name: resourceName required: true schema: type: string - description: Optional. Set to true to also delete the contacts in the specified group. in: query name: deleteContacts schema: type: boolean responses: "200": content: application/json: schema: $ref: "#/components/schemas/Empty" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/contacts Oauth2c: - https://www.googleapis.com/auth/contacts tags: - contactGroups get: description: Provides information about a person by specifying a resource name. Use `people/me` to indicate the authenticated user. The request returns a 400 error if 'personFields' is not specified. operationId: people.people.get parameters: - description: Required. The resource name of the person to provide information about. - To get information about the authenticated user, specify `people/me`. - To get information about a google account, specify `people/{account_id}`. - To get information about a contact, specify the resource name that identifies the contact as returned by `people.connections.list`. in: path name: resourceName required: true schema: type: string - description: "Required. A field mask to restrict which fields on the person are returned. Multiple fields can be specified by separating them with commas. 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" in: query name: personFields schema: type: string - description: "Required. Comma-separated list of person fields to be included in the response. Each path should start with `person.`: for example, `person.names` or `person.photos`." in: query name: requestMask.includeField schema: type: string - description: Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_PROFILE and READ_SOURCE_TYPE_CONTACT if not set. explode: true in: query name: sources schema: items: enum: - READ_SOURCE_TYPE_UNSPECIFIED - READ_SOURCE_TYPE_PROFILE - READ_SOURCE_TYPE_CONTACT - READ_SOURCE_TYPE_DOMAIN_CONTACT type: string type: array style: form responses: "200": content: application/json: schema: $ref: "#/components/schemas/Person" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/contacts Oauth2c: - https://www.googleapis.com/auth/contacts - Oauth2: - https://www.googleapis.com/auth/contacts.readonly Oauth2c: - https://www.googleapis.com/auth/contacts.readonly - Oauth2: - https://www.googleapis.com/auth/directory.readonly Oauth2c: - https://www.googleapis.com/auth/directory.readonly - Oauth2: - https://www.googleapis.com/auth/user.addresses.read Oauth2c: - https://www.googleapis.com/auth/user.addresses.read - Oauth2: - https://www.googleapis.com/auth/user.birthday.read Oauth2c: - https://www.googleapis.com/auth/user.birthday.read - Oauth2: - https://www.googleapis.com/auth/user.emails.read Oauth2c: - https://www.googleapis.com/auth/user.emails.read - Oauth2: - https://www.googleapis.com/auth/user.gender.read Oauth2c: - https://www.googleapis.com/auth/user.gender.read - Oauth2: - https://www.googleapis.com/auth/user.organization.read Oauth2c: - https://www.googleapis.com/auth/user.organization.read - Oauth2: - https://www.googleapis.com/auth/user.phonenumbers.read Oauth2c: - https://www.googleapis.com/auth/user.phonenumbers.read - Oauth2: - https://www.googleapis.com/auth/userinfo.email Oauth2c: - https://www.googleapis.com/auth/userinfo.email - Oauth2: - https://www.googleapis.com/auth/userinfo.profile Oauth2c: - https://www.googleapis.com/auth/userinfo.profile tags: - people parameters: - $ref: "#/components/parameters/_.xgafv" - $ref: "#/components/parameters/access_token" - $ref: "#/components/parameters/alt" - $ref: "#/components/parameters/callback" - $ref: "#/components/parameters/fields" - $ref: "#/components/parameters/key" - $ref: "#/components/parameters/oauth_token" - $ref: "#/components/parameters/prettyPrint" - $ref: "#/components/parameters/quotaUser" - $ref: "#/components/parameters/upload_protocol" - $ref: "#/components/parameters/uploadType" put: description: Update the name of an existing contact group owned by the authenticated user. Updated contact group names must be unique to the users contact groups. Attempting to create a group with a duplicate name will return a HTTP 409 error. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures. operationId: people.contactGroups.update parameters: - description: The resource name for the contact group, assigned by the server. An ASCII string, in the form of `contactGroups/{contact_group_id}`. in: path name: resourceName required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateContactGroupRequest" responses: "200": content: application/json: schema: $ref: "#/components/schemas/ContactGroup" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/contacts Oauth2c: - https://www.googleapis.com/auth/contacts tags: - contactGroups "/v1/{resourceName}/connections": get: description: Provides a list of the authenticated user's contacts. Sync tokens expire 7 days after the full sync. A request with an expired sync token will get an error with an [google.rpc.ErrorInfo](https://cloud.google.com/apis/design/errors#error_info) with reason "EXPIRED_SYNC_TOKEN". In the case of such an error clients should make a full sync request without a `sync_token`. The first page of a full sync request has an additional quota. If the quota is exceeded, a 429 error will be returned. This quota is fixed and can not be increased. When the `sync_token` is specified, resources deleted since the last sync will be returned as a person with `PersonMetadata.deleted` set to true. When the `page_token` or `sync_token` is specified, all other request parameters must match the first call. Writes may have a propagation delay of several minutes for sync requests. Incremental syncs are not intended for read-after-write use cases. See example usage at [List the user's contacts that have changed](/people/v1/contacts#list_the_users_contacts_that_have_changed). operationId: people.people.connections.list parameters: - description: Required. The resource name to return connections for. Only `people/me` is valid. in: path name: resourceName required: true schema: type: string - description: Optional. The number of connections to include in the response. Valid values are between 1 and 1000, inclusive. Defaults to 100 if not set or set to 0. in: query name: pageSize schema: type: integer - description: Optional. A page token, received from a previous response `next_page_token`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `people.connections.list` must match the first call that provided the page token. in: query name: pageToken schema: type: string - description: "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. 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" in: query name: personFields schema: type: string - description: "Required. Comma-separated list of person fields to be included in the response. Each path should start with `person.`: for example, `person.names` or `person.photos`." in: query name: requestMask.includeField schema: type: string - description: Optional. Whether the response should return `next_sync_token` on the last page of results. It can be used to get incremental changes since the last request by setting it on the request `sync_token`. More details about sync behavior at `people.connections.list`. in: query name: requestSyncToken schema: type: boolean - description: Optional. The order in which the connections should be sorted. Defaults to `LAST_MODIFIED_ASCENDING`. in: query name: sortOrder schema: enum: - LAST_MODIFIED_ASCENDING - LAST_MODIFIED_DESCENDING - FIRST_NAME_ASCENDING - LAST_NAME_ASCENDING type: string - description: Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set. explode: true in: query name: sources schema: items: enum: - READ_SOURCE_TYPE_UNSPECIFIED - READ_SOURCE_TYPE_PROFILE - READ_SOURCE_TYPE_CONTACT - READ_SOURCE_TYPE_DOMAIN_CONTACT type: string type: array style: form - description: Optional. A sync token, received from a previous response `next_sync_token` Provide this to retrieve only the resources changed since the last request. When syncing, all other parameters provided to `people.connections.list` must match the first call that provided the sync token. More details about sync behavior at `people.connections.list`. in: query name: syncToken schema: type: string responses: "200": content: application/json: schema: $ref: "#/components/schemas/ListConnectionsResponse" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/contacts Oauth2c: - https://www.googleapis.com/auth/contacts - Oauth2: - https://www.googleapis.com/auth/contacts.readonly Oauth2c: - https://www.googleapis.com/auth/contacts.readonly tags: - people parameters: - $ref: "#/components/parameters/_.xgafv" - $ref: "#/components/parameters/access_token" - $ref: "#/components/parameters/alt" - $ref: "#/components/parameters/callback" - $ref: "#/components/parameters/fields" - $ref: "#/components/parameters/key" - $ref: "#/components/parameters/oauth_token" - $ref: "#/components/parameters/prettyPrint" - $ref: "#/components/parameters/quotaUser" - $ref: "#/components/parameters/upload_protocol" - $ref: "#/components/parameters/uploadType" "/v1/{resourceName}/members:modify": parameters: - $ref: "#/components/parameters/_.xgafv" - $ref: "#/components/parameters/access_token" - $ref: "#/components/parameters/alt" - $ref: "#/components/parameters/callback" - $ref: "#/components/parameters/fields" - $ref: "#/components/parameters/key" - $ref: "#/components/parameters/oauth_token" - $ref: "#/components/parameters/prettyPrint" - $ref: "#/components/parameters/quotaUser" - $ref: "#/components/parameters/upload_protocol" - $ref: "#/components/parameters/uploadType" post: description: Modify the members of a contact group owned by the authenticated user. The only system contact groups that can have members added are `contactGroups/myContacts` and `contactGroups/starred`. Other system contact groups are deprecated and can only have contacts removed. operationId: people.contactGroups.members.modify parameters: - description: Required. The resource name of the contact group to modify. in: path name: resourceName required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/ModifyContactGroupMembersRequest" responses: "200": content: application/json: schema: $ref: "#/components/schemas/ModifyContactGroupMembersResponse" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/contacts Oauth2c: - https://www.googleapis.com/auth/contacts tags: - contactGroups "/v1/{resourceName}:copyOtherContactToMyContactsGroup": parameters: - $ref: "#/components/parameters/_.xgafv" - $ref: "#/components/parameters/access_token" - $ref: "#/components/parameters/alt" - $ref: "#/components/parameters/callback" - $ref: "#/components/parameters/fields" - $ref: "#/components/parameters/key" - $ref: "#/components/parameters/oauth_token" - $ref: "#/components/parameters/prettyPrint" - $ref: "#/components/parameters/quotaUser" - $ref: "#/components/parameters/upload_protocol" - $ref: "#/components/parameters/uploadType" post: description: Copies an "Other contact" to a new contact in the user's "myContacts" group Mutate requests for the same user should be sent sequentially to avoid increased latency and failures. operationId: people.otherContacts.copyOtherContactToMyContactsGroup parameters: - description: Required. The resource name of the "Other contact" to copy. in: path name: resourceName required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/CopyOtherContactToMyContactsGroupRequest" responses: "200": content: application/json: schema: $ref: "#/components/schemas/Person" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/contacts Oauth2c: - https://www.googleapis.com/auth/contacts - Oauth2: - https://www.googleapis.com/auth/contacts.other.readonly Oauth2c: - https://www.googleapis.com/auth/contacts.other.readonly tags: - otherContacts "/v1/{resourceName}:deleteContact": delete: description: Delete a contact person. Any non-contact data will not be deleted. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures. operationId: people.people.deleteContact parameters: - description: Required. The resource name of the contact to delete. in: path name: resourceName required: true schema: type: string responses: "200": content: application/json: schema: $ref: "#/components/schemas/Empty" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/contacts Oauth2c: - https://www.googleapis.com/auth/contacts tags: - people parameters: - $ref: "#/components/parameters/_.xgafv" - $ref: "#/components/parameters/access_token" - $ref: "#/components/parameters/alt" - $ref: "#/components/parameters/callback" - $ref: "#/components/parameters/fields" - $ref: "#/components/parameters/key" - $ref: "#/components/parameters/oauth_token" - $ref: "#/components/parameters/prettyPrint" - $ref: "#/components/parameters/quotaUser" - $ref: "#/components/parameters/upload_protocol" - $ref: "#/components/parameters/uploadType" "/v1/{resourceName}:deleteContactPhoto": delete: description: Delete a contact's photo. Mutate requests for the same user should be done sequentially to avoid // lock contention. operationId: people.people.deleteContactPhoto parameters: - description: Required. The resource name of the contact whose photo will be deleted. in: path name: resourceName required: true schema: type: string - description: "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" in: query name: personFields schema: type: string - description: Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set. explode: true in: query name: sources schema: items: enum: - READ_SOURCE_TYPE_UNSPECIFIED - READ_SOURCE_TYPE_PROFILE - READ_SOURCE_TYPE_CONTACT - READ_SOURCE_TYPE_DOMAIN_CONTACT type: string type: array style: form responses: "200": content: application/json: schema: $ref: "#/components/schemas/DeleteContactPhotoResponse" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/contacts Oauth2c: - https://www.googleapis.com/auth/contacts tags: - people parameters: - $ref: "#/components/parameters/_.xgafv" - $ref: "#/components/parameters/access_token" - $ref: "#/components/parameters/alt" - $ref: "#/components/parameters/callback" - $ref: "#/components/parameters/fields" - $ref: "#/components/parameters/key" - $ref: "#/components/parameters/oauth_token" - $ref: "#/components/parameters/prettyPrint" - $ref: "#/components/parameters/quotaUser" - $ref: "#/components/parameters/upload_protocol" - $ref: "#/components/parameters/uploadType" "/v1/{resourceName}:updateContact": parameters: - $ref: "#/components/parameters/_.xgafv" - $ref: "#/components/parameters/access_token" - $ref: "#/components/parameters/alt" - $ref: "#/components/parameters/callback" - $ref: "#/components/parameters/fields" - $ref: "#/components/parameters/key" - $ref: "#/components/parameters/oauth_token" - $ref: "#/components/parameters/prettyPrint" - $ref: "#/components/parameters/quotaUser" - $ref: "#/components/parameters/upload_protocol" - $ref: "#/components/parameters/uploadType" patch: description: "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 `update_mask` 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. 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." operationId: people.people.updateContact parameters: - description: The resource name for the person, assigned by the server. An ASCII string in the form of `people/{person_id}`. in: path name: resourceName required: true schema: type: string - description: "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" in: query name: personFields schema: type: string - description: Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set. explode: true in: query name: sources schema: items: enum: - READ_SOURCE_TYPE_UNSPECIFIED - READ_SOURCE_TYPE_PROFILE - READ_SOURCE_TYPE_CONTACT - READ_SOURCE_TYPE_DOMAIN_CONTACT type: string type: array style: form - description: "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" in: query name: updatePersonFields schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/Person" responses: "200": content: application/json: schema: $ref: "#/components/schemas/Person" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/contacts Oauth2c: - https://www.googleapis.com/auth/contacts tags: - people "/v1/{resourceName}:updateContactPhoto": parameters: - $ref: "#/components/parameters/_.xgafv" - $ref: "#/components/parameters/access_token" - $ref: "#/components/parameters/alt" - $ref: "#/components/parameters/callback" - $ref: "#/components/parameters/fields" - $ref: "#/components/parameters/key" - $ref: "#/components/parameters/oauth_token" - $ref: "#/components/parameters/prettyPrint" - $ref: "#/components/parameters/quotaUser" - $ref: "#/components/parameters/upload_protocol" - $ref: "#/components/parameters/uploadType" patch: description: Update a contact's photo. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures. operationId: people.people.updateContactPhoto parameters: - description: Required. Person resource name in: path name: resourceName required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateContactPhotoRequest" responses: "200": content: application/json: schema: $ref: "#/components/schemas/UpdateContactPhotoResponse" description: Successful response security: - Oauth2: - https://www.googleapis.com/auth/contacts Oauth2c: - https://www.googleapis.com/auth/contacts tags: - people components: parameters: _.xgafv: description: V1 error format. in: query name: $.xgafv schema: enum: - "1" - "2" type: string access_token: description: OAuth access token. in: query name: access_token schema: type: string alt: description: Data format for response. in: query name: alt schema: enum: - json - media - proto type: string callback: description: JSONP in: query name: callback schema: type: string fields: description: Selector specifying which fields to include in a partial response. in: query name: fields schema: type: string key: description: API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. in: query name: key schema: type: string oauth_token: description: OAuth 2.0 token for the current user. in: query name: oauth_token schema: type: string prettyPrint: description: Returns response with indentations and line breaks. in: query name: prettyPrint schema: type: boolean quotaUser: description: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. in: query name: quotaUser schema: type: string uploadType: description: Legacy upload protocol for media (e.g. "media", "multipart"). in: query name: uploadType schema: type: string upload_protocol: description: Upload protocol for media (e.g. "raw", "multipart"). in: query name: upload_protocol schema: type: string schemas: Address: description: A person's physical address. May be a P.O. box or street address. All fields are optional. properties: city: description: The city of the address. type: string country: description: The country of the address. type: string countryCode: description: The [ISO 3166-1 alpha-2](http://www.iso.org/iso/country_codes.htm) country code of the address. type: string extendedAddress: description: The extended address of the address; for example, the apartment number. type: string formattedType: description: Output only. The type of the address translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. readOnly: true type: string formattedValue: description: The unstructured value of the address. If this is not set by the user it will be automatically constructed from structured values. type: string metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the address. poBox: description: The P.O. box of the address. type: string postalCode: description: The postal code of the address. type: string region: description: The region of the address; for example, the state or province. type: string streetAddress: description: The street address. type: string type: description: "The type of the address. The type can be custom or one of these predefined values: * `home` * `work` * `other`" type: string type: object AgeRangeType: description: A person's age range. properties: ageRange: description: The age range. enum: - AGE_RANGE_UNSPECIFIED - LESS_THAN_EIGHTEEN - EIGHTEEN_TO_TWENTY - TWENTY_ONE_OR_OLDER type: string metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the age range. type: object BatchCreateContactsRequest: description: A request to create a batch of contacts. properties: contacts: description: Required. The contact to create. Allows up to 200 contacts in a single request. items: $ref: "#/components/schemas/ContactToCreate" type: array readMask: description: "Required. A field mask to restrict which fields on each person are returned in the response. Multiple fields can be specified by separating them with commas. If read mask is left empty, the post-mutate-get is skipped and no data will be returned in the response. 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" format: google-fieldmask type: string sources: description: Optional. A mask of what source types to return in the post mutate read. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set. items: enum: - READ_SOURCE_TYPE_UNSPECIFIED - READ_SOURCE_TYPE_PROFILE - READ_SOURCE_TYPE_CONTACT - READ_SOURCE_TYPE_DOMAIN_CONTACT type: string type: array type: object BatchCreateContactsResponse: description: If not successful, returns BatchCreateContactsErrorDetails which contains a list of errors for each invalid contact. The response to a request to create a batch of contacts. properties: createdPeople: description: The contacts that were created, unless the request `read_mask` is empty. items: $ref: "#/components/schemas/PersonResponse" type: array type: object BatchDeleteContactsRequest: description: A request to delete a batch of existing contacts. properties: resourceNames: description: Required. The resource names of the contact to delete. It's repeatable. Allows up to 500 resource names in a single request. items: type: string type: array type: object BatchGetContactGroupsResponse: description: The response to a batch get contact groups request. properties: responses: description: The list of responses for each requested contact group resource. items: $ref: "#/components/schemas/ContactGroupResponse" type: array type: object BatchUpdateContactsRequest: description: A request to update a batch of contacts. properties: contacts: additionalProperties: $ref: "#/components/schemas/Person" description: Required. A map of resource names to the person data to be updated. Allows up to 200 contacts in a single request. type: object readMask: description: "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. If read mask is left empty, the post-mutate-get is skipped and no data will be returned in the response. 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" format: google-fieldmask type: string sources: description: Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set. items: enum: - READ_SOURCE_TYPE_UNSPECIFIED - READ_SOURCE_TYPE_PROFILE - READ_SOURCE_TYPE_CONTACT - READ_SOURCE_TYPE_DOMAIN_CONTACT type: string type: array updateMask: description: "Required. A field mask to restrict which fields on the person are updated. Multiple fields can be specified by separating them with commas. All specified fields will be replaced, or cleared if left empty for each person. 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" format: google-fieldmask type: string type: object BatchUpdateContactsResponse: description: If not successful, returns BatchUpdateContactsErrorDetails, a list of errors corresponding to each contact. The response to a request to update a batch of contacts. properties: updateResult: additionalProperties: $ref: "#/components/schemas/PersonResponse" description: A map of resource names to the contacts that were updated, unless the request `read_mask` is empty. type: object type: object Biography: description: A person's short biography. properties: contentType: description: The content type of the biography. enum: - CONTENT_TYPE_UNSPECIFIED - TEXT_PLAIN - TEXT_HTML type: string metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the biography. value: description: The short biography. type: string type: object Birthday: description: A person's birthday. At least one of the `date` and `text` fields are specified. The `date` and `text` fields typically represent the same date, but are not guaranteed to. Clients should always set the `date` field when mutating birthdays. properties: date: $ref: "#/components/schemas/Date" description: The structured date of the birthday. metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the birthday. text: description: Prefer to use the `date` field if set. A free-form string representing the user's birthday. This value is not validated. type: string type: object BraggingRights: description: "**DEPRECATED**: No data will be returned A person's bragging rights." properties: metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the bragging rights. value: description: The bragging rights; for example, `climbed mount everest`. type: string type: object CalendarUrl: description: A person's calendar URL. properties: formattedType: description: Output only. The type of the calendar URL translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. readOnly: true type: string metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the calendar URL. type: description: "The type of the calendar URL. The type can be custom or one of these predefined values: * `home` * `freeBusy` * `work`" type: string url: description: The calendar URL. type: string type: object ClientData: description: Arbitrary client data that is populated by clients. Duplicate keys and values are allowed. properties: key: description: The client specified key of the client data. type: string metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the client data. value: description: The client specified value of the client data. type: string type: object ContactGroup: description: A contact group. properties: clientData: description: The group's client data. items: $ref: "#/components/schemas/GroupClientData" type: array etag: description: The [HTTP entity tag](https://en.wikipedia.org/wiki/HTTP_ETag) of the resource. Used for web cache validation. type: string formattedName: description: Output only. The name translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale for system groups names. Group names set by the owner are the same as name. readOnly: true type: string groupType: description: Output only. The contact group type. enum: - GROUP_TYPE_UNSPECIFIED - USER_CONTACT_GROUP - SYSTEM_CONTACT_GROUP readOnly: true type: string memberCount: description: Output only. The total number of contacts in the group irrespective of max members in specified in the request. format: int32 readOnly: true type: integer memberResourceNames: description: Output only. The list of contact person resource names that are members of the contact group. The field is only populated for GET requests and will only return as many members as `maxMembers` in the get request. items: type: string readOnly: true type: array metadata: $ref: "#/components/schemas/ContactGroupMetadata" description: Output only. Metadata about the contact group. readOnly: true name: description: The contact group name set by the group owner or a system provided name for system groups. For [`contactGroups.create`](/people/api/rest/v1/contactGroups/create) or [`contactGroups.update`](/people/api/rest/v1/contactGroups/update) the name must be unique to the users contact groups. Attempting to create a group with a duplicate name will return a HTTP 409 error. type: string resourceName: description: The resource name for the contact group, assigned by the server. An ASCII string, in the form of `contactGroups/{contact_group_id}`. type: string type: object ContactGroupMembership: description: A Google contact group membership. properties: contactGroupId: description: Output only. The contact group ID for the contact group membership. readOnly: true type: string contactGroupResourceName: description: The resource name for the contact group, assigned by the server. An ASCII string, in the form of `contactGroups/{contact_group_id}`. Only contact_group_resource_name can be used for modifying memberships. Any contact group membership can be removed, but only user group or "myContacts" or "starred" system groups memberships can be added. A contact must always have at least one contact group membership. type: string type: object ContactGroupMetadata: description: The metadata about a contact group. properties: deleted: description: Output only. True if the contact group resource has been deleted. Populated only for [`ListContactGroups`](/people/api/rest/v1/contactgroups/list) requests that include a sync token. readOnly: true type: boolean updateTime: description: Output only. The time the group was last updated. format: google-datetime readOnly: true type: string type: object ContactGroupResponse: description: The response for a specific contact group. properties: contactGroup: $ref: "#/components/schemas/ContactGroup" description: The contact group. requestedResourceName: description: The original requested resource name. type: string status: $ref: "#/components/schemas/Status" description: The status of the response. type: object ContactToCreate: description: A wrapper that contains the person data to populate a newly created source. properties: contactPerson: $ref: "#/components/schemas/Person" description: Required. The person data to populate a newly created source. type: object CopyOtherContactToMyContactsGroupRequest: description: A request to copy an "Other contact" to my contacts group. properties: copyMask: description: "Required. A field mask to restrict which fields are copied into the new contact. Valid values are: * emailAddresses * names * phoneNumbers" format: google-fieldmask type: string readMask: description: "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 the copy mask with metadata and membership 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" format: google-fieldmask type: string sources: description: Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set. items: enum: - READ_SOURCE_TYPE_UNSPECIFIED - READ_SOURCE_TYPE_PROFILE - READ_SOURCE_TYPE_CONTACT - READ_SOURCE_TYPE_DOMAIN_CONTACT type: string type: array type: object CoverPhoto: description: A person's cover photo. A large image shown on the person's profile page that represents who they are or what they care about. properties: metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the cover photo. url: description: The URL of the cover photo. type: string type: object CreateContactGroupRequest: description: A request to create a new contact group. properties: contactGroup: $ref: "#/components/schemas/ContactGroup" description: Required. The contact group to create. readGroupFields: description: "Optional. A field mask to restrict which fields on the group are returned. Defaults to `metadata`, `groupType`, and `name` if not set or set to empty. Valid fields are: * clientData * groupType * metadata * name" format: google-fieldmask type: string type: object Date: description: "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp" properties: day: description: Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. format: int32 type: integer month: description: Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. format: int32 type: integer year: description: Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. format: int32 type: integer type: object DeleteContactPhotoResponse: description: The response for deleting a contact's photo. properties: person: $ref: "#/components/schemas/Person" description: The updated person, if person_fields is set in the DeleteContactPhotoRequest; otherwise this will be unset. type: object DomainMembership: description: A Google Workspace Domain membership. properties: inViewerDomain: description: True if the person is in the viewer's Google Workspace domain. type: boolean type: object EmailAddress: description: A person's email address. properties: displayName: description: The display name of the email. type: string formattedType: description: Output only. The type of the email address translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. readOnly: true type: string metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the email address. type: description: "The type of the email address. The type can be custom or one of these predefined values: * `home` * `work` * `other`" type: string value: description: The email address. type: string type: object Empty: description: "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }" properties: {} type: object Event: description: An event related to the person. properties: date: $ref: "#/components/schemas/Date" description: The date of the event. formattedType: description: Output only. The type of the event translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. readOnly: true type: string metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the event. type: description: "The type of the event. The type can be custom or one of these predefined values: * `anniversary` * `other`" type: string type: object ExternalId: description: An identifier from an external entity related to the person. properties: formattedType: description: Output only. The type of the event translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. readOnly: true type: string metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the external ID. type: description: "The type of the external ID. The type can be custom or one of these predefined values: * `account` * `customer` * `loginId` * `network` * `organization`" type: string value: description: The value of the external ID. type: string type: object FieldMetadata: description: Metadata about a field. properties: primary: description: Output only. True if the field is the primary field for all sources in the person. Each person will have at most one field with `primary` set to true. readOnly: true type: boolean source: $ref: "#/components/schemas/Source" description: The source of the field. sourcePrimary: description: True if the field is the primary field for the source. Each source must have at most one field with `source_primary` set to true. type: boolean verified: description: Output only. True if the field is verified; false if the field is unverified. A verified field is typically a name, email address, phone number, or website that has been confirmed to be owned by the person. readOnly: true type: boolean type: object FileAs: description: The name that should be used to sort the person in a list. properties: metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the file-as. value: description: The file-as value type: string type: object Gender: description: A person's gender. properties: addressMeAs: description: "Free form text field for pronouns that should be used to address the person. Common values are: * `he`/`him` * `she`/`her` * `they`/`them`" type: string formattedValue: description: Output only. The value of the gender translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. Unspecified or custom value are not localized. readOnly: true type: string metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the gender. value: description: "The gender for the person. The gender can be custom or one of these predefined values: * `male` * `female` * `unspecified`" type: string type: object GetPeopleResponse: description: The response to a get request for a list of people by resource name. properties: responses: description: The response for each requested resource name. items: $ref: "#/components/schemas/PersonResponse" type: array type: object GroupClientData: description: Arbitrary client data that is populated by clients. Duplicate keys and values are allowed. properties: key: description: The client specified key of the client data. type: string value: description: The client specified value of the client data. type: string type: object ImClient: description: A person's instant messaging client. properties: formattedProtocol: description: Output only. The protocol of the IM client formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. readOnly: true type: string formattedType: description: Output only. The type of the IM client translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. readOnly: true type: string metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the IM client. protocol: description: "The protocol of the IM client. The protocol can be custom or one of these predefined values: * `aim` * `msn` * `yahoo` * `skype` * `qq` * `googleTalk` * `icq` * `jabber` * `netMeeting`" type: string type: description: "The type of the IM client. The type can be custom or one of these predefined values: * `home` * `work` * `other`" type: string username: description: The user name used in the IM client. type: string type: object Interest: description: One of the person's interests. properties: metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the interest. value: description: The interest; for example, `stargazing`. type: string type: object ListConnectionsResponse: description: The response to a request for the authenticated user's connections. properties: connections: description: The list of people that the requestor is connected to. items: $ref: "#/components/schemas/Person" type: array nextPageToken: description: A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. type: string nextSyncToken: description: A token, which can be sent as `sync_token` to retrieve changes since the last request. Request must set `request_sync_token` to return the sync token. When the response is paginated, only the last page will contain `nextSyncToken`. type: string totalItems: description: The total number of items in the list without pagination. format: int32 type: integer totalPeople: description: "**DEPRECATED** (Please use totalItems) The total number of people in the list without pagination." format: int32 type: integer type: object ListContactGroupsResponse: description: The response to a list contact groups request. properties: contactGroups: description: The list of contact groups. Members of the contact groups are not populated. items: $ref: "#/components/schemas/ContactGroup" type: array nextPageToken: description: The token that can be used to retrieve the next page of results. type: string nextSyncToken: description: The token that can be used to retrieve changes since the last request. type: string totalItems: description: The total number of items in the list without pagination. format: int32 type: integer type: object ListDirectoryPeopleResponse: description: The response to a request for the authenticated user's domain directory. properties: nextPageToken: description: A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. type: string nextSyncToken: description: A token, which can be sent as `sync_token` to retrieve changes since the last request. Request must set `request_sync_token` to return the sync token. type: string people: description: The list of people in the domain directory. items: $ref: "#/components/schemas/Person" type: array type: object ListOtherContactsResponse: description: The response to a request for the authenticated user's "Other contacts". properties: nextPageToken: description: A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. type: string nextSyncToken: description: A token, which can be sent as `sync_token` to retrieve changes since the last request. Request must set `request_sync_token` to return the sync token. type: string otherContacts: description: The list of "Other contacts" returned as Person resources. "Other contacts" support a limited subset of fields. See ListOtherContactsRequest.request_mask for more detailed information. items: $ref: "#/components/schemas/Person" type: array totalSize: description: The total number of other contacts in the list without pagination. format: int32 type: integer type: object Locale: description: A person's locale preference. properties: metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the locale. value: description: The well-formed [IETF BCP 47](https://tools.ietf.org/html/bcp47) language tag representing the locale. type: string type: object Location: description: A person's location. properties: buildingId: description: The building identifier. type: string current: description: Whether the location is the current location. type: boolean deskCode: description: The individual desk location. type: string floor: description: The floor name or number. type: string floorSection: description: The floor section in `floor_name`. type: string metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the location. type: description: "The type of the location. The type can be custom or one of these predefined values: * `desk` * `grewUp`" type: string value: description: The free-form value of the location. type: string type: object Membership: description: A person's membership in a group. Only contact group memberships can be modified. properties: contactGroupMembership: $ref: "#/components/schemas/ContactGroupMembership" description: The contact group membership. domainMembership: $ref: "#/components/schemas/DomainMembership" description: Output only. The domain membership. readOnly: true metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the membership. type: object MiscKeyword: description: A person's miscellaneous keyword. properties: formattedType: description: Output only. The type of the miscellaneous keyword translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. readOnly: true type: string metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the miscellaneous keyword. type: description: The miscellaneous keyword type. enum: - TYPE_UNSPECIFIED - OUTLOOK_BILLING_INFORMATION - OUTLOOK_DIRECTORY_SERVER - OUTLOOK_KEYWORD - OUTLOOK_MILEAGE - OUTLOOK_PRIORITY - OUTLOOK_SENSITIVITY - OUTLOOK_SUBJECT - OUTLOOK_USER - HOME - WORK - OTHER type: string value: description: The value of the miscellaneous keyword. type: string type: object ModifyContactGroupMembersRequest: description: A request to modify an existing contact group's members. Contacts can be removed from any group but they can only be added to a user group or "myContacts" or "starred" system groups. properties: resourceNamesToAdd: description: Optional. The resource names of the contact people to add in the form of `people/{person_id}`. The total number of resource names in `resource_names_to_add` and `resource_names_to_remove` must be less than or equal to 1000. items: type: string type: array resourceNamesToRemove: description: Optional. The resource names of the contact people to remove in the form of `people/{person_id}`. The total number of resource names in `resource_names_to_add` and `resource_names_to_remove` must be less than or equal to 1000. items: type: string type: array type: object ModifyContactGroupMembersResponse: description: The response to a modify contact group members request. properties: canNotRemoveLastContactGroupResourceNames: description: The contact people resource names that cannot be removed from their last contact group. items: type: string type: array notFoundResourceNames: description: The contact people resource names that were not found. items: type: string type: array type: object Name: description: A person's name. If the name is a mononym, the family name is empty. properties: displayName: description: Output only. The display name formatted according to the locale specified by the viewer's account or the `Accept-Language` HTTP header. readOnly: true type: string displayNameLastFirst: description: Output only. The display name with the last name first formatted according to the locale specified by the viewer's account or the `Accept-Language` HTTP header. readOnly: true type: string familyName: description: The family name. type: string givenName: description: The given name. type: string honorificPrefix: description: The honorific prefixes, such as `Mrs.` or `Dr.` type: string honorificSuffix: description: The honorific suffixes, such as `Jr.` type: string metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the name. middleName: description: The middle name(s). type: string phoneticFamilyName: description: The family name spelled as it sounds. type: string phoneticFullName: description: The full name spelled as it sounds. type: string phoneticGivenName: description: The given name spelled as it sounds. type: string phoneticHonorificPrefix: description: The honorific prefixes spelled as they sound. type: string phoneticHonorificSuffix: description: The honorific suffixes spelled as they sound. type: string phoneticMiddleName: description: The middle name(s) spelled as they sound. type: string unstructuredName: description: The free form name value. type: string type: object Nickname: description: A person's nickname. properties: metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the nickname. type: description: The type of the nickname. enum: - DEFAULT - MAIDEN_NAME - INITIALS - GPLUS - OTHER_NAME - ALTERNATE_NAME - SHORT_NAME type: string value: description: The nickname. type: string type: object Occupation: description: A person's occupation. properties: metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the occupation. value: description: The occupation; for example, `carpenter`. type: string type: object Organization: description: A person's past or current organization. Overlapping date ranges are permitted. properties: costCenter: description: The person's cost center at the organization. type: string current: description: True if the organization is the person's current organization; false if the organization is a past organization. type: boolean department: description: The person's department at the organization. type: string domain: description: The domain name associated with the organization; for example, `google.com`. type: string endDate: $ref: "#/components/schemas/Date" description: The end date when the person left the organization. formattedType: description: Output only. The type of the organization translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. readOnly: true type: string fullTimeEquivalentMillipercent: description: The person's full-time equivalent millipercent within the organization (100000 = 100%). format: int32 type: integer jobDescription: description: The person's job description at the organization. type: string location: description: The location of the organization office the person works at. type: string metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the organization. name: description: The name of the organization. type: string phoneticName: description: The phonetic name of the organization. type: string startDate: $ref: "#/components/schemas/Date" description: The start date when the person joined the organization. symbol: description: The symbol associated with the organization; for example, a stock ticker symbol, abbreviation, or acronym. type: string title: description: The person's job title at the organization. type: string type: description: "The type of the organization. The type can be custom or one of these predefined values: * `work` * `school`" type: string type: object Person: description: Information about a person merged from various data sources such as the authenticated user's contacts and profile data. Most fields can have multiple items. The items in a field have no guaranteed order, but each non-empty field is guaranteed to have exactly one field with `metadata.primary` set to true. properties: addresses: description: The person's street addresses. items: $ref: "#/components/schemas/Address" type: array ageRange: description: Output only. **DEPRECATED** (Please use `person.ageRanges` instead) The person's age range. enum: - AGE_RANGE_UNSPECIFIED - LESS_THAN_EIGHTEEN - EIGHTEEN_TO_TWENTY - TWENTY_ONE_OR_OLDER readOnly: true type: string ageRanges: description: Output only. The person's age ranges. items: $ref: "#/components/schemas/AgeRangeType" readOnly: true type: array biographies: description: The person's biographies. This field is a singleton for contact sources. items: $ref: "#/components/schemas/Biography" type: array birthdays: description: The person's birthdays. This field is a singleton for contact sources. items: $ref: "#/components/schemas/Birthday" type: array braggingRights: description: "**DEPRECATED**: No data will be returned The person's bragging rights." items: $ref: "#/components/schemas/BraggingRights" type: array calendarUrls: description: The person's calendar URLs. items: $ref: "#/components/schemas/CalendarUrl" type: array clientData: description: The person's client data. items: $ref: "#/components/schemas/ClientData" type: array coverPhotos: description: Output only. The person's cover photos. items: $ref: "#/components/schemas/CoverPhoto" readOnly: true type: array emailAddresses: description: The person's email addresses. For `people.connections.list` and `otherContacts.list` the number of email addresses is limited to 100. If a Person has more email addresses the entire set can be obtained by calling GetPeople. items: $ref: "#/components/schemas/EmailAddress" type: array etag: description: The [HTTP entity tag](https://en.wikipedia.org/wiki/HTTP_ETag) of the resource. Used for web cache validation. type: string events: description: The person's events. items: $ref: "#/components/schemas/Event" type: array externalIds: description: The person's external IDs. items: $ref: "#/components/schemas/ExternalId" type: array fileAses: description: The person's file-ases. items: $ref: "#/components/schemas/FileAs" type: array genders: description: The person's genders. This field is a singleton for contact sources. items: $ref: "#/components/schemas/Gender" type: array imClients: description: The person's instant messaging clients. items: $ref: "#/components/schemas/ImClient" type: array interests: description: The person's interests. items: $ref: "#/components/schemas/Interest" type: array locales: description: The person's locale preferences. items: $ref: "#/components/schemas/Locale" type: array locations: description: The person's locations. items: $ref: "#/components/schemas/Location" type: array memberships: description: The person's group memberships. items: $ref: "#/components/schemas/Membership" type: array metadata: $ref: "#/components/schemas/PersonMetadata" description: Output only. Metadata about the person. readOnly: true miscKeywords: description: The person's miscellaneous keywords. items: $ref: "#/components/schemas/MiscKeyword" type: array names: description: The person's names. This field is a singleton for contact sources. items: $ref: "#/components/schemas/Name" type: array nicknames: description: The person's nicknames. items: $ref: "#/components/schemas/Nickname" type: array occupations: description: The person's occupations. items: $ref: "#/components/schemas/Occupation" type: array organizations: description: The person's past or current organizations. items: $ref: "#/components/schemas/Organization" type: array phoneNumbers: description: The person's phone numbers. For `people.connections.list` and `otherContacts.list` the number of phone numbers is limited to 100. If a Person has more phone numbers the entire set can be obtained by calling GetPeople. items: $ref: "#/components/schemas/PhoneNumber" type: array photos: description: Output only. The person's photos. items: $ref: "#/components/schemas/Photo" readOnly: true type: array relations: description: The person's relations. items: $ref: "#/components/schemas/Relation" type: array relationshipInterests: description: "Output only. **DEPRECATED**: No data will be returned The person's relationship interests." items: $ref: "#/components/schemas/RelationshipInterest" readOnly: true type: array relationshipStatuses: description: "Output only. **DEPRECATED**: No data will be returned The person's relationship statuses." items: $ref: "#/components/schemas/RelationshipStatus" readOnly: true type: array residences: description: "**DEPRECATED**: (Please use `person.locations` instead) The person's residences." items: $ref: "#/components/schemas/Residence" type: array resourceName: description: The resource name for the person, assigned by the server. An ASCII string in the form of `people/{person_id}`. type: string sipAddresses: description: The person's SIP addresses. items: $ref: "#/components/schemas/SipAddress" type: array skills: description: The person's skills. items: $ref: "#/components/schemas/Skill" type: array taglines: description: "Output only. **DEPRECATED**: No data will be returned The person's taglines." items: $ref: "#/components/schemas/Tagline" readOnly: true type: array urls: description: The person's associated URLs. items: $ref: "#/components/schemas/Url" type: array userDefined: description: The person's user defined data. items: $ref: "#/components/schemas/UserDefined" type: array type: object PersonMetadata: description: The metadata about a person. properties: deleted: description: Output only. True if the person resource has been deleted. Populated only for `people.connections.list` and `otherContacts.list` sync requests. readOnly: true type: boolean linkedPeopleResourceNames: description: Output only. Resource names of people linked to this resource. items: type: string readOnly: true type: array objectType: description: Output only. **DEPRECATED** (Please use `person.metadata.sources.profileMetadata.objectType` instead) The type of the person object. enum: - OBJECT_TYPE_UNSPECIFIED - PERSON - PAGE readOnly: true type: string previousResourceNames: description: Output only. Any former resource names this person has had. Populated only for `people.connections.list` requests that include a sync token. The resource name may change when adding or removing fields that link a contact and profile such as a verified email, verified phone number, or profile URL. items: type: string readOnly: true type: array sources: description: The sources of data for the person. items: $ref: "#/components/schemas/Source" type: array type: object PersonResponse: description: The response for a single person properties: httpStatusCode: description: "**DEPRECATED** (Please use status instead) [HTTP 1.1 status code] (http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html)." format: int32 type: integer person: $ref: "#/components/schemas/Person" description: The person. requestedResourceName: description: The original requested resource name. May be different than the resource name on the returned person. The resource name can change when adding or removing fields that link a contact and profile such as a verified email, verified phone number, or a profile URL. type: string status: $ref: "#/components/schemas/Status" description: The status of the response. type: object PhoneNumber: description: A person's phone number. properties: canonicalForm: description: Output only. The canonicalized [ITU-T E.164](https://law.resource.org/pub/us/cfr/ibr/004/itu-t.E.164.1.2008.pdf) form of the phone number. readOnly: true type: string formattedType: description: Output only. The type of the phone number translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. readOnly: true type: string metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the phone number. type: description: "The type of the phone number. The type can be custom or one of these predefined values: * `home` * `work` * `mobile` * `homeFax` * `workFax` * `otherFax` * `pager` * `workMobile` * `workPager` * `main` * `googleVoice` * `other`" type: string value: description: The phone number. type: string type: object Photo: description: A person's photo. A picture shown next to the person's name to help others recognize the person. properties: metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the photo. url: description: "The URL of the photo. You can change the desired size by appending a query parameter `sz={size}` at the end of the url, where {size} is the size in pixels. Example: https://lh3.googleusercontent.com/-T_wVWLlmg7w/AAAAAAAAAAI/AAAAAAAABa8/00gzXvDBYqw/s100/photo.jpg?sz=50" type: string type: object ProfileMetadata: description: The metadata about a profile. properties: objectType: description: Output only. The profile object type. enum: - OBJECT_TYPE_UNSPECIFIED - PERSON - PAGE readOnly: true type: string userTypes: description: Output only. The user types. items: enum: - USER_TYPE_UNKNOWN - GOOGLE_USER - GPLUS_USER - GOOGLE_APPS_USER type: string readOnly: true type: array type: object Relation: description: A person's relation to another person. properties: formattedType: description: Output only. The type of the relation translated and formatted in the viewer's account locale or the locale specified in the Accept-Language HTTP header. readOnly: true type: string metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the relation. person: description: The name of the other person this relation refers to. type: string type: description: "The person's relation to the other person. The type can be custom or one of these predefined values: * `spouse` * `child` * `mother` * `father` * `parent` * `brother` * `sister` * `friend` * `relative` * `domesticPartner` * `manager` * `assistant` * `referredBy` * `partner`" type: string type: object RelationshipInterest: description: "**DEPRECATED**: No data will be returned A person's relationship interest ." properties: formattedValue: description: Output only. The value of the relationship interest translated and formatted in the viewer's account locale or the locale specified in the Accept-Language HTTP header. readOnly: true type: string metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the relationship interest. value: description: "The kind of relationship the person is looking for. The value can be custom or one of these predefined values: * `friend` * `date` * `relationship` * `networking`" type: string type: object RelationshipStatus: description: "**DEPRECATED**: No data will be returned A person's relationship status." properties: formattedValue: description: Output only. The value of the relationship status translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. readOnly: true type: string metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the relationship status. value: description: "The relationship status. The value can be custom or one of these predefined values: * `single` * `inARelationship` * `engaged` * `married` * `itsComplicated` * `openRelationship` * `widowed` * `inDomesticPartnership` * `inCivilUnion`" type: string type: object Residence: description: "**DEPRECATED**: Please use `person.locations` instead. A person's past or current residence." properties: current: description: True if the residence is the person's current residence; false if the residence is a past residence. type: boolean metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the residence. value: description: The address of the residence. type: string type: object SearchDirectoryPeopleResponse: description: The response to a request for people in the authenticated user's domain directory that match the specified query. properties: nextPageToken: description: A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. type: string people: description: The list of people in the domain directory that match the query. items: $ref: "#/components/schemas/Person" type: array totalSize: description: The total number of items in the list without pagination. format: int32 type: integer type: object SearchResponse: description: The response to a search request for the authenticated user, given a query. properties: results: description: The results of the request. items: $ref: "#/components/schemas/SearchResult" type: array type: object SearchResult: description: A result of a search query. properties: person: $ref: "#/components/schemas/Person" description: The matched Person. type: object SipAddress: description: A person's SIP address. Session Initial Protocol addresses are used for VoIP communications to make voice or video calls over the internet. properties: formattedType: description: Output only. The type of the SIP address translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. readOnly: true type: string metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the SIP address. type: description: "The type of the SIP address. The type can be custom or or one of these predefined values: * `home` * `work` * `mobile` * `other`" type: string value: description: The SIP address in the [RFC 3261 19.1](https://tools.ietf.org/html/rfc3261#section-19.1) SIP URI format. type: string type: object Skill: description: A skill that the person has. properties: metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the skill. value: description: The skill; for example, `underwater basket weaving`. type: string type: object Source: description: The source of a field. properties: etag: description: "**Only populated in `person.metadata.sources`.** The [HTTP entity tag](https://en.wikipedia.org/wiki/HTTP_ETag) of the source. Used for web cache validation." type: string id: description: The unique identifier within the source type generated by the server. type: string profileMetadata: $ref: "#/components/schemas/ProfileMetadata" description: Output only. **Only populated in `person.metadata.sources`.** Metadata about a source of type PROFILE. readOnly: true type: description: The source type. enum: - SOURCE_TYPE_UNSPECIFIED - ACCOUNT - PROFILE - DOMAIN_PROFILE - CONTACT - OTHER_CONTACT - DOMAIN_CONTACT type: string updateTime: description: Output only. **Only populated in `person.metadata.sources`.** Last update timestamp of this source. format: google-datetime readOnly: true type: string type: object Status: description: "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors)." properties: code: description: The status code, which should be an enum value of google.rpc.Code. format: int32 type: integer details: description: A list of messages that carry the error details. There is a common set of message types for APIs to use. items: additionalProperties: description: Properties of the object. Contains field @type with type URL. type: object type: array message: description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. type: string type: object Tagline: description: "**DEPRECATED**: No data will be returned A brief one-line description of the person." properties: metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the tagline. value: description: The tagline. type: string type: object UpdateContactGroupRequest: description: A request to update an existing user contact group. All updated fields will be replaced. properties: contactGroup: $ref: "#/components/schemas/ContactGroup" description: Required. The contact group to update. readGroupFields: description: "Optional. A field mask to restrict which fields on the group are returned. Defaults to `metadata`, `groupType`, and `name` if not set or set to empty. Valid fields are: * clientData * groupType * memberCount * metadata * name" format: google-fieldmask type: string updateGroupFields: description: "Optional. A field mask to restrict which fields on the group are updated. Multiple fields can be specified by separating them with commas. Defaults to `name` if not set or set to empty. Updated fields are replaced. Valid values are: * clientData * name" format: google-fieldmask type: string type: object UpdateContactPhotoRequest: description: "A request to update an existing contact's photo. All requests must have a valid photo format: JPEG or PNG." properties: personFields: description: "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" format: google-fieldmask type: string photoBytes: description: Required. Raw photo bytes format: byte type: string sources: description: Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set. items: enum: - READ_SOURCE_TYPE_UNSPECIFIED - READ_SOURCE_TYPE_PROFILE - READ_SOURCE_TYPE_CONTACT - READ_SOURCE_TYPE_DOMAIN_CONTACT type: string type: array type: object UpdateContactPhotoResponse: description: The response for updating a contact's photo. properties: person: $ref: "#/components/schemas/Person" description: The updated person, if person_fields is set in the UpdateContactPhotoRequest; otherwise this will be unset. type: object Url: description: A person's associated URLs. properties: formattedType: description: Output only. The type of the URL translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. readOnly: true type: string metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the URL. type: description: "The type of the URL. The type can be custom or one of these predefined values: * `home` * `work` * `blog` * `profile` * `homePage` * `ftp` * `reservations` * `appInstallPage`: website for a Currents application. * `other`" type: string value: description: The URL. type: string type: object UserDefined: description: Arbitrary user data that is populated by the end users. properties: key: description: The end user specified key of the user defined data. type: string metadata: $ref: "#/components/schemas/FieldMetadata" description: Metadata about the user defined data. value: description: The end user specified value of the user defined data. type: string type: object securitySchemes: Oauth2: description: Oauth 2.0 implicit authentication flows: implicit: authorizationUrl: https://accounts.google.com/o/oauth2/auth scopes: https://www.googleapis.com/auth/contacts: See, edit, download, and permanently delete your contacts https://www.googleapis.com/auth/contacts.other.readonly: See and download contact info automatically saved in your "Other contacts" https://www.googleapis.com/auth/contacts.readonly: See and download your contacts https://www.googleapis.com/auth/directory.readonly: See and download your organization's GSuite directory https://www.googleapis.com/auth/user.addresses.read: View your street addresses https://www.googleapis.com/auth/user.birthday.read: See and download your exact date of birth https://www.googleapis.com/auth/user.emails.read: See and download all of your Google Account email addresses https://www.googleapis.com/auth/user.gender.read: See your gender https://www.googleapis.com/auth/user.organization.read: See your education, work history and org info https://www.googleapis.com/auth/user.phonenumbers.read: See and download your personal phone numbers https://www.googleapis.com/auth/userinfo.email: See your primary Google Account email address https://www.googleapis.com/auth/userinfo.profile: See your personal info, including any personal info you've made publicly available type: oauth2 Oauth2c: description: Oauth 2.0 authorizationCode authentication flows: authorizationCode: authorizationUrl: https://accounts.google.com/o/oauth2/auth scopes: https://www.googleapis.com/auth/contacts: See, edit, download, and permanently delete your contacts https://www.googleapis.com/auth/contacts.other.readonly: See and download contact info automatically saved in your "Other contacts" https://www.googleapis.com/auth/contacts.readonly: See and download your contacts https://www.googleapis.com/auth/directory.readonly: See and download your organization's GSuite directory https://www.googleapis.com/auth/user.addresses.read: View your street addresses https://www.googleapis.com/auth/user.birthday.read: See and download your exact date of birth https://www.googleapis.com/auth/user.emails.read: See and download all of your Google Account email addresses https://www.googleapis.com/auth/user.gender.read: See your gender https://www.googleapis.com/auth/user.organization.read: See your education, work history and org info https://www.googleapis.com/auth/user.phonenumbers.read: See and download your personal phone numbers https://www.googleapis.com/auth/userinfo.email: See your primary Google Account email address https://www.googleapis.com/auth/userinfo.profile: See your personal info, including any personal info you've made publicly available tokenUrl: https://accounts.google.com/o/oauth2/token type: oauth2