Skip to content

Groups v1

Reference for the Groups v1 endpoints on Roblox.

Base URL: https://groups.roblox.com

Method Path Name
GET /v1/featured-content/event getFeaturedContentEvent
POST /v1/featured-content/event postFeaturedContentEvent
DELETE /v1/featured-content/event deleteFeaturedContentEvent
GET /v1/groups/:groupId getGroupsGroupid
GET /v1/groups/:groupId/audit-log getGroupsGroupidAuditLog
GET /v1/groups/:groupId/bans getGroupsGroupidBans
GET /v1/groups/:groupId/bans/:userId getGroupsGroupidBansUserid
POST /v1/groups/:groupId/bans/:userId postGroupsGroupidBansUserid
DELETE /v1/groups/:groupId/bans/:userId deleteGroupsGroupidBansUserid
GET /v1/groups/:groupId/blocked-keywords getGroupsGroupidBlockedKeywords
POST /v1/groups/:groupId/blocked-keywords postGroupsGroupidBlockedKeywords
DELETE /v1/groups/:groupId/blocked-keywords/:keywordId deleteGroupsGroupidBlockedKeywordsKeywordid
PATCH /v1/groups/:groupId/blocked-keywords/:keywordId patchGroupsGroupidBlockedKeywordsKeywordid
POST /v1/groups/:groupId/change-owner postGroupsGroupidChangeOwner
POST /v1/groups/:groupId/claim-ownership postGroupsGroupidClaimOwnership
GET /v1/groups/:groupId/community-feature-freezes getGroupsGroupidCommunityFeatureFreezes
POST /v1/groups/:groupId/community-tier/evaluate postGroupsGroupidCommunityTierEvaluate
GET /v1/groups/:groupId/configuration getGroupsGroupidConfiguration
PATCH /v1/groups/:groupId/description patchGroupsGroupidDescription
GET /v1/groups/:groupId/emotes getGroupsGroupidEmotes
GET /v1/groups/:groupId/features getGroupsGroupidFeatures
PATCH /v1/groups/:groupId/features patchGroupsGroupidFeatures
GET /v1/groups/:groupId/features/status getGroupsGroupidFeaturesStatus
GET /v1/groups/:groupId/join-requests getGroupsGroupidJoinRequests
POST /v1/groups/:groupId/join-requests postGroupsGroupidJoinRequests
DELETE /v1/groups/:groupId/join-requests deleteGroupsGroupidJoinRequests
GET /v1/groups/:groupId/join-requests/users/:userId getGroupsGroupidJoinRequestsUsersUserid
POST /v1/groups/:groupId/join-requests/users/:userId postGroupsGroupidJoinRequestsUsersUserid
DELETE /v1/groups/:groupId/join-requests/users/:userId deleteGroupsGroupidJoinRequestsUsersUserid
GET /v1/groups/:groupId/membership getGroupsGroupidMembership
PATCH /v1/groups/:groupId/name patchGroupsGroupidName
GET /v1/groups/:groupId/name-history getGroupsGroupidNameHistory
PATCH /v1/groups/:groupId/notification-preference patchGroupsGroupidNotificationPreference
GET /v1/groups/:groupId/payout-restriction getGroupsGroupidPayoutRestriction
GET /v1/groups/:groupId/payouts getGroupsGroupidPayouts
POST /v1/groups/:groupId/payouts postGroupsGroupidPayouts
POST /v1/groups/:groupId/payouts/recurring postGroupsGroupidPayoutsRecurring
GET /v1/groups/:groupId/relationships/:groupRelationshipType getGroupsGroupidRelationshipsGrouprelationshiptype
POST /v1/groups/:groupId/relationships/:groupRelationshipType/:relatedGroupId postGroupsGroupidRelationshipsGrouprelationshiptypeRelatedgroupid
DELETE /v1/groups/:groupId/relationships/:groupRelationshipType/:relatedGroupId deleteGroupsGroupidRelationshipsGrouprelationshiptypeRelatedgroupid
GET /v1/groups/:groupId/relationships/:groupRelationshipType/requests getGroupsGroupidRelationshipsGrouprelationshiptypeRequests
POST /v1/groups/:groupId/relationships/:groupRelationshipType/requests postGroupsGroupidRelationshipsGrouprelationshiptypeRequests
DELETE /v1/groups/:groupId/relationships/:groupRelationshipType/requests deleteGroupsGroupidRelationshipsGrouprelationshiptypeRequests
POST /v1/groups/:groupId/relationships/:groupRelationshipType/requests/:relatedGroupId postGroupsGroupidRelationshipsGrouprelationshiptypeRequestsRelatedgroupid
DELETE /v1/groups/:groupId/relationships/:groupRelationshipType/requests/:relatedGroupId deleteGroupsGroupidRelationshipsGrouprelationshiptypeRequestsRelatedgroupid
GET /v1/groups/:groupId/roles getGroupsGroupidRoles
GET /v1/groups/:groupId/roles/:roleSetId/permissions getGroupsGroupidRolesRolesetidPermissions
PATCH /v1/groups/:groupId/roles/:roleSetId/permissions patchGroupsGroupidRolesRolesetidPermissions
GET /v1/groups/:groupId/roles/:roleSetId/users getGroupsGroupidRolesRolesetidUsers
GET /v1/groups/:groupId/roles/guest/permissions getGroupsGroupidRolesGuestPermissions
GET /v1/groups/:groupId/roles/permissions getGroupsGroupidRolesPermissions
DELETE /v1/groups/:groupId/rolesets/:rolesetId deleteGroupsGroupidRolesetsRolesetid
PATCH /v1/groups/:groupId/rolesets/:rolesetId patchGroupsGroupidRolesetsRolesetid
POST /v1/groups/:groupId/rolesets/create postGroupsGroupidRolesetsCreate
GET /v1/groups/:groupId/settings getGroupsGroupidSettings
PATCH /v1/groups/:groupId/settings patchGroupsGroupidSettings
GET /v1/groups/:groupId/social-links getGroupsGroupidSocialLinks
POST /v1/groups/:groupId/social-links postGroupsGroupidSocialLinks
DELETE /v1/groups/:groupId/social-links/:socialLinkId deleteGroupsGroupidSocialLinksSociallinkid
PATCH /v1/groups/:groupId/social-links/:socialLinkId patchGroupsGroupidSocialLinksSociallinkid
PATCH /v1/groups/:groupId/status patchGroupsGroupidStatus
GET /v1/groups/:groupId/users getGroupsGroupidUsers
POST /v1/groups/:groupId/users postGroupsGroupidUsers
DELETE /v1/groups/:groupId/users/:userId deleteGroupsGroupidUsersUserid
PATCH /v1/groups/:groupId/users/:userId patchGroupsGroupidUsersUserid
GET /v1/groups/:groupId/users/:userId/permissions getGroupsGroupidUsersUseridPermissions
GET /v1/groups/configuration/metadata getGroupsConfigurationMetadata
POST /v1/groups/create postGroupsCreate
PATCH /v1/groups/icon patchGroupsIcon
GET /v1/groups/metadata getGroupsMetadata
POST /v1/groups/policies postGroupsPolicies
GET /v1/groups/search getGroupsSearch
GET /v1/groups/search/lookup getGroupsSearchLookup
GET /v1/groups/search/metadata getGroupsSearchMetadata
GET /v1/roles getRoles
GET /v1/user/groups/pending getUserGroupsPending
POST /v1/user/groups/primary postUserGroupsPrimary
DELETE /v1/user/groups/primary deleteUserGroupsPrimary
GET /v1/users/:userId/friends/groups/roles getUsersUseridFriendsGroupsRoles
GET /v1/users/:userId/groups/primary/role getUsersUseridGroupsPrimaryRole
GET /v1/users/:userId/groups/roles getUsersUseridGroupsRoles

GET /v1/featured-content/event

Gets the featured event for a group

Usage
import { fetchApi } from 'rozod';
import { getFeaturedContentEvent } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getFeaturedContentEvent, {
groupId: /* integer */
});
Name Type Required Description
groupId integer Yes The group Id.
Field Type Description
groupId number
contentType string
contentId string

POST /v1/featured-content/event

Sets the featured event for a group

Usage
import { fetchApi } from 'rozod';
import { postFeaturedContentEvent } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(postFeaturedContentEvent, {
groupId: /* integer */,
eventId: /* integer */
});
Name Type Required Description
groupId integer Yes The group Id.
eventId integer Yes The event Id.
Field Type Description
groupId number
contentType string
contentId string
Status Description
403 0: Token Validation Failed
3: User is not authorized to set featured content for this group.

DELETE /v1/featured-content/event

Deletes the featured event for a group

Usage
import { fetchApi } from 'rozod';
import { deleteFeaturedContentEvent } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(deleteFeaturedContentEvent, {
groupId: /* integer */,
eventId: /* integer */
});
Name Type Required Description
groupId integer Yes The group Id.
eventId integer Yes The event Id.

Type: unknown

Status Description
403 0: Token Validation Failed
3: User is not authorized to set featured content for this group.

GET /v1/groups/:groupId

Gets group information

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupid } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupid, {
groupId: /* integer */
});
Name Type Required Description
groupId integer Yes The group Id.
Field Type Description
id number
name string
description string
owner object See below
shout object See below
memberCount number
isBuildersClubOnly boolean
publicEntryAllowed boolean
isLocked boolean
hasVerifiedBadge boolean
hasSocialModules boolean
communityTier object See below

owner fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string

shout fields:

Field Type Description
body string
poster object See below
created string
updated string

poster fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string

communityTier fields:

Field Type Description
groupId number
currentTier number
previousTier number | undefined
tierUpdatedTime string | undefined
lastEvaluatedTime string | undefined
requirements object[] | undefined See below
capabilities object | undefined See below

requirements[] item fields:

