Skip to main content

Group

A generic group. groupType discriminates teams ('team'), channels ('channel'), and grid-access groups ('grid').

type Group {
groupId: BigInt!
appId: BigInt!
groupType: String!
name: String!
description: String
ownerUserId: BigInt
membershipPolicy: String!
status: String!
gridId: BigInt
defaultRoleId: BigInt
createdAt: DateTime!
}

Fields​

Group.groupId ● BigInt! non-null scalar​

Unique group id.

Group.appId ● BigInt! non-null scalar​

The app (tenant) the group belongs to.

Group.groupType ● String! non-null scalar​

Discriminator: 'team' | 'channel' | 'grid'.

Group.name ● String! non-null scalar​

Display name (unique per app + group type).

Group.description ● String scalar​

Optional free-text description.

Group.ownerUserId ● BigInt scalar​

The user who created/owns the group (holds the system 'leader' role).

Group.membershipPolicy ● String! non-null scalar​

How users may join: open (join immediately) | request (pending approval) | invite | admin.

Group.status ● String! non-null scalar​

Lifecycle status, e.g. 'active'.

Group.gridId ● BigInt scalar​

Channels only: the grid this channel belongs to (a grid channel, DN-10). Player modules on that grid may emit_channel into it; null for an ordinary channel.

Group.defaultRoleId ● BigInt scalar​

Optional role auto-assigned to every new member (e.g. a channel "member" role granting send_messages). Null means new members get no role by default.

Group.createdAt ● DateTime! non-null scalar​

When the group was created.

Returned By​

channel query ● channels query ● createChannel mutation ● createGridChannel mutation ● createTeam mutation ● gridChannels query ● team query ● teams query ● updateChannel mutation ● updateTeam mutation

Member Of​

GroupMembership object