UNPKG

openapi-directory

Version:

Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS

1 lines 117 kB
{"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://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=<name1>&resourceNames=<name2>&... - 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":