Field Type Description
key `“OwnerModerationStatusOk” “OwnerAgeEstimationVerified”
satisfied boolean

capabilities fields:

Field Type Description
isEligibleForUnrestrictedMessages boolean
Status Description
400 1: Group is invalid or does not exist.

GET /v1/groups/:groupId/audit-log

Gets the Group’s audit log

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidAuditLog } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidAuditLog, {
groupId: /* integer */,
userId: /* integer? */,
cursor: /* string? */,
sortOrder: /* enum */
});
Name Type Required Description
groupId integer Yes The id of the group the user is in.
userId integer? No Filter for specific user id
cursor string? No The paging cursor for the previous or next page.
sortOrder enum Yes The order the results are sorted in.
Field Type Description
previousPageCursor string
nextPageCursor string
data object[] See below

data[] item fields:

Field Type Description
actor object See below
actionType string
description object See below
created string

actor fields:

Field Type Description
user object See below
role object See below

user fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string

role fields:

Field Type Description
id number
name string
description string
rank number
memberCount number
isBase boolean
color `“Invalid” “Blue”
isPrivate boolean
Status Description
400 1: Group is invalid or does not exist.
8: Invalid or missing pagination parameters
401 0: Authorization has been denied for this request.
403 23: Insufficient permissions to complete the request.

GET /v1/groups/:groupId/bans

Gets the bans for the group

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidBans } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidBans, {
groupId: /* integer */,
cursor: /* string? */,
sortOrder: /* enum */
});
Name Type Required Description
groupId integer Yes The group Id.
cursor string? No The paging cursor for the previous or next page.
sortOrder enum Yes The order the results are sorted in.
Field Type Description
previousPageCursor string
nextPageCursor string
data object[] See below

data[] item fields:

Field Type Description
user object See below
actingUser object See below
created string

user fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string

actingUser fields:

Field Type Description
user object See below
role object See below

user fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string

role fields:

Field Type Description
id number
name string
description string
rank number
memberCount number
isBase boolean
color `“Invalid” “Blue”
isPrivate boolean
Status Description
401 0: Authorization has been denied for this request.
403 19: You have insufficient permissions for this request.
404 1: The group is invalid or does not exist.
405 18: The operation is temporarily unavailable. Please try again later.

GET /v1/groups/:groupId/bans/:userId

Fetch the group ban of a user from a group

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidBansUserid } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidBansUserid, {
groupId: /* integer */,
userId: /* integer */
});
Name Type Required Description
groupId integer Yes The group Id.
userId integer Yes The user Id.
Field Type Description
user object See below
actingUser object See below
created string

user fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string

actingUser fields:

Field Type Description
user object See below
role object See below

user fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string

role fields:

Field Type Description
id number
name string
description string
rank number
memberCount number
isBase boolean
color `“Invalid” “Blue”
isPrivate boolean
Status Description
401 0: Authorization has been denied for this request.
403 19: You have insufficient permissions for this request.
404 1: The group is invalid or does not exist.
3: The user is invalid or does not exist.
405 18: The operation is temporarily unavailable. Please try again later.

POST /v1/groups/:groupId/bans/:userId

Bans a user from a group

Usage
import { fetchApi } from 'rozod';
import { postGroupsGroupidBansUserid } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(postGroupsGroupidBansUserid, {
groupId: /* integer */,
userId: /* integer */
});
Name Type Required Description
groupId integer Yes The group Id.
userId integer Yes The Id of the user being banned.
Field Type Description
user object See below
actingUser object See below
created string

user fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string

actingUser fields:

Field Type Description
user object See below
role object See below

user fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string

role fields:

Field Type Description
id number
name string
description string
rank number
memberCount number
isBase boolean
color `“Invalid” “Blue”
isPrivate boolean
Status Description
400 28: The user is already banned from the group.
31: You cannot perform this action against the group owner.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
19: You have insufficient permissions for this request.
404 1: The group is invalid or does not exist.
3: The user is invalid or does not exist.
3: The user is invalid or does not exist.
15: User is not a member of the group.
405 18: The operation is temporarily unavailable. Please try again later.

DELETE /v1/groups/:groupId/bans/:userId

Unbans a user from a group

Usage
import { fetchApi } from 'rozod';
import { deleteGroupsGroupidBansUserid } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(deleteGroupsGroupidBansUserid, {
groupId: /* integer */,
userId: /* integer */
});
Name Type Required Description
groupId integer Yes The group Id.
userId integer Yes The Id of the user being unbanned.

Type: unknown

Status Description
400 29: The user is not banned from the group.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
19: You have insufficient permissions for this request.
404 1: The group is invalid or does not exist.
405 18: The operation is temporarily unavailable. Please try again later.

GET /v1/groups/:groupId/blocked-keywords

Retrieves a paginated list of blocked keywords for a specific Group.

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidBlockedKeywords } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidBlockedKeywords, {
groupId: /* integer */,
cursor: /* string? */,
sortOrder: /* enum */
});
Name Type Required Description
groupId integer Yes
cursor string? No The paging cursor for the previous or next page.
sortOrder enum Yes The order the results are sorted in.
Field Type Description
totalActiveKeywordsCount number
previousPageCursor string
nextPageCursor string
data object[] See below

data[] item fields:

Field Type Description
id string
keyword string
createdBy number
isPrivate boolean
createdAt string
updatedAt string
Status Description
400 1: Group is invalid or does not exist.
6: Limit is invalid.
401 0: Authorization has been denied for this request.
403 9: User is invalid or does not exist.
10: Insufficient permissions to complete the request.
405 31: Service is currently unavailable.

POST /v1/groups/:groupId/blocked-keywords

Adds new blocked keyword(s) to the specified Group.

Usage
import { fetchApi } from 'rozod';
import { postGroupsGroupidBlockedKeywords } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(postGroupsGroupidBlockedKeywords, {
groupId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes
Field Type Description
keywords string
isPrivate boolean
Field Type Description
createdKeywords object[] See below
hadModeratedKeywords boolean
hadDuplicateKeywords boolean

createdKeywords[] item fields:

Field Type Description
id string
keyword string
createdBy number
isPrivate boolean
createdAt string
updatedAt string
Status Description
400 1: Group is invalid or does not exist.
2: One or more keywords are invalid.
4: Invalid request.
12: The provided content was moderated.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
8: Insufficient permissions to complete the request.
9: User is invalid or does not exist.
10: Insufficient permissions to complete the request.
405 31: Service is currently unavailable.
409 11: There was a conflict in your request.

deleteGroupsGroupidBlockedKeywordsKeywordid

Section titled “deleteGroupsGroupidBlockedKeywordsKeywordid”

DELETE /v1/groups/:groupId/blocked-keywords/:keywordId

Deletes a specific blocked keyword from the specified Group.

Usage
import { fetchApi } from 'rozod';
import { deleteGroupsGroupidBlockedKeywordsKeywordid } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(deleteGroupsGroupidBlockedKeywordsKeywordid, {
groupId: /* integer */,
keywordId: /* string */
});
Name Type Required Description
groupId integer Yes
keywordId string Yes

Type: unknown

Status Description
400 1: Group is invalid or does not exist.
3: KeywordId is invalid.
4: Invalid request.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
9: User is invalid or does not exist.
10: Insufficient permissions to complete the request.
404 7: Not found.
405 31: Service is currently unavailable.

patchGroupsGroupidBlockedKeywordsKeywordid

Section titled “patchGroupsGroupidBlockedKeywordsKeywordid”

PATCH /v1/groups/:groupId/blocked-keywords/:keywordId

Updates an existing blocked keyword for the specified Group.

Usage
import { fetchApi } from 'rozod';
import { patchGroupsGroupidBlockedKeywordsKeywordid } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(patchGroupsGroupidBlockedKeywordsKeywordid, {
groupId: /* integer */,
keywordId: /* string */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes
keywordId string Yes
Field Type Description
keyword string
isPrivate boolean
Field Type Description
id string
keyword string
createdBy number
isPrivate boolean
createdAt string
updatedAt string
Status Description
400 1: Group is invalid or does not exist.
3: KeywordId is invalid.
4: Invalid request.
12: The provided content was moderated.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
8: Insufficient permissions to complete the request.
9: User is invalid or does not exist.
10: Insufficient permissions to complete the request.
404 7: Not found.
405 31: Service is currently unavailable.
409 11: There was a conflict in your request.

POST /v1/groups/:groupId/change-owner

Changes the group owner to another user.

Usage
import { fetchApi } from 'rozod';
import { postGroupsGroupidChangeOwner } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(postGroupsGroupidChangeOwner, {
groupId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes The group Id.
Field Type Description
userId number

Type: unknown

Status Description
400 1: The group is invalid or does not exist.
3: The user is invalid or does not exist.
15: User is not a member of the group.
16: The user does not have the necessary level of premium membership.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
17: You are not authorized to change the owner of this group.
25: 2-Step Verification is required to make further transactions. Go to Settings > Security to complete 2-Step Verification.

POST /v1/groups/:groupId/claim-ownership

Claims ownership of the group as the authenticated user

Usage
import { fetchApi } from 'rozod';
import { postGroupsGroupidClaimOwnership } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(postGroupsGroupidClaimOwnership, {
groupId: /* integer */
});
Name Type Required Description
groupId integer Yes The group Id.

Type: unknown

Status Description
400 1: The group is invalid or does not exist.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
11: You are not authorized to claim this group
12: This group already has an owner
13: Too many attempts to claim groups. Please try again later.
503 18: The operation is temporarily unavailable. Please try again later.

GET /v1/groups/:groupId/community-feature-freezes

Gets the freeze status of the community features for a group.

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidCommunityFeatureFreezes } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidCommunityFeatureFreezes, {
groupId: /* integer */
});
Name Type Required Description
groupId integer Yes
Field Type Description
features object[] See below

features[] item fields:

Field Type Description
feature string
isDisabled boolean

POST /v1/groups/:groupId/community-tier/evaluate

Usage
import { fetchApi } from 'rozod';
import { postGroupsGroupidCommunityTierEvaluate } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(postGroupsGroupidCommunityTierEvaluate, {
groupId: /* integer */
});
Name Type Required Description
groupId integer Yes
Field Type Description
tierInfo object See below
passedSignals string[]
requirements object[] | undefined See below

tierInfo fields:

Field Type Description
groupId number
currentTier number
previousTier number | undefined
tierUpdatedTime string | undefined
lastEvaluatedTime string | undefined
requirements object[] | undefined See below
capabilities object | undefined See below

requirements[] item fields:

Field Type Description
key `“OwnerModerationStatusOk” “OwnerAgeEstimationVerified”
satisfied boolean

