# group.query

Sent on group changes.

Type: object

##

#### GroupAddedEvent

Type: object
No Additional Properties

##

#### Id

Type: integer

##

#### GroupEntry

Type: object
No Additional Properties

##

#### Id

Type: integer

This is the API identifier for the group. Use this ID for `group.update` and `group.delete` API calls. This ID also appears in the `groups` array for each user entry in `user.query` results.

NOTE: For groups from a directory service, the `id` is calculated by adding 100000000 to the `gid`. This ensures consistent API results. You cannot change directory service accounts through TrueNAS.

##

#### Gid

Type: integer

A non-negative integer used to identify a group. TrueNAS uses this value for permission checks and many other system purposes.

##

#### Name

Type: string

A string used to identify a group.

Must be at least `1` characters long

##

#### Builtin

Type: boolean

If `True`, the group is an internal system account for the TrueNAS server. Typically, one should create dedicated groups for access to the TrueNAS server webui and shares.

##

#### Sudo Commands

Type: array of string Default: []

A list of commands that group members may execute with elevated privileges. User is prompted for password when executing any command from the list.

No Additional Items

##### Each item of this array must be:

Type: string

Must be at least `1` characters long

##

#### Sudo Commands Nopasswd

Type: array of string Default: []

A list of commands that group members may execute with elevated privileges. User is not prompted for password when executing any command from the list.

No Additional Items

##### Each item of this array must be:

Type: string

Must be at least `1` characters long

##

#### Smb

Type: boolean Default: true

If set to `True`, the group can be used for SMB share ACL entries. The group is mapped to an NT group account on the TrueNAS SMB server and has a `sid` value.

##

#### Userns Idmap

Default: null

Specifies the subgid mapping for this group. If DIRECT then the GID will be directly mapped to all containers. Alternatively, the target GID may be explicitly specified. If null, then the GID will not be mapped.

NOTE: This field will be ignored for groups that have been assigned TrueNAS roles.

## Any of

Type: const
Specific value: `"DIRECT"`
Type: integer

Value must be greater or equal to `1` and lesser or equal to `4294967294`

Type: null

##

#### Group

Type: string

A string used to identify a group. Identical to the `name` key.

Must be at least `1` characters long

##

#### Local

Type: boolean

If `True`, the group is local to the TrueNAS server. If `False`, the group is provided by a directory service.

##

#### Sid

The Security Identifier (SID) of the user if the account an `smb` account. The SMB server uses this value to check share access and for other purposes.

## Any of

Type: string
Type: null

##

#### Roles

Type: array of string

List of roles assigned to this groups. Roles control administrative access to TrueNAS through the web UI and API. You can change group roles by using `privilege.create`, `privilege.update`, and `privilege.delete`.

No Additional Items

##### Each item of this array must be:

Type: string

##

#### Users

Type: array of integer Default: []

A list a API user identifiers for local users who are members of this group. These IDs match the `id` field from `user.query`.

NOTE: This field is empty for groups that come from directory services (`local` is `False`).

No Additional Items

##### Each item of this array must be:

Type: integer

##

#### Immutable

Type: boolean

This is a read-only field showing if the group entry can be changed. If `True`, the group is immutable and cannot be changed. If `False`, the group can be changed.

##

#### GroupChangedEvent

Type: object
No Additional Properties

##

#### Id

Type: integer

##

#### GroupEntry

Type: object
No Additional Properties

##

#### Id

Type: integer

This is the API identifier for the group. Use this ID for `group.update` and `group.delete` API calls. This ID also appears in the `groups` array for each user entry in `user.query` results.

NOTE: For groups from a directory service, the `id` is calculated by adding 100000000 to the `gid`. This ensures consistent API results. You cannot change directory service accounts through TrueNAS.

##

#### Gid

Type: integer

A non-negative integer used to identify a group. TrueNAS uses this value for permission checks and many other system purposes.

##

#### Name

Type: string

A string used to identify a group.

Must be at least `1` characters long

##

#### Builtin

Type: boolean

If `True`, the group is an internal system account for the TrueNAS server. Typically, one should create dedicated groups for access to the TrueNAS server webui and shares.

##

#### Sudo Commands

Type: array of string Default: []

A list of commands that group members may execute with elevated privileges. User is prompted for password when executing any command from the list.

No Additional Items

##### Each item of this array must be:

Type: string

Must be at least `1` characters long

##

#### Sudo Commands Nopasswd

Type: array of string Default: []

A list of commands that group members may execute with elevated privileges. User is not prompted for password when executing any command from the list.

No Additional Items

##### Each item of this array must be:

Type: string

Must be at least `1` characters long

##

#### Smb

Type: boolean Default: true

If set to `True`, the group can be used for SMB share ACL entries. The group is mapped to an NT group account on the TrueNAS SMB server and has a `sid` value.

##

#### Userns Idmap

Default: null

Specifies the subgid mapping for this group. If DIRECT then the GID will be directly mapped to all containers. Alternatively, the target GID may be explicitly specified. If null, then the GID will not be mapped.

NOTE: This field will be ignored for groups that have been assigned TrueNAS roles.

## Any of

Type: const
Specific value: `"DIRECT"`
Type: integer

Value must be greater or equal to `1` and lesser or equal to `4294967294`

Type: null

##

#### Group

Type: string

A string used to identify a group. Identical to the `name` key.

Must be at least `1` characters long

##

#### Local

Type: boolean

If `True`, the group is local to the TrueNAS server. If `False`, the group is provided by a directory service.

##

#### Sid

The Security Identifier (SID) of the user if the account an `smb` account. The SMB server uses this value to check share access and for other purposes.

## Any of

Type: string
Type: null

##

#### Roles

Type: array of string

List of roles assigned to this groups. Roles control administrative access to TrueNAS through the web UI and API. You can change group roles by using `privilege.create`, `privilege.update`, and `privilege.delete`.

No Additional Items

##### Each item of this array must be:

Type: string

##

#### Users

Type: array of integer Default: []

A list a API user identifiers for local users who are members of this group. These IDs match the `id` field from `user.query`.

NOTE: This field is empty for groups that come from directory services (`local` is `False`).

No Additional Items

##### Each item of this array must be:

Type: integer

##

#### Immutable

Type: boolean

This is a read-only field showing if the group entry can be changed. If `True`, the group is immutable and cannot be changed. If `False`, the group can be changed.

##

#### GroupRemovedEvent

Type: object
No Additional Properties

##

#### Id

Type: integer

Required roles: ACCOUNT_READ