- [HTTP request](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/findGroupChats#body.HTTP_TEMPLATE)
- [Query parameters](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/findGroupChats#body.QUERY_PARAMETERS)
- [Request body](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/findGroupChats#body.request_body)
- [Response body](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/findGroupChats#body.response_body)
  - [JSON representation](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/findGroupChats#body.FindGroupChatsResponse.SCHEMA_REPRESENTATION)
- [Authorization scopes](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/findGroupChats#body.aspect)
- [SpaceView](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/findGroupChats#SpaceView)
- [Try it!](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/findGroupChats#try-it)

Returns all spaces with `spaceType == GROUP_CHAT`, whose human memberships contain exactly the calling user, and the users specified in `FindGroupChatsRequest.users`. Only members that have joined the conversation are supported. For an example, see [Find group chats](https://developers.google.com/workspace/chat/find-group-chats).

If the calling user blocks, or is blocked by, some users, and no spaces with the entire specified set of users are found, this method returns spaces that don't include the blocked or blocking users.

The specified set of users must contain only human (non-app) memberships. A request that contains non-human users doesn't return any spaces.

Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes):

- `https://www.googleapis.com/auth/chat.memberships.readonly`
- `https://www.googleapis.com/auth/chat.memberships`

### HTTP request

`GET https://chat.googleapis.com/v1/spaces:findGroupChats`

The URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Query parameters

| Parameters ||
|---|---|
| `users[]` | `string` Optional. Resource names of all human users in group chat with the calling user. Chat apps can't be included in the request. The maximum number of users that can be specified in a single request is `49`. Format: `users/{user}`, where `{user}` is either the `id` for the [person](https://developers.google.com/people/api/rest/v1/people) from the People API, or the `id` for the [user](https://developers.google.com/admin-sdk/directory/reference/rest/v1/users) in the Directory API. For example, to find all group chats with the calling user and two other users, with People API profile IDs `123456789` and `987654321`, you can use `users/123456789` and `users/987654321`. You can also use the email as an alias for `{user}`. For example, `users/example@gmail.com` where `example@gmail.com` is the email of the Google Chat user. |
| `pageSize` | `integer` Optional. The maximum number of spaces to return. The service might return fewer than this value. If unspecified, at most 10 spaces are returned. The maximum value is 30. If you use a value more than 30, it's automatically changed to 30. Negative values return an `INVALID_ARGUMENT` error. |
| `pageToken` | `string` Optional. A page token, received from a previous call to find group chats. Provide this parameter to retrieve the subsequent page. When paginating, all other parameters provided should match the call that provided the token. Passing different values may lead to unexpected results. |
| `spaceView` | ``enum (`https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/findGroupChats#SpaceView`)`` Requested space view type. If unset, defaults to `SPACE_VIEW_RESOURCE_NAME_ONLY`. Requests that specify `SPACE_VIEW_EXPANDED` must include scopes that allow reading space data, for example, <https://www.googleapis.com/auth/chat.spaces> or <https://www.googleapis.com/auth/chat.spaces.readonly>. |

### Request body

The request body must be empty.

### Response body

A response containing group chat spaces with exactly the calling user and the requested users.

If successful, the response body contains data with the following structure:

| JSON representation |
|---|
| ``` { "spaces": [ { object (`https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces#Space`) } ], "nextPageToken": string } ``` |

| Fields ||
|---|---|
| `spaces[]` | ``object (`https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces#Space`)`` List of spaces in the requested (or first) page. |
| `nextPageToken` | `string` A token that you can send as `pageToken` to retrieve the next page of results. If empty, there are no subsequent pages. |

### Authorization scopes

Requires one of the following OAuth scopes:

- `https://www.googleapis.com/auth/chat.memberships`
- `https://www.googleapis.com/auth/chat.memberships.readonly`

For more information, see the [Authorization guide](https://developers.google.com/workspace/chat/authenticate-authorize).

## SpaceView

A view that specifies which fields should be populated on the [`Space`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces) resource. To ensure compatibility with future releases, we recommend that your code account for additional values.

| Enums ||
|---|---|
| `SPACE_VIEW_UNSPECIFIED` | The default / unset value. |
| `SPACE_VIEW_RESOURCE_NAME_ONLY` | Populates only the Space resource name. |
| `SPACE_VIEW_EXPANDED` | Populates Space resource fields. Note: the `permissionSettings` field will not be populated. Requests that specify SPACE_VIEW_EXPANDED must include scopes that allow reading space data, for example, <https://www.googleapis.com/auth/chat.spaces> or <https://www.googleapis.com/auth/chat.spaces.readonly>. |