capabilities fields:

Field Type Description
isEligibleForUnrestrictedMessages boolean

requirements[] item fields:

Field Type Description
key `“OwnerModerationStatusOk” “OwnerAgeEstimationVerified”
satisfied boolean
Status Description
400 1: Group is invalid or does not exist.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
22: The feature is disabled.
23: Insufficient permissions to complete the request.
49: User is invalid or does not exist

GET /v1/groups/:groupId/configuration

Gets group configuration information

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidConfiguration } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidConfiguration, {
groupId: /* integer */
});
Name Type Required Description
groupId integer Yes The group Id.
Field Type Description
groupId number
emblemId number
coverPhotoId number
Status Description
400 1: Group is invalid or does not exist.
15: User is not a member of the group.
403 1: Group is invalid or does not exist.
23: Insufficient permissions to complete the request.
503 31: Service is currently unavailable.

PATCH /v1/groups/:groupId/description

Updates the groups description

Usage
import { fetchApi } from 'rozod';
import { patchGroupsGroupidDescription } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(patchGroupsGroupidDescription, {
groupId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes The id of the group the user is in.
Field Type Description
description string
Field Type Description
newDescription string
Status Description
400 1: Group is invalid or does not exist.
29: Your group description was empty.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
18: The description is too long.
23: Insufficient permissions to complete the request.

GET /v1/groups/:groupId/emotes

Gets a groups emote sets.

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidEmotes } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidEmotes, {
groupId: /* integer */
});
Name Type Required Description
groupId integer Yes
Field Type Description
emoteSets object[] See below

emoteSets[] item fields:

Field Type Description
id string
name string
emotes object[] See below

emotes[] item fields:

Field Type Description
id string
name string

GET /v1/groups/:groupId/features

Gets the freeze status of all features and the lock status for a group.

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidFeatures } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidFeatures, {
groupId: /* integer */
});
Name Type Required Description
groupId integer Yes
Field Type Description
isLocked boolean
features object[] See below

features[] item fields:

Field Type Description
feature `“Payouts” “ContentUpload”
isFeatureBlocked boolean
expiration string
Status Description
400 1: Group is invalid or does not exist.
401 0: Authorization has been denied for this request.
403 23: Insufficient permissions to complete the request.
49: User is invalid or does not exist

PATCH /v1/groups/:groupId/features

Sets the desired status of group features.

Usage
import { fetchApi } from 'rozod';
import { patchGroupsGroupidFeatures } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(patchGroupsGroupidFeatures, {
groupId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes
Field Type Description
Features object See below
Field Type Description
Updated boolean
Status Description
400 1: Group is invalid or does not exist.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
23: Insufficient permissions to complete the request.
49: User is invalid or does not exist

GET /v1/groups/:groupId/features/status

Checks whether a group has ANY feature disabled (includes feature freezes and group lock).

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidFeaturesStatus } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidFeaturesStatus, {
groupId: /* integer */
});
Name Type Required Description
groupId integer Yes
Field Type Description
hasFeaturesBlocked boolean
Status Description
400 1: Group is invalid or does not exist.
401 0: Authorization has been denied for this request.
403 23: Insufficient permissions to complete the request.
49: User is invalid or does not exist

GET /v1/groups/:groupId/join-requests

Gets a page of Group Join Requests for a group.

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidJoinRequests } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidJoinRequests, {
groupId: /* integer */,
cursor: /* string? */,
sortOrder: /* enum */
});
Name Type Required Description
groupId integer Yes The group id.
cursor string? No The paging cursor for the previous or next page.
sortOrder enum Yes The order the results are sorted in.
Field Type Description
previousPageCursor string
nextPageCursor string
data object[] See below

data[] item fields:

Field Type Description
requester object See below
created string

requester fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string
Status Description
400 1: The group is invalid or does not exist.
36: The pagination cursor is invalid.
401 0: Authorization has been denied for this request.
403 19: You have insufficient permissions for this request.

POST /v1/groups/:groupId/join-requests

Batch accepts group join requests

Usage
import { fetchApi } from 'rozod';
import { postGroupsGroupidJoinRequests } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(postGroupsGroupidJoinRequests, {
groupId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes The group id.
Field Type Description
UserIds number[]

Type: unknown

Status Description
400 1: The group is invalid or does not exist.
3: The user is invalid or does not exist.
20: The group join request is invalid.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
6: You are already in the maximum number of groups.
19: You have insufficient permissions for this request.
500 0: Something went wrong.
503 18: The operation is temporarily unavailable. Please try again later.

DELETE /v1/groups/:groupId/join-requests

Batch declines group join requests

Usage
import { fetchApi } from 'rozod';
import { deleteGroupsGroupidJoinRequests } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(deleteGroupsGroupidJoinRequests, {
groupId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes The group id.
Field Type Description
UserIds number[]

Type: unknown

Status Description
400 1: The group is invalid or does not exist.
3: The user is invalid or does not exist.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed

GET /v1/groups/:groupId/join-requests/users/:userId

Gets a group join request by userId.

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidJoinRequestsUsersUserid } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidJoinRequestsUsersUserid, {
groupId: /* integer */,
userId: /* integer */
});
Name Type Required Description
groupId integer Yes The group Id.
userId integer Yes The user Id.
Field Type Description
requester object See below
created string

requester fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string
Status Description
400 1: The group is invalid or does not exist.
401 0: Authorization has been denied for this request.
403 19: You have insufficient permissions for this request.

POST /v1/groups/:groupId/join-requests/users/:userId

Accepts a group join request.

Usage
import { fetchApi } from 'rozod';
import { postGroupsGroupidJoinRequestsUsersUserid } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(postGroupsGroupidJoinRequestsUsersUserid, {
groupId: /* integer */,
userId: /* integer */
});
Name Type Required Description
groupId integer Yes The group Id.
userId integer Yes The user Id.

Type: unknown

Status Description
400 1: The group is invalid or does not exist.
3: The user is invalid or does not exist.
20: The group join request is invalid.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
6: You are already in the maximum number of groups.
19: You have insufficient permissions for this request.
503 18: The operation is temporarily unavailable. Please try again later.

deleteGroupsGroupidJoinRequestsUsersUserid

Section titled “deleteGroupsGroupidJoinRequestsUsersUserid”

DELETE /v1/groups/:groupId/join-requests/users/:userId

Declines/cancels a group join request.

Usage
import { fetchApi } from 'rozod';
import { deleteGroupsGroupidJoinRequestsUsersUserid } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(deleteGroupsGroupidJoinRequestsUsersUserid, {
groupId: /* integer */,
userId: /* integer */
});
Name Type Required Description
groupId integer Yes The group Id.
userId integer Yes The user Id.

Type: unknown

Status Description
400 1: The group is invalid or does not exist.
3: The user is invalid or does not exist.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
4: You do not have permission to manage this member.

GET /v1/groups/:groupId/membership

Gets group membership information in the context of the authenticated user

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidMembership } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidMembership, {
groupId: /* integer */,
includeNotificationPreferences: /* boolean */
});
Name Type Required Description
groupId integer Yes The group Id.
includeNotificationPreferences boolean Yes
Field Type Description
groupId number
isPrimary boolean
isPendingJoin boolean
userRole object See below
permissions object See below
channelPermissions object[] See below
areGroupGamesVisible boolean
areGroupFundsVisible boolean
areEnemiesAllowed boolean
canConfigure boolean
isNotificationsEnabled boolean
notificationPreferences object[] See below
isBannedFromGroup boolean
canViewMemberList boolean
isOwner boolean

userRole fields:

Field Type Description
user object See below
role object See below

user fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string

role fields:

Field Type Description
id number
name string
description string
rank number
memberCount number
isBase boolean
color `“Invalid” “Blue”
isPrivate boolean

permissions fields:

Field Type Description
groupPostsPermissions object See below
groupForumsPermissions object See below
groupContentModerationPermissions object See below
groupMembershipPermissions object See below
groupManagementPermissions object See below
groupEconomyPermissions object See below
groupOpenCloudPermissions object See below

groupPostsPermissions fields:

Field Type Description
viewStatus boolean
postToStatus boolean

groupForumsPermissions fields:

Field Type Description
viewForums boolean
manageCategories boolean
createPosts boolean
removePosts boolean
lockPosts boolean
pinPosts boolean
createComments boolean
removeComments boolean
createBugReports boolean

groupContentModerationPermissions fields:

Field Type Description
manageKeywordBlockList boolean
viewKeywordBlockList boolean

groupMembershipPermissions fields:

Field Type Description
changeRank boolean
inviteMembers boolean
removeMembers boolean
banMembers boolean

groupManagementPermissions fields:

Field Type Description
manageRelationships boolean
manageClan boolean
viewAuditLogs boolean
bypassSlowmode boolean
viewCommunityAnalytics boolean

groupEconomyPermissions fields:

Field Type Description
spendGroupFunds boolean
advertiseGroup boolean
createItems boolean
manageItems boolean
addGroupPlaces boolean
manageGroupGames boolean
viewGroupPayouts boolean
viewAnalytics boolean

groupOpenCloudPermissions fields:

Field Type Description
useCloudAuthentication boolean
administerCloudAuthentication boolean

channelPermissions[] item fields:

Field Type Description
channelId string
groupForumsPermissions object See below

groupForumsPermissions fields:

Field Type Description
viewForums boolean
manageCategories boolean
createPosts boolean
removePosts boolean
lockPosts boolean
pinPosts boolean
createComments boolean
removeComments boolean
createBugReports boolean

notificationPreferences[] item fields:

Field Type Description
type `“AnnouncementCreatedNotification” “ForumPostCreatedNotification”
enabled boolean
name string
description string
Status Description
400 1: The group is invalid or does not exist.

