A group is two things at once, deliberately:
- A content item. It browses, it has a page, it takes categories, tags, media, ratings, reviews, comments, credits and dependencies, exactly like a mod or a community.
- A permission principal. A group can be granted
READ,WRITEorDELETEover some other content item, and every member inherits that grant.
The second is what makes groups worth having. Handing a five-person team write access to a mod is one grant to a group, not five grants to five accounts — and adding a sixth person to the team gives them access to everything the group holds, immediately.
The two directions of a grant
This trips people up, so it is worth stating plainly:
| Means | |
|---|---|
| A grant held by the group | Its members can act on somebody else’s item |
| A grant over the group | Somebody can co-manage the group itself |
They are separate. Giving your group WRITE on a mod does not let its
members edit the group.
Roles inside a group
| Role | |
|---|---|
OWNER |
The creator. Mirrors the group’s owner field |
ADMIN |
Full management of the group |
MODERATOR |
Moderates the group’s own surfaces |
USER |
An ordinary member |
These are the group’s own hierarchy and are unrelated to site-wide roles. A
site MODERATOR is not automatically a group moderator, and a group ADMIN has
no site powers.
Joining
- inviteOnlybooleandefault
false Members must be invited, or approved, rather than joining freely. Outstanding invitations are tracked separately from the roster, so a pending invite never counts as membership.
- primarybooleandefault
false Marks the group surfaced first wherever a member’s or an item’s groups are listed — a team’s main roster as opposed to its side groups.
Names are global
A group’s name and URL slug are both globally unique, like a community’s. There is no per-app namespace to disambiguate them.
What can be attached
The standard set, minus releases and links. Groups also have no relation sub-resources through the API — see the availability table in Relations.
Through the API
/api/content/groupAPI keycanWriteOnly name is required. primary is rejected — it is a privileged flag.