> ## Documentation Index
> Fetch the complete documentation index at: https://docs.siftstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# user_groups

> sift/user_groups/v2/user_groups.proto

<a name="sift_user_groups_v2_user_groups-proto" />

<a name="sift_user_groups_v2_user_groups-proto-services" />

## Services

*RPC methods exposed by this API.*

### UserGroupService

| Method                  | Request                                                           | Response                                                            | Description |
| :---------------------- | :---------------------------------------------------------------- | :------------------------------------------------------------------ | :---------- |
| ListUserGroups          | [ListUserGroupsRequest](#listusergroupsrequest)                   | [ListUserGroupsResponse](#listusergroupsresponse)                   |             |
| GetUserGroup            | [GetUserGroupRequest](#getusergrouprequest)                       | [GetUserGroupResponse](#getusergroupresponse)                       |             |
| CreateUserGroup         | [CreateUserGroupRequest](#createusergrouprequest)                 | [CreateUserGroupResponse](#createusergroupresponse)                 |             |
| UpdateUserGroup         | [UpdateUserGroupRequest](#updateusergrouprequest)                 | [UpdateUserGroupResponse](#updateusergroupresponse)                 |             |
| DeleteUserGroup         | [DeleteUserGroupRequest](#deleteusergrouprequest)                 | [DeleteUserGroupResponse](#deleteusergroupresponse)                 |             |
| AddUserToUserGroup      | [AddUserToUserGroupRequest](#addusertousergrouprequest)           | [AddUserToUserGroupResponse](#addusertousergroupresponse)           |             |
| RemoveUserFromUserGroup | [RemoveUserFromUserGroupRequest](#removeuserfromusergrouprequest) | [RemoveUserFromUserGroupResponse](#removeuserfromusergroupresponse) |             |
| UpdateUserUserGroups    | [UpdateUserUserGroupsRequest](#updateuserusergroupsrequest)       | [UpdateUserUserGroupsResponse](#updateuserusergroupsresponse)       |             |
| GetUserGroupsForAssets  | [GetUserGroupsForAssetsRequest](#getusergroupsforassetsrequest)   | [GetUserGroupsForAssetsResponse](#getusergroupsforassetsresponse)   |             |

<a name="sift_user_groups_v2_user_groups-proto-messages" />

## Messages

*Data models used across requests/responses.*

### AddUserToUserGroupRequest

| Field           | Type   | Label | Description |
| :-------------- | :----- | :---- | :---------- |
| user\_group\_id | string |       |             |
| user\_id        | string |       |             |

### AddUserToUserGroupResponse

*This message has no fields.*

### CreateUserGroupRequest

| Field       | Type                    | Label | Description |
| :---------- | :---------------------- | :---- | :---------- |
| user\_group | [UserGroup](#usergroup) |       |             |

### CreateUserGroupResponse

| Field       | Type                    | Label | Description |
| :---------- | :---------------------- | :---- | :---------- |
| user\_group | [UserGroup](#usergroup) |       |             |

### DeleteUserGroupRequest

| Field           | Type   | Label | Description |
| :-------------- | :----- | :---- | :---------- |
| user\_group\_id | string |       |             |

### DeleteUserGroupResponse

*This message has no fields.*

### GetUserGroupRequest

| Field           | Type   | Label | Description |
| :-------------- | :----- | :---- | :---------- |
| user\_group\_id | string |       |             |

### GetUserGroupResponse

| Field       | Type                    | Label | Description |
| :---------- | :---------------------- | :---- | :---------- |
| user\_group | [UserGroup](#usergroup) |       |             |

### GetUserGroupsForAssetsRequest

| Field      | Type   | Label    | Description |
| :--------- | :----- | :------- | :---------- |
| asset\_ids | string | repeated |             |

### GetUserGroupsForAssetsResponse

| Field        | Type                                      | Label    | Description |
| :----------- | :---------------------------------------- | :------- | :---------- |
| user\_groups | [UserGroup](#usergroup)                   | repeated |             |
| roles        | [sift.roles.v2.Role](#sift-roles-v2-role) | repeated |             |

### ListUserGroupsRequest

| Field       | Type   | Label | Description                                                                                                                                                                                                   |
| :---------- | :----- | :---- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| page\_size  | uint32 |       | The maximum number of user groups to return. The service may return fewer than this value. If unspecified, at most 50 will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. |
| page\_token | string |       | A page token, received from a previous `ListUserGroups` call. Provide this to retrieve the subsequent page.                                                                                                   |

When paginating, all other parameters provided to `ListUserGroups` must match the call that provided the page token. |
\| filter | string |  | A Common Expression Language (CEL, [https://github.com/google/cel-spec](https://github.com/google/cel-spec)) filter string. Available tag variables are: - name |
\| order\_by | string |  | How to order the retrieved user groups. Formatted as a comma-separated string i.e. "FIELD\_NAME\[ desc],...". Available fields to order\_by are `name`, `created_date`, and `modified_date`. If left empty, items are ordered by `name` in ascending order (A-Z). For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) Example: "created\_date desc,modified\_date" |

### ListUserGroupsResponse

| Field             | Type                    | Label    | Description                                                                                                                  |
| :---------------- | :---------------------- | :------- | :--------------------------------------------------------------------------------------------------------------------------- |
| user\_groups      | [UserGroup](#usergroup) | repeated |                                                                                                                              |
| next\_page\_token | string                  |          | A token, which can be sent as `page_token` to retrieve the next page. If this field is empty, there are no subsequent pages. |

### RemoveUserFromUserGroupRequest

| Field           | Type   | Label | Description |
| :-------------- | :----- | :---- | :---------- |
| user\_group\_id | string |       |             |
| user\_id        | string |       |             |

### RemoveUserFromUserGroupResponse

*This message has no fields.*

### UpdateUserGroupRequest

| Field        | Type                                                    | Label | Description                   |
| :----------- | :------------------------------------------------------ | :---- | :---------------------------- |
| user\_group  | [UserGroup](#usergroup)                                 |       |                               |
| update\_mask | [google.protobuf.FieldMask](#google-protobuf-fieldmask) |       | The list of fields to update. |

### UpdateUserGroupResponse

| Field       | Type                    | Label | Description |
| :---------- | :---------------------- | :---- | :---------- |
| user\_group | [UserGroup](#usergroup) |       |             |

### UpdateUserUserGroupsRequest

| Field            | Type   | Label    | Description |
| :--------------- | :----- | :------- | :---------- |
| user\_id         | string |          |             |
| user\_group\_ids | string | repeated |             |

### UpdateUserUserGroupsResponse

*This message has no fields.*

### UserGroup

| Field           | Type                                      | Label    | Description |
| :-------------- | :---------------------------------------- | :------- | :---------- |
| user\_group\_id | string                                    |          |             |
| name            | string                                    |          |             |
| role\_id        | string                                    |          |             |
| is\_default     | bool                                      |          |             |
| resources       | [UserGroup.Resource](#usergroup-resource) |          |             |
| user\_ids       | string                                    | repeated |             |
| is\_external    | bool                                      |          |             |

### UserGroup.Resource

| Field       | Type   | Label    | Description |
| :---------- | :----- | :------- | :---------- |
| asset\_ids  | string | repeated |             |
| all\_assets | bool   |          |             |

<a name="sift_user_groups_v2_user_groups-proto-enums" />

## Enums

*Allowed constant values used in message fields.*