PATCH /v1/groups/:groupId/name

Updates the group’s name.

Usage
import { fetchApi } from 'rozod';
import { patchGroupsGroupidName } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(patchGroupsGroupidName, {
groupId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes The id of the group the user is in.
Field Type Description
name string
Field Type Description
newName string
Status Description
400 1: Group is invalid or does not exist.
13: The name is invalid.
19: The name is too long.
20: The name has been taken.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
12: Insufficient Robux funds.
14: The name is moderated.
23: Insufficient permissions to complete the request.
38: Your account must be verified in order to change your group's name.
39: The group ownership was changed too recently.
409 36: The name was changed too recently.
37: The name was in use too recently.
413 0: Unknown error.
429 17: Too many requests.

GET /v1/groups/:groupId/name-history

Gets the Group’s name change history.

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidNameHistory } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidNameHistory, {
groupId: /* integer */,
cursor: /* string? */,
sortOrder: /* enum */
});
Name Type Required Description
groupId integer Yes The id of the group.
cursor string? No The paging cursor for the previous or next page.
sortOrder enum Yes The order the results are sorted in.
Field Type Description
previousPageCursor string
nextPageCursor string
data object[] See below

data[] item fields:

Field Type Description
name string
created string
Status Description
400 1: Group is invalid or does not exist.
403 23: Insufficient permissions to complete the request.

PATCH /v1/groups/:groupId/notification-preference

Updates the group’s settings

Usage
import { fetchApi } from 'rozod';
import { patchGroupsGroupidNotificationPreference } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(patchGroupsGroupidNotificationPreference, {
groupId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes The id of the group the user is in.
Field Type Description
notificationsEnabled boolean
type `“AnnouncementCreatedNotification” “ForumPostCreatedNotification”

Type: 0

Status Description
400 1: Group is invalid or does not exist.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed

GET /v1/groups/:groupId/payout-restriction

Gets a value indicating whether the group can use payout feature

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidPayoutRestriction } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidPayoutRestriction, {
groupId: /* integer */
});
Name Type Required Description
groupId integer Yes The group id.
Field Type Description
canUseRecurringPayout boolean
canUseOneTimePayout boolean
Status Description
400 1: Group is invalid or does not exist.
401 0: Authorization has been denied for this request.
403 9: You don't have permission to view this group's payouts.

GET /v1/groups/:groupId/payouts

Gets a list of the group payout percentages

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidPayouts } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidPayouts, {
groupId: /* integer */
});
Name Type Required Description
groupId integer Yes The group id.
Field Type Description
data object[] See below

data[] item fields:

Field Type Description
user object See below
percentage number

user fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string
Status Description
400 1: Group is invalid or does not exist.
401 0: Authorization has been denied for this request.
403 9: You don't have permission to view this group's payouts.

POST /v1/groups/:groupId/payouts

Pays out a user in Robux.

Usage
import { fetchApi } from 'rozod';
import { postGroupsGroupidPayouts } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(postGroupsGroupidPayouts, {
groupId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes The group Id.
Field Type Description
PayoutType `“FixedAmount” “Percentage”`
Recipients object[] See below
IdempotencyKey string
WatermarkContributions object[] See below

Recipients[] item fields:

Field Type Description
recipientId number
recipientType `“User” “Group”`
amount number

WatermarkContributions[] item fields:

Field Type Description
balanceKey `“Standard” “O18Boosted”`
amount number
Field Type Description
status `“NotHeld” “Held”`
Status Description
400 1: Group is invalid or does not exist.
12: Insufficient Robux funds.
24: Invalid payout type.
25: The amount is invalid.
26: Too many recipients.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
23: Insufficient permissions to complete the request.
28: Group has paid out too recently. Please wait and try again.
35: 2-Step Verification is required to make further transactions. Go to Settings > Security to complete 2-Step Verification.
52: Group has paid out to this recipient too many times recently. Please try again later.
503 22: The feature is disabled.

POST /v1/groups/:groupId/payouts/recurring

Updates recurring payouts.

Usage
import { fetchApi } from 'rozod';
import { postGroupsGroupidPayoutsRecurring } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(postGroupsGroupidPayoutsRecurring, {
groupId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes The group Id.
Field Type Description
PayoutType `“FixedAmount” “Percentage”`
Recipients object[] See below
IdempotencyKey string
WatermarkContributions object[] See below

Recipients[] item fields:

Field Type Description
recipientId number
recipientType `“User” “Group”`
amount number

WatermarkContributions[] item fields:

Field Type Description
balanceKey `“Standard” “O18Boosted”`
amount number

Type: unknown

Status Description
400 1: Group is invalid or does not exist.
24: Invalid payout type.
25: The amount is invalid.
26: Too many recipients.
27: The recipients are invalid.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
12: Insufficient Robux funds.
28: Group has paid out too recently. Please wait and try again.
35: 2-Step Verification is required to make further transactions. Go to Settings > Security to complete 2-Step Verification.
503 22: The feature is disabled.

getGroupsGroupidRelationshipsGrouprelationshiptype

Section titled “getGroupsGroupidRelationshipsGrouprelationshiptype”

GET /v1/groups/:groupId/relationships/:groupRelationshipType

Gets a group’s relationships

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidRelationshipsGrouprelationshiptype } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidRelationshipsGrouprelationshiptype, {
groupId: /* integer */,
groupRelationshipType: /* string */,
StartRowIndex: /* integer */,
MaxRows: /* integer */
});
Name Type Required Description
groupId integer Yes The group Id.
groupRelationshipType string Yes The group relationship type, enemies or allies.
StartRowIndex integer Yes The start index of the page request
MaxRows integer Yes The maximum number of rows for the page request, should be at least 1.
Field Type Description
groupId number
relationshipType `“Allies” “Enemies”`
totalGroupCount number
relatedGroups object[] See below
nextRowIndex number

relatedGroups[] item fields:

Field Type Description
id number
name string
description string
owner object See below
shout object See below
memberCount number
isBuildersClubOnly boolean
publicEntryAllowed boolean
isLocked boolean
hasVerifiedBadge boolean
hasSocialModules boolean
communityTier object See below

owner fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string

shout fields:

Field Type Description
body string
poster object See below
created string
updated string

poster fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string

communityTier fields:

Field Type Description
groupId number
currentTier number
previousTier number | undefined
tierUpdatedTime string | undefined
lastEvaluatedTime string | undefined
requirements object[] | undefined See below
capabilities object | undefined See below

requirements[] item fields:

Field Type Description
key `“OwnerModerationStatusOk” “OwnerAgeEstimationVerified”
satisfied boolean

capabilities fields:

Field Type Description
isEligibleForUnrestrictedMessages boolean
Status Description
400 1: Group is invalid or does not exist.
4: Group relationship type or request type is invalid.
8: Invalid or missing pagination parameters

postGroupsGroupidRelationshipsGrouprelationshiptypeRelatedgroupid

Section titled “postGroupsGroupidRelationshipsGrouprelationshiptypeRelatedgroupid”

POST /v1/groups/:groupId/relationships/:groupRelationshipType/:relatedGroupId

Create a group relationship.

Usage
import { fetchApi } from 'rozod';
import { postGroupsGroupidRelationshipsGrouprelationshiptypeRelatedgroupid } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(postGroupsGroupidRelationshipsGrouprelationshiptypeRelatedgroupid, {
groupId: /* integer */,
groupRelationshipType: /* string */,
relatedGroupId: /* integer */
});
Name Type Required Description
groupId integer Yes The group id.
groupRelationshipType string Yes The group relationship type, enemies or allies.
relatedGroupId integer Yes The id of the group you want to create a relationship with.

Type: unknown

Status Description
400 1: Group relationship type or request type is invalid.
2: Invalid group.
3: Target group is invalid or does not exist.
4: Your group cannot establish a relationship with itself.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
5: Your group does not allow enemy declarations.
6: Other group does not allow enemy declarations.
7: Your group already has a relationship with the target group.
8: You are blocked from communicating with this user.
9: Insufficient permissions.

deleteGroupsGroupidRelationshipsGrouprelationshiptypeRelatedgroupid

Section titled “deleteGroupsGroupidRelationshipsGrouprelationshiptypeRelatedgroupid”

DELETE /v1/groups/:groupId/relationships/:groupRelationshipType/:relatedGroupId

Deletes a group relationship.

Usage
import { fetchApi } from 'rozod';
import { deleteGroupsGroupidRelationshipsGrouprelationshiptypeRelatedgroupid } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(deleteGroupsGroupidRelationshipsGrouprelationshiptypeRelatedgroupid, {
groupId: /* integer */,
groupRelationshipType: /* string */,
relatedGroupId: /* integer */
});
Name Type Required Description
groupId integer Yes The group id.
groupRelationshipType string Yes The group relationship type, enemies or allies.
relatedGroupId integer Yes The id of the group you want to delete the relationship with.

Type: unknown

Status Description
400 2: Invalid group.
3: Target group is invalid or does not exist.
11: Relationship does not exist.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
8: You are blocked from communicating with this user.

getGroupsGroupidRelationshipsGrouprelationshiptypeRequests

Section titled “getGroupsGroupidRelationshipsGrouprelationshiptypeRequests”

GET /v1/groups/:groupId/relationships/:groupRelationshipType/requests

Gets a group’s relationship requests

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidRelationshipsGrouprelationshiptypeRequests } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidRelationshipsGrouprelationshiptypeRequests, {
groupId: /* integer */,
groupRelationshipType: /* string */,
StartRowIndex: /* integer */,
MaxRows: /* integer */
});
Name Type Required Description
groupId integer Yes The group Id.
groupRelationshipType string Yes The group relationship type of the request, only allies are supported.
StartRowIndex integer Yes The start index of the page request
MaxRows integer Yes The maximum number of rows for the page request, should be at least 1.
Field Type Description
groupId number
relationshipType `“Allies” “Enemies”`
totalGroupCount number
relatedGroups object[] See below
nextRowIndex number

