# IRPCVault.GetUserGroups

Location: [gRPC API](https://developer.m-files.com/APIs/gRPC-API/index.md) > [Vault API](https://developer.m-files.com/APIs/gRPC-API/vault/index.md) > [Vault information](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVault/index.md)

HTML version: https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVault/GetUserGroups/

Badges: `Vault API / core` `read` `session or assertion` `idempotent` `returns metadata structure version`

Gets the vault's normal user groups with their members.

- **Service:** [Vault information](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVault/index.md) `MFiles.IRPCVault`
- **gRPC method:** `/MFiles.IRPCVault/GetUserGroups`
- **HTTP (mf-http-grpc):** `POST /grpc/v1/get-user-groups`
- **Request:** [`GetUserGroupsRequest`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVault/GetUserGroups/index.md#request)
- **Response:** [`GetUserGroupsResponse`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVault/GetUserGroups/index.md#response)
- **Book and level:** Vault API, core
- **Kind:** read
- **Session:** Required: a session (mfiles-session-id-bin metadata) or a session assertion (x-mf-session-assertion metadata).
- **Idempotent:** yes
- **Returns metadata structure version:** yes (in the mfiles-metadata-version-bin trailer)
- **Streaming:** none (unary)

<a id="remarks"></a>

## Remarks

[GetUserContainers](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVault/GetUserContainers/index.md) returns groups of all types.

<a id="request"></a>

## Request: GetUserGroupsRequest

No fields.

<a id="response"></a>

## Response: GetUserGroupsResponse

> Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.

| Field | Type | Description |
|---|---|---|
| `groups[]` | repeated [`UserGroupBasic`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.UserGroupBasic/index.md) | User groups (represented by UserGroupBasic structs). |
| `groups[].id` | `int32` | The ID of the user group. |
| `groups[].name` | `string` | The name of the group. |
| `groups[].members[]` | repeated `int32` | The IDs of the members of this group (user accounts and/or user groups). |
| `groups[].type` | [`UserGroupType`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.UserGroupType/index.md) | User group type. Values: `USER_GROUP_TYPE_NORMAL` (0), `USER_GROUP_TYPE_REPOSITORY_USER` (1), `USER_GROUP_TYPE_REPOSITORY_GROUP` (2), `USER_GROUP_TYPE_ANY` (-1). |

<a id="related"></a>

## Related methods

- [GetUserContainers](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVault/GetUserContainers/index.md): Gets all user groups of the vault, of all group types, with their members.
