openapi: 3.1.0 info: title: Google People API description: >- The Google People API provides access to information about profiles and contacts. It enables reading and managing the authenticated user's contacts and accessing profile information for authenticated users across Google services. version: 1.0.0 contact: name: Google url: https://developers.google.com/people servers: - url: https://people.googleapis.com/v1 paths: /people/{resourceName}: get: operationId: getPerson summary: Google People Get Person description: Provides information about a person by specifying a resource name. parameters: - name: resourceName in: path required: true description: The resource name of the person (e.g., people/me). schema: type: string - name: personFields in: query required: true description: >- A field mask to restrict which fields on the person are returned. schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/Person' tags: - People /people:batchGet: get: operationId: batchGetPeople summary: Google People Batch Get People description: Provides information about a list of specific people. parameters: - name: resourceNames in: query required: true schema: type: array items: type: string - name: personFields in: query required: true schema: type: string responses: '200': description: Successful response tags: - people:batchGet /people:searchContacts: get: operationId: searchContacts summary: Google People Search Contacts description: Provides a list of contacts in the user's contact groups that match a query. parameters: - name: query in: query required: true schema: type: string - name: readMask in: query required: true schema: type: string - name: pageSize in: query schema: type: integer responses: '200': description: Successful response tags: - people:searchContacts /people:createContact: post: operationId: createContact summary: Google People Create Contact description: Create a new contact and return the person resource for that contact. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Person' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/Person' tags: - people:createContact /people/{resourceName}:deleteContact: delete: operationId: deleteContact summary: Google People Delete Contact description: Delete a contact person. parameters: - name: resourceName in: path required: true schema: type: string responses: '200': description: Successful response tags: - People /people/{resourceName}:updateContact: patch: operationId: updateContact summary: Google People Update Contact description: Update contact data for an existing contact person. parameters: - name: resourceName in: path required: true schema: type: string - name: updatePersonFields in: query required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Person' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/Person' tags: - People /people/me/connections: get: operationId: listConnections summary: Google People List Connections description: Provides a list of the authenticated user's contacts. parameters: - name: personFields in: query required: true schema: type: string - name: pageSize in: query schema: type: integer - name: pageToken in: query schema: type: string - name: sortOrder in: query schema: type: string enum: - LAST_MODIFIED_ASCENDING - LAST_MODIFIED_DESCENDING - FIRST_NAME_ASCENDING - LAST_NAME_ASCENDING responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/ListConnectionsResponse' tags: - People /contactGroups: get: operationId: listContactGroups summary: Google People List Contact Groups description: List all contact groups owned by the authenticated user. parameters: - name: pageSize in: query schema: type: integer - name: pageToken in: query schema: type: string responses: '200': description: Successful response tags: - contactGroups post: operationId: createContactGroup summary: Google People Create Contact Group description: Create a new contact group. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ContactGroup' responses: '200': description: Successful response tags: - contactGroups /contactGroups/{resourceName}: get: operationId: getContactGroup summary: Google People Get Contact Group description: Get a specific contact group. parameters: - name: resourceName in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/ContactGroup' tags: - contactGroups put: operationId: updateContactGroup summary: Google People Update Contact Group description: Update the name of an existing contact group. parameters: - name: resourceName in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ContactGroup' responses: '200': description: Successful response tags: - contactGroups delete: operationId: deleteContactGroup summary: Google People Delete Contact Group description: Delete an existing contact group. parameters: - name: resourceName in: path required: true schema: type: string responses: '200': description: Successful response tags: - contactGroups components: securitySchemes: OAuth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://accounts.google.com/o/oauth2/auth tokenUrl: https://oauth2.googleapis.com/token scopes: https://www.googleapis.com/auth/contacts: Manage contacts https://www.googleapis.com/auth/contacts.readonly: View contacts schemas: Person: type: object properties: resourceName: type: string etag: type: string names: type: array items: type: object properties: displayName: type: string familyName: type: string givenName: type: string middleName: type: string emailAddresses: type: array items: type: object properties: value: type: string type: type: string phoneNumbers: type: array items: type: object properties: value: type: string type: type: string addresses: type: array items: type: object properties: formattedValue: type: string type: type: string streetAddress: type: string city: type: string region: type: string postalCode: type: string country: type: string organizations: type: array items: type: object properties: name: type: string title: type: string photos: type: array items: type: object properties: url: type: string birthdays: type: array items: type: object properties: date: type: object properties: year: type: integer month: type: integer day: type: integer biographies: type: array items: type: object properties: value: type: string urls: type: array items: type: object properties: value: type: string type: type: string ContactGroup: type: object properties: resourceName: type: string etag: type: string name: type: string formattedName: type: string memberCount: type: integer groupType: type: string ListConnectionsResponse: type: object properties: connections: type: array items: $ref: '#/components/schemas/Person' nextPageToken: type: string totalPeople: type: integer totalItems: type: integer security: - OAuth2: [] tags: - name: contactGroups - name: People - name: people:batchGet - name: people:createContact - name: people:searchContacts