relatedGroups[] item fields:

Field Type Description
id number
name string
description string
owner object See below
shout object See below
memberCount number
isBuildersClubOnly boolean
publicEntryAllowed boolean
isLocked boolean
hasVerifiedBadge boolean
hasSocialModules boolean
communityTier object See below

owner fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string

shout fields:

Field Type Description
body string
poster object See below
created string
updated string

poster fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string

communityTier fields:

Field Type Description
groupId number
currentTier number
previousTier number | undefined
tierUpdatedTime string | undefined
lastEvaluatedTime string | undefined
requirements object[] | undefined See below
capabilities object | undefined See below

requirements[] item fields:

Field Type Description
key `“OwnerModerationStatusOk” “OwnerAgeEstimationVerified”
satisfied boolean

capabilities fields:

Field Type Description
isEligibleForUnrestrictedMessages boolean
Status Description
400 1: Group is invalid or does not exist.
4: Group relationship type or request type is invalid.
8: Invalid or missing pagination parameters
401 0: Authorization has been denied for this request.
403 5: You don't have permission to manage this group's relationships.

postGroupsGroupidRelationshipsGrouprelationshiptypeRequests

Section titled “postGroupsGroupidRelationshipsGrouprelationshiptypeRequests”

POST /v1/groups/:groupId/relationships/:groupRelationshipType/requests

Batch accepts group affiliate requests

Usage
import { fetchApi } from 'rozod';
import { postGroupsGroupidRelationshipsGrouprelationshiptypeRequests } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(postGroupsGroupidRelationshipsGrouprelationshiptypeRequests, {
groupId: /* integer */,
groupRelationshipType: /* string */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes The group id.
groupRelationshipType string Yes The type of group relationship being made
Field Type Description
GroupIds number[]

Type: unknown

Status Description
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed

deleteGroupsGroupidRelationshipsGrouprelationshiptypeRequests

Section titled “deleteGroupsGroupidRelationshipsGrouprelationshiptypeRequests”

DELETE /v1/groups/:groupId/relationships/:groupRelationshipType/requests

Batch declines group affiliate requests

Usage
import { fetchApi } from 'rozod';
import { deleteGroupsGroupidRelationshipsGrouprelationshiptypeRequests } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(deleteGroupsGroupidRelationshipsGrouprelationshiptypeRequests, {
groupId: /* integer */,
groupRelationshipType: /* string */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes The group id.
groupRelationshipType string Yes The type of group relationship being made
Field Type Description
GroupIds number[]

Type: unknown

Status Description
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed

postGroupsGroupidRelationshipsGrouprelationshiptypeRequestsRelatedgroupid

Section titled “postGroupsGroupidRelationshipsGrouprelationshiptypeRequestsRelatedgroupid”

POST /v1/groups/:groupId/relationships/:groupRelationshipType/requests/:relatedGroupId

Accepts a group relationship request.

Usage
import { fetchApi } from 'rozod';
import { postGroupsGroupidRelationshipsGrouprelationshiptypeRequestsRelatedgroupid } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(postGroupsGroupidRelationshipsGrouprelationshiptypeRequestsRelatedgroupid, {
groupId: /* integer */,
groupRelationshipType: /* string */,
relatedGroupId: /* integer */
});
Name Type Required Description
groupId integer Yes The group id.
groupRelationshipType string Yes The group relationship type, enemies or allies, only allies are supported.
relatedGroupId integer Yes The id of the group you want to accept the relationship request with.

Type: unknown

Status Description
400 1: Group relationship type or request type is invalid.
2: Invalid group.
3: Target group is invalid or does not exist.
10: Relationship request does not exist.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
9: Insufficient permissions.

deleteGroupsGroupidRelationshipsGrouprelationshiptypeRequestsRelatedgroupid

Section titled “deleteGroupsGroupidRelationshipsGrouprelationshiptypeRequestsRelatedgroupid”

DELETE /v1/groups/:groupId/relationships/:groupRelationshipType/requests/:relatedGroupId

Declines a group relationship request.

Usage
import { fetchApi } from 'rozod';
import { deleteGroupsGroupidRelationshipsGrouprelationshiptypeRequestsRelatedgroupid } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(deleteGroupsGroupidRelationshipsGrouprelationshiptypeRequestsRelatedgroupid, {
groupId: /* integer */,
groupRelationshipType: /* string */,
relatedGroupId: /* integer */
});
Name Type Required Description
groupId integer Yes The group id.
groupRelationshipType string Yes The group relationship type, enemies or allies.
relatedGroupId integer Yes The id of the group you want to accept the relationship request with.

Type: unknown

Status Description
400 1: Group relationship type or request type is invalid.
2: Invalid group.
3: Target group is invalid or does not exist.
10: Relationship request does not exist.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
9: Insufficient permissions.

GET /v1/groups/:groupId/roles

Gets a list of the rolesets in a group.

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidRoles } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidRoles, {
groupId: /* integer */,
includePrivate: /* boolean */
});
Name Type Required Description
groupId integer Yes The group id.
includePrivate boolean Yes
Field Type Description
groupId number
roles object[] See below

roles[] item fields:

Field Type Description
id number
name string
description string
rank number
memberCount number
isBase boolean
color `“Invalid” “Blue”
isPrivate boolean
Status Description
400 1: The group is invalid or does not exist.

GET /v1/groups/:groupId/roles/:roleSetId/permissions

Gets the permissions for a group’s roleset. The authorized user must either be the group owner or the roleset being requested, except for guest roles, which can be viewed by all (members and guests).

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidRolesRolesetidPermissions } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidRolesRolesetidPermissions, {
groupId: /* integer */,
roleSetId: /* integer */
});
Name Type Required Description
groupId integer Yes The group id.
roleSetId integer Yes The group’s role set id.
Field Type Description
groupId number
role object See below
permissions object See below

role fields:

Field Type Description
id number
name string
description string
rank number
memberCount number
isBase boolean
color `“Invalid” “Blue”
isPrivate boolean

permissions fields:

Field Type Description
groupPostsPermissions object See below
groupForumsPermissions object See below
groupContentModerationPermissions object See below
groupMembershipPermissions object See below
groupManagementPermissions object See below
groupEconomyPermissions object See below
groupOpenCloudPermissions object See below

groupPostsPermissions fields:

Field Type Description
viewStatus boolean
postToStatus boolean

groupForumsPermissions fields:

Field Type Description
viewForums boolean
manageCategories boolean
createPosts boolean
removePosts boolean
lockPosts boolean
pinPosts boolean
createComments boolean
removeComments boolean
createBugReports boolean

groupContentModerationPermissions fields:

Field Type Description
manageKeywordBlockList boolean
viewKeywordBlockList boolean

groupMembershipPermissions fields:

Field Type Description
changeRank boolean
inviteMembers boolean
removeMembers boolean
banMembers boolean

groupManagementPermissions fields:

Field Type Description
manageRelationships boolean
manageClan boolean
viewAuditLogs boolean
bypassSlowmode boolean
viewCommunityAnalytics boolean

groupEconomyPermissions fields:

Field Type Description
spendGroupFunds boolean
advertiseGroup boolean
createItems boolean
manageItems boolean
addGroupPlaces boolean
manageGroupGames boolean
viewGroupPayouts boolean
viewAnalytics boolean

groupOpenCloudPermissions fields:

Field Type Description
useCloudAuthentication boolean
administerCloudAuthentication boolean
Status Description
400 1: Group is invalid or does not exist.
2: The roleset is invalid or does not exist.
401 0: Authorization has been denied for this request.
403 3: You are not authorized to view/edit permissions for this role.

patchGroupsGroupidRolesRolesetidPermissions

Section titled “patchGroupsGroupidRolesRolesetidPermissions”

PATCH /v1/groups/:groupId/roles/:roleSetId/permissions

Updates the permissions for a group’s roleset. The authorized user must be the group owner.

Usage
import { fetchApi } from 'rozod';
import { patchGroupsGroupidRolesRolesetidPermissions } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(patchGroupsGroupidRolesRolesetidPermissions, {
groupId: /* integer */,
roleSetId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes The group’s id.
roleSetId integer Yes The roleset’s id.
Field Type Description
permissions object See below

Type: unknown

Status Description
400 1: Group is invalid or does not exist.
2: The roleset is invalid or does not exist.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
3: You are not authorized to view/edit permissions for this role.
4: This role's permissions can not be modified.

GET /v1/groups/:groupId/roles/:roleSetId/users

Gets a list of users in a group for a specific roleset.

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidRolesRolesetidUsers } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidRolesRolesetidUsers, {
groupId: /* integer */,
roleSetId: /* integer */,
cursor: /* string? */,
sortOrder: /* enum */
});
Name Type Required Description
groupId integer Yes The group id.
roleSetId integer Yes The group’s role set id.
cursor string? No The paging cursor for the previous or next page.
sortOrder enum Yes The order the results are sorted in.
Field Type Description
previousPageCursor string
nextPageCursor string
data object[] See below

data[] item fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string
Status Description
400 1: The group is invalid or does not exist.
36: The pagination cursor is invalid.
403 2: The roleset is invalid or does not exist.
35: You do not have permission to view this group's member list.

GET /v1/groups/:groupId/roles/guest/permissions

Gets the permissions for a group’s guest roleset. These can be viewed by all (members and guests) users.

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidRolesGuestPermissions } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidRolesGuestPermissions, {
groupId: /* integer */
});
Name Type Required Description
groupId integer Yes The group id.
Field Type Description
groupId number
role object See below
permissions object See below

role fields:

Field Type Description
id number
name string
description string
rank number
memberCount number
isBase boolean
color `“Invalid” “Blue”
isPrivate boolean

permissions fields:

Field Type Description
groupPostsPermissions object See below
groupForumsPermissions object See below
groupContentModerationPermissions object See below
groupMembershipPermissions object See below
groupManagementPermissions object See below
groupEconomyPermissions object See below
groupOpenCloudPermissions object See below

groupPostsPermissions fields:

Field Type Description
viewStatus boolean
postToStatus boolean

groupForumsPermissions fields:

Field Type Description
viewForums boolean
manageCategories boolean
createPosts boolean
removePosts boolean
lockPosts boolean
pinPosts boolean
createComments boolean
removeComments boolean
createBugReports boolean

groupContentModerationPermissions fields:

Field Type Description
manageKeywordBlockList boolean
viewKeywordBlockList boolean

groupMembershipPermissions fields:

Field Type Description
changeRank boolean
inviteMembers boolean
removeMembers boolean
banMembers boolean

groupManagementPermissions fields:

Field Type Description
manageRelationships boolean
manageClan boolean
viewAuditLogs boolean
bypassSlowmode boolean
viewCommunityAnalytics boolean

groupEconomyPermissions fields:

Field Type Description
spendGroupFunds boolean
advertiseGroup boolean
createItems boolean
manageItems boolean
addGroupPlaces boolean
manageGroupGames boolean
viewGroupPayouts boolean
viewAnalytics boolean

groupOpenCloudPermissions fields:

Field Type Description
useCloudAuthentication boolean
administerCloudAuthentication boolean
Status Description
400 1: Group is invalid or does not exist.

GET /v1/groups/:groupId/roles/permissions

Gets all permissions for each role

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidRolesPermissions } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidRolesPermissions, {
groupId: /* integer */
});
Name Type Required Description
groupId integer Yes The group id.
Field Type Description
data object[] See below

data[] item fields:

Field Type Description
groupId number
role object See below
permissions object See below

role fields:

Field Type Description
id number
name string
description string
rank number
memberCount number
isBase boolean
color `“Invalid” “Blue”
isPrivate boolean

permissions fields:

Field Type Description
groupPostsPermissions object See below
groupForumsPermissions object See below
groupContentModerationPermissions object See below
groupMembershipPermissions object See below
groupManagementPermissions object See below
groupEconomyPermissions object See below
groupOpenCloudPermissions object See below

groupPostsPermissions fields:

Field Type Description
viewStatus boolean
postToStatus boolean

groupForumsPermissions fields:

Field Type Description
viewForums boolean
manageCategories boolean
createPosts boolean
removePosts boolean
lockPosts boolean
pinPosts boolean
createComments boolean
removeComments boolean
createBugReports boolean

groupContentModerationPermissions fields:

Field Type Description
manageKeywordBlockList boolean
viewKeywordBlockList boolean

groupMembershipPermissions fields:

Field Type Description
changeRank boolean
inviteMembers boolean
removeMembers boolean
banMembers boolean

groupManagementPermissions fields:

Field Type Description
manageRelationships boolean
manageClan boolean
viewAuditLogs boolean
bypassSlowmode boolean
viewCommunityAnalytics boolean

groupEconomyPermissions fields:

Field Type Description
spendGroupFunds boolean
advertiseGroup boolean
createItems boolean
manageItems boolean
addGroupPlaces boolean
manageGroupGames boolean
viewGroupPayouts boolean
viewAnalytics boolean

groupOpenCloudPermissions fields:

Field Type Description
useCloudAuthentication boolean
administerCloudAuthentication boolean
Status Description
401 0: Authorization has been denied for this request.

DELETE /v1/groups/:groupId/rolesets/:rolesetId

Deletes existing group roleset.

Usage
import { fetchApi } from 'rozod';
import { deleteGroupsGroupidRolesetsRolesetid } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(deleteGroupsGroupidRolesetsRolesetid, {
groupId: /* integer */,
rolesetId: /* integer */
});
Name Type Required Description
groupId integer Yes The group Id.
rolesetId integer Yes The roleset Id.

Type: unknown

Status Description
400 10: This group does not exist.
15: This role does not exist.
17: Cannot remove any more roles
18: Cannot delete this role.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
9: You do not have permissions to perform this action.
16: There are users in this role.
409 28: Migration in progress. Please try again in a moment.

PATCH /v1/groups/:groupId/rolesets/:rolesetId

Updates existing group roleset.

Usage
import { fetchApi } from 'rozod';
import { patchGroupsGroupidRolesetsRolesetid } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(patchGroupsGroupidRolesetsRolesetid, {
groupId: /* integer */,
rolesetId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes The group Id.
rolesetId integer Yes The roleset Id.
Field Type Description
name string
description string
rank number
color number
isPrivate boolean
Field Type Description
id number
name string
description string
rank number
memberCount number
isBase boolean
color `“Invalid” “Blue”
isPrivate boolean
Status Description
400 5: Role name already exists.
6: Rank value is out of bounds.
7: The role name is too long.
8: The role description is too long.
10: This group does not exist.
14: Role name can not be empty.
15: This role does not exist.
19: Cannot update Guest role.
20: Cannot update Owner role rank.
30: Invalid role color.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
9: You do not have permissions to perform this action.
409 28: Migration in progress. Please try again in a moment.

POST /v1/groups/:groupId/rolesets/create

Creates new group roleset.

Usage
import { fetchApi } from 'rozod';
import { postGroupsGroupidRolesetsCreate } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(postGroupsGroupidRolesetsCreate, {
groupId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes The group Id.
Field Type Description
name string
description string
rank number
usingGroupFunds boolean
isPrivate boolean
Field Type Description
id number
name string
description string
rank number
memberCount number
isBase boolean
color `“Invalid” “Blue”
isPrivate boolean
Status Description
400 0: Something went wrong.
3: You do not have enough funds to purchase this role.
5: Role name already exists.
6: Rank value is out of bounds.
7: The role name is too long.
8: The role description is too long.
10: This group does not exist.
11: Failed to process payment to purchase role.
12: Limit for roles have been reached on this group.
14: Role name can not be empty.
15: This role does not exist.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
9: You do not have permissions to perform this action.
409 28: Migration in progress. Please try again in a moment.

GET /v1/groups/:groupId/settings

Gets the Group’s settings

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidSettings } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidSettings, {
groupId: /* integer */
});
Name Type Required Description
groupId integer Yes The id of the group the user is in.
Field Type Description
isApprovalRequired boolean
isBuildersClubRequired boolean
areEnemiesAllowed boolean
areGroupFundsVisible boolean
areGroupGamesVisible boolean
isGroupNameChangeEnabled boolean
verificationLevel `0 1
accountTenureRequirement `0 1
slowmode `0 1
isMemberListVisibleToPublic boolean
isAutoAssignRoleDisabled boolean
communityTier object See below

communityTier fields:

Field Type Description
groupId number
currentTier number
previousTier number | undefined
tierUpdatedTime string | undefined
lastEvaluatedTime string | undefined
requirements object[] | undefined See below
capabilities object | undefined See below

requirements[] item fields:

Field Type Description
key `“OwnerModerationStatusOk” “OwnerAgeEstimationVerified”
satisfied boolean

capabilities fields:

Field Type Description
isEligibleForUnrestrictedMessages boolean
Status Description
400 1: Group is invalid or does not exist.
401 0: Authorization has been denied for this request.
403 23: Insufficient permissions to complete the request.

PATCH /v1/groups/:groupId/settings

Updates the group’s settings

Usage
import { fetchApi } from 'rozod';
import { patchGroupsGroupidSettings } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(patchGroupsGroupidSettings, {
groupId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes The id of the group the user is in.
Field Type Description
isApprovalRequired boolean
areEnemiesAllowed boolean
areGroupFundsVisible boolean
areGroupGamesVisible boolean
verificationLevel `0 1
accountTenureRequirement `0 1
slowmode `0 1
isMemberListVisibleToPublic boolean

Type: unknown

Status Description
400 1: Group is invalid or does not exist.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
23: Insufficient permissions to complete the request.
503 31: Service is currently unavailable.

GET /v1/groups/:groupId/social-links

Get social link data associated with a group

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidSocialLinks } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidSocialLinks, {
groupId: /* integer */
});
Name Type Required Description
groupId integer Yes The Id of the game
Field Type Description
data object[] See below
socialLinksVerificationStatus `0 1

data[] item fields:

Field Type Description
id number
type `“Facebook” “Twitter”
url string
title string
Status Description
400 1: Group is invalid or does not exist.
401 0: Authorization has been denied for this request.
403 13: Only users who are over thirteen years of age may edit social links.
404 11: Social links cannot be processed as this time.

POST /v1/groups/:groupId/social-links

Posts a social links

Usage
import { fetchApi } from 'rozod';
import { postGroupsGroupidSocialLinks } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(postGroupsGroupidSocialLinks, {
groupId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes The id of the group
Field Type Description
type `0 1
url string
title string
Field Type Description
id number
type `“Facebook” “Twitter”
url string
title string
Status Description
400 3: The social link title is too long.
4: The social link title cannot be empty.
5: The social link url cannot be empty.
7: The request was null.
9: The social link type is invalid.
12: The social link title was moderated.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
2: You do not have permission to configure this social link.
404 8: The requested group or social link was not found.
503 11: Social links cannot be processed as this time.

deleteGroupsGroupidSocialLinksSociallinkid

Section titled “deleteGroupsGroupidSocialLinksSociallinkid”

DELETE /v1/groups/:groupId/social-links/:socialLinkId

Deletes a social link

Usage
import { fetchApi } from 'rozod';
import { deleteGroupsGroupidSocialLinksSociallinkid } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(deleteGroupsGroupidSocialLinksSociallinkid, {
groupId: /* integer */,
socialLinkId: /* integer */
});
Name Type Required Description
groupId integer Yes The id of the game you are editing, required for permissions checking
socialLinkId integer Yes The id of the social link

Type: unknown

Status Description
400 1: Group is invalid or does not exist.
10: The social link is not for a group.
15: The social link id doesn't match the group id.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
2: You do not have permission to configure this social link.
13: Only users who are over thirteen years of age may edit social links.
404 11: Social links cannot be processed as this time.

PATCH /v1/groups/:groupId/social-links/:socialLinkId

Updates a social link

Usage
import { fetchApi } from 'rozod';
import { patchGroupsGroupidSocialLinksSociallinkid } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(patchGroupsGroupidSocialLinksSociallinkid, {
groupId: /* integer */,
socialLinkId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes The id of the universe
socialLinkId integer Yes The id of the social link being updated
Field Type Description
type `0 1
url string
title string

Type: unknown

Status Description
400 1: Group is invalid or does not exist.
3: The social link title is too long.
4: The social link title cannot be empty.
5: The social link url cannot be empty.
6: The social link url was improperly formatted.
7: The request was null.
8: The requested group or social link was not found.
9: The social link type is invalid.
10: The social link is not for a group.
12: The social link title was moderated.
16: A social link with this type already exists on this group.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
2: You do not have permission to configure this social link.
404 11: Social links cannot be processed as this time.
503 11: Social links cannot be processed as this time.

PATCH /v1/groups/:groupId/status

Sets group status

Usage
import { fetchApi } from 'rozod';
import { patchGroupsGroupidStatus } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(patchGroupsGroupidStatus, {
groupId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes The group Id.
Field Type Description
message string
Field Type Description
body string
poster object See below
created string
updated string

poster fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string
Status Description
400 1: Group is invalid or does not exist.
7: Missing group status content.
32: Description was filtered.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
6: You are not authorized to set the status of this group

GET /v1/groups/:groupId/users

Gets a list of users in a group.

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidUsers } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidUsers, {
groupId: /* integer */,
cursor: /* string? */,
sortOrder: /* enum */
});
Name Type Required Description
groupId integer Yes The group id.
cursor string? No The paging cursor for the previous or next page.
sortOrder enum Yes The order the results are sorted in.
Field Type Description
previousPageCursor string
nextPageCursor string
data object[] See below

data[] item fields:

Field Type Description
user object See below
role object See below

user fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string

role fields:

Field Type Description
id number
name string
description string
rank number
memberCount number
isBase boolean
color `“Invalid” “Blue”
isPrivate boolean
Status Description
400 1: The group is invalid or does not exist.
36: The pagination cursor is invalid.
403 35: You do not have permission to view this group's member list.

POST /v1/groups/:groupId/users

Joins a group

Usage
import { fetchApi } from 'rozod';
import { postGroupsGroupidUsers } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(postGroupsGroupidUsers, {
groupId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes The group Id.
Field Type Description
sessionId string
redemptionToken string
captchaId string
captchaToken string
captchaProvider string
challengeId string

Type: unknown

Status Description
400 1: The group is invalid or does not exist.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
6: You are already in the maximum number of groups.
9: You do not have the builders club membership necessary to join this group.
14: You cannot join a closed group.
33: You do not have the required verification level to join this group.
34: You do not have the required account tenure to join this group.
409 7: You have already requested to join this group.
8: You are already a member of this group.
429 10: Too many attempts to join the group. Please try again later.
503 18: The operation is temporarily unavailable. Please try again later.

DELETE /v1/groups/:groupId/users/:userId

Removes a user from a group

Usage
import { fetchApi } from 'rozod';
import { deleteGroupsGroupidUsersUserid } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(deleteGroupsGroupidUsersUserid, {
groupId: /* integer */,
userId: /* integer */
});
Name Type Required Description
groupId integer Yes The group Id.
userId integer Yes The Id of the user being removed.

Type: unknown

Status Description
400 1: The group is invalid or does not exist.
3: The user is invalid or does not exist.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
4: You do not have permission to manage this member.
25: 2-Step Verification is required to make further transactions. Go to Settings > Security to complete 2-Step Verification.
503 18: The operation is temporarily unavailable. Please try again later.

PATCH /v1/groups/:groupId/users/:userId

Updates a users role in a group.

Usage
import { fetchApi } from 'rozod';
import { patchGroupsGroupidUsersUserid } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(patchGroupsGroupidUsersUserid, {
groupId: /* integer */,
userId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes The id of the group the user is in.
userId integer Yes The id of the user being updated.
Field Type Description
roleId number

Type: unknown

Status Description
400 1: The group is invalid or does not exist.
2: The roleset is invalid or does not exist.
3: The user is invalid or does not exist.
23: You cannot change your own role.
26: You cannot change the user's role to the same role.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
4: You do not have permission to manage this member.
503 18: The operation is temporarily unavailable. Please try again later.

GET /v1/groups/:groupId/users/:userId/permissions

Gets the permissions a user has in a group. Only available to group owner and RCC

Usage
import { fetchApi } from 'rozod';
import { getGroupsGroupidUsersUseridPermissions } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsGroupidUsersUseridPermissions, {
groupId: /* integer */,
userId: /* integer */
});
Name Type Required Description
groupId integer Yes The group id.
userId integer Yes The user id.
Field Type Description
groupId number
role object See below
permissions object See below

role fields:

Field Type Description
id number
name string
description string
rank number
memberCount number
isBase boolean
color `“Invalid” “Blue”
isPrivate boolean

permissions fields:

Field Type Description
groupPostsPermissions object See below
groupForumsPermissions object See below
groupContentModerationPermissions object See below
groupMembershipPermissions object See below
groupManagementPermissions object See below
groupEconomyPermissions object See below
groupOpenCloudPermissions object See below

groupPostsPermissions fields:

Field Type Description
viewStatus boolean
postToStatus boolean

groupForumsPermissions fields:

Field Type Description
viewForums boolean
manageCategories boolean
createPosts boolean
removePosts boolean
lockPosts boolean
pinPosts boolean
createComments boolean
removeComments boolean
createBugReports boolean

groupContentModerationPermissions fields:

Field Type Description
manageKeywordBlockList boolean
viewKeywordBlockList boolean

groupMembershipPermissions fields:

Field Type Description
changeRank boolean
inviteMembers boolean
removeMembers boolean
banMembers boolean

groupManagementPermissions fields:

Field Type Description
manageRelationships boolean
manageClan boolean
viewAuditLogs boolean
bypassSlowmode boolean
viewCommunityAnalytics boolean

groupEconomyPermissions fields:

Field Type Description
spendGroupFunds boolean
advertiseGroup boolean
createItems boolean
manageItems boolean
addGroupPlaces boolean
manageGroupGames boolean
viewGroupPayouts boolean
viewAnalytics boolean

groupOpenCloudPermissions fields:

Field Type Description
useCloudAuthentication boolean
administerCloudAuthentication boolean
Status Description
400 1: Group is invalid or does not exist.
403 3: You are not authorized to view/edit permissions for this role.
404 3: The user is invalid or does not exist.

GET /v1/groups/configuration/metadata

Gets Group configuration contextual information

Usage
import { fetchApi } from 'rozod';
import { getGroupsConfigurationMetadata } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsConfigurationMetadata, undefined);
Field Type Description
groupConfiguration object See below
recurringPayoutsConfiguration object See below
roleConfiguration object See below
groupNameChangeConfiguration object See below
isPremiumPayoutsEnabled boolean
isDefaultEmblemPolicyEnabled boolean

groupConfiguration fields:

Field Type Description
nameMaxLength number
descriptionMaxLength number
iconMaxFileSizeMb number
coverPhotoMaxFileSizeMb number
validCoverPhotoDimensions string
cost number
isUsingTwoStepWebviewComponent boolean

recurringPayoutsConfiguration fields:

Field Type Description
maxPayoutPartners number

roleConfiguration fields:

Field Type Description
nameMaxLength number
descriptionMaxLength number
limit number
cost number
minRank number
maxRank number

groupNameChangeConfiguration fields:

Field Type Description
cost number
cooldownInDays number
ownershipCooldownInDays number

POST /v1/groups/create

Creates a new group.

Usage
import { fetchApi } from 'rozod';
import { postGroupsCreate } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(postGroupsCreate, {
body: { /* ... */ }
});
Field Type Description
name string
description string
publicGroup boolean
buildersClubMembersOnly boolean
Files File
Field Type Description
id number
name string
description string
owner object See below
memberCount number
created string
hasVerifiedBadge boolean

owner fields:

Field Type Description
id number
type 'User'
name string
Status Description
400 13: The name is invalid.
15: The group icon is invalid.
16: The group icon is missing from the request.
18: The description is too long.
19: The name is too long.
20: The name has been taken.
46: Invalid file format or dimensions for group cover photo.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
10: User must have builders club membership.
11: User is in maximum number of groups.
12: Insufficient Robux funds.
14: The name is moderated.
409 37: The name was in use too recently.
413 0: Unknown error.
429 17: Too many requests.
503 21: Group creation is currently disabled.

PATCH /v1/groups/icon

Updates the group icon.

Usage
import { fetchApi } from 'rozod';
import { patchGroupsIcon } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(patchGroupsIcon, {
groupId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
groupId integer Yes The group Id.
Field Type Description
Files File

Type: unknown

Status Description
400 1: Group is invalid or does not exist.
16: The group icon is missing from the request.
17: Too many requests.
30: Invalid file type for group icon.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
23: Insufficient permissions to complete the request.
413 0: Unknown error.

GET /v1/groups/metadata

Gets Groups contextual information:

Usage
import { fetchApi } from 'rozod';
import { getGroupsMetadata } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsMetadata, undefined);
Field Type Description
groupLimit number
currentGroupCount number
groupStatusMaxLength number
areProfileGroupsHidden boolean
isGroupDetailsPolicyEnabled boolean
showPreviousGroupNames boolean
areGroupBansEnabled boolean
canEnableGroupNotifications boolean

POST /v1/groups/policies

Gets group policy info used for compliance.

Usage
import { fetchApi } from 'rozod';
import { postGroupsPolicies } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(postGroupsPolicies, {
body: { /* ... */ }
});
Field Type Description
groupIds number[]
Field Type Description
groups object[] See below

groups[] item fields:

Field Type Description
canViewGroup boolean
groupId number
Status Description
400 1: Too many ids in request.
2: Ids could not be parsed from request.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed

GET /v1/groups/search

Search for groups by keyword.

Usage
import { fetchApi } from 'rozod';
import { getGroupsSearch } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsSearch, {
keyword: /* string */,
prioritizeExactMatch: /* boolean? */,
cursor: /* string? */
});
Name Type Required Description
keyword string Yes The keyword or phrase to use as the search parameter.
prioritizeExactMatch boolean? No Whether or not to prioritize the exact match for the keyword (optional, defaults to false).
cursor string? No The paging cursor for the previous or next page.
Field Type Description
keyword string
totalResults number
previousPageCursor string
nextPageCursor string
data object[] See below

data[] item fields:

Field Type Description
id number
name string
description string
memberCount number
previousName string
publicEntryAllowed boolean
created string
updated string
hasVerifiedBadge boolean
Status Description
400 2: Search term not appropriate for Roblox.
3: Search term was left empty.
4: Search terms can be 2 to 50 characters long.

GET /v1/groups/search/lookup

Looks up groups by a name. Prioritizes an exact match as the first result.

Usage
import { fetchApi } from 'rozod';
import { getGroupsSearchLookup } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsSearchLookup, {
groupName: /* string */
});
Name Type Required Description
groupName string Yes The group name.
Field Type Description
data object[] See below

data[] item fields:

Field Type Description
id number
name string
memberCount number
hasVerifiedBadge boolean
Status Description
400 1: Name is missing or has invalid characters.

GET /v1/groups/search/metadata

Get suggested groups and other miscellaneous information needed for the group/join page like flags

Usage
import { fetchApi } from 'rozod';
import { getGroupsSearchMetadata } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getGroupsSearchMetadata, undefined);
Field Type Description
SuggestedGroupKeywords string[]
ShowFriendsGroupsSort boolean
Status Description
404 5: No Localized Version of group search category exists

GET /v1/roles

Gets the Roles by their ids.

Usage
import { fetchApi } from 'rozod';
import { getRoles } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getRoles, {
ids: /* number */,
includePrivate: /* boolean */
});
Name Type Required Description
ids number Yes A list of role ids
includePrivate boolean Yes
Field Type Description
data object[] See below

data[] item fields:

Field Type Description
groupId number
id number
name string
description string
rank number
memberCount number
isBase boolean
color `“Invalid” “Blue”
isPrivate boolean
Status Description
400 1: Ids could not be parsed from request.
2: Too many ids in request.

GET /v1/user/groups/pending

Gets groups that the authenticated user has requested to join

Usage
import { fetchApi } from 'rozod';
import { getUserGroupsPending } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getUserGroupsPending, undefined);
Field Type Description
data object[] See below

data[] item fields:

Field Type Description
id number
name string
description string
owner object See below
shout object See below
memberCount number
isBuildersClubOnly boolean
publicEntryAllowed boolean
isLocked boolean
hasVerifiedBadge boolean
hasSocialModules boolean
communityTier object See below

owner fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string

shout fields:

Field Type Description
body string
poster object See below
created string
updated string

poster fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string

communityTier fields:

Field Type Description
groupId number
currentTier number
previousTier number | undefined
tierUpdatedTime string | undefined
lastEvaluatedTime string | undefined
requirements object[] | undefined See below
capabilities object | undefined See below

requirements[] item fields:

Field Type Description
key `“OwnerModerationStatusOk” “OwnerAgeEstimationVerified”
satisfied boolean

capabilities fields:

Field Type Description
isEligibleForUnrestrictedMessages boolean
Status Description
401 0: Authorization has been denied for this request.

POST /v1/user/groups/primary

Sets the authenticated user’s primary group

Usage
import { fetchApi } from 'rozod';
import { postUserGroupsPrimary } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(postUserGroupsPrimary, {
body: { /* ... */ }
});
Field Type Description
groupId number

Type: unknown

Status Description
400 1: Group is invalid or does not exist.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
2: You aren't a member of the group specified.

DELETE /v1/user/groups/primary

Removes the authenticated user’s primary group

Usage
import { fetchApi } from 'rozod';
import { deleteUserGroupsPrimary } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(deleteUserGroupsPrimary, undefined);

Type: unknown

Status Description
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed

GET /v1/users/:userId/friends/groups/roles

Gets a list of all groups the specified users’ friends are in.

Usage
import { fetchApi } from 'rozod';
import { getUsersUseridFriendsGroupsRoles } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getUsersUseridFriendsGroupsRoles, {
userId: /* integer */
});
Name Type Required Description
userId integer Yes The user id.
Field Type Description
data object[] See below

data[] item fields:

Field Type Description
user object See below
groups object[] See below

user fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string

groups[] item fields:

Field Type Description
group object See below
role object See below
isPrimaryGroup boolean
isNotificationsEnabled boolean
notificationPreferences object[] See below

group fields:

Field Type Description
id number
name string
description string
owner object See below
shout object See below
memberCount number
isBuildersClubOnly boolean
publicEntryAllowed boolean
isLocked boolean
hasVerifiedBadge boolean
hasSocialModules boolean
communityTier object See below

owner fields:

Field Type Description
buildersClubMembershipType object
hasVerifiedBadge object
userId object
username object
displayName object

shout fields:

Field Type Description
body object
poster object
created object
updated object

poster fields:

object

communityTier fields:

Field Type Description
groupId object
currentTier object
previousTier object | undefined
tierUpdatedTime object | undefined
lastEvaluatedTime object | undefined
requirements object | undefined
capabilities object | undefined

requirements[] item fields:

object

capabilities fields:

object

role fields:

Field Type Description
id number
name string
description string
rank number
memberCount number
isBase boolean
color `“Invalid” “Blue”
isPrivate boolean

notificationPreferences[] item fields:

Field Type Description
type `“AnnouncementCreatedNotification” “ForumPostCreatedNotification”
enabled boolean
name string
description string
Status Description
400 3: The user is invalid or does not exist.
403 3: The user is invalid or does not exist.

GET /v1/users/:userId/groups/primary/role

Gets a user’s primary group.

Usage
import { fetchApi } from 'rozod';
import { getUsersUseridGroupsPrimaryRole } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getUsersUseridGroupsPrimaryRole, {
userId: /* integer */
});
Name Type Required Description
userId integer Yes The user id.
Field Type Description
group object See below
role object See below
isPrimaryGroup boolean
isNotificationsEnabled boolean
notificationPreferences object[] See below

group fields:

Field Type Description
id number
name string
description string
owner object See below
shout object See below
memberCount number
isBuildersClubOnly boolean
publicEntryAllowed boolean
isLocked boolean
hasVerifiedBadge boolean
hasSocialModules boolean
communityTier object See below

owner fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string

shout fields:

Field Type Description
body string
poster object See below
created string
updated string

poster fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string

communityTier fields:

Field Type Description
groupId number
currentTier number
previousTier number | undefined
tierUpdatedTime string | undefined
lastEvaluatedTime string | undefined
requirements object[] | undefined See below
capabilities object | undefined See below

requirements[] item fields:

Field Type Description
key `“OwnerModerationStatusOk” “OwnerAgeEstimationVerified”
satisfied boolean

capabilities fields:

Field Type Description
isEligibleForUnrestrictedMessages boolean

role fields:

Field Type Description
id number
name string
description string
rank number
memberCount number
isBase boolean
color `“Invalid” “Blue”
isPrivate boolean

notificationPreferences[] item fields:

Field Type Description
type `“AnnouncementCreatedNotification” “ForumPostCreatedNotification”
enabled boolean
name string
description string
Status Description
400 4: User is invalid or does not exist.

GET /v1/users/:userId/groups/roles

Gets a list of all group roles for groups the specified user is in.

Usage
import { fetchApi } from 'rozod';
import { getUsersUseridGroupsRoles } from 'rozod/endpoints/groupsv1';
const data = await fetchApi(getUsersUseridGroupsRoles, {
userId: /* integer */,
includeLocked: /* boolean? */,
includeNotificationPreferences: /* boolean? */,
discoveryType: /* unknown */
});
Name Type Required Description
userId integer Yes The user id.
includeLocked boolean? No
includeNotificationPreferences boolean? No
discoveryType unknown Yes
Field Type Description
data object[] See below

data[] item fields:

Field Type Description
group object See below
role object See below
isPrimaryGroup boolean
isNotificationsEnabled boolean
notificationPreferences object[] See below

group fields:

Field Type Description
id number
name string
description string
owner object See below
shout object See below
memberCount number
isBuildersClubOnly boolean
publicEntryAllowed boolean
isLocked boolean
hasVerifiedBadge boolean
hasSocialModules boolean
communityTier object See below

owner fields:

Field Type Description
buildersClubMembershipType `0 1
hasVerifiedBadge boolean
userId number
username string
displayName string

shout fields:

Field Type Description
body string
poster object See below
created string
updated string

poster fields:

Field Type Description
buildersClubMembershipType object
hasVerifiedBadge object
userId object
username object
displayName object

communityTier fields:

Field Type Description
groupId number
currentTier number
previousTier number | undefined
tierUpdatedTime string | undefined
lastEvaluatedTime string | undefined
requirements object[] | undefined See below
capabilities object | undefined See below

requirements[] item fields:

Field Type Description
key object
satisfied object

capabilities fields:

Field Type Description
isEligibleForUnrestrictedMessages object

role fields:

Field Type Description
id number
name string
description string
rank number
memberCount number
isBase boolean
color `“Invalid” “Blue”
isPrivate boolean

notificationPreferences[] item fields:

Field Type Description
type `“AnnouncementCreatedNotification” “ForumPostCreatedNotification”
enabled boolean
name string
description string
Status Description
400 3: The user is invalid or does not exist.