4 min read

Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.

GET /cloud/v2/groups/{group_id}/roles — cloud.docs

List Group Roles

List roles in a group.

Roles can be public or private. The response includes private roles and their fields only when the acting user is permitted to view them. The endpoint does not provide a public-roles-only view.

The permissions field for roles is viewable based on the requester's access and scopes.

Permissions for the guest role are always visible - a scope is not needed.

If the requester is a member of the group and has the group:read scope, permissions in their role are visible.

If the requester is the owner of the group and has the group:read scope, permissions in all roles are visible.

Endpoint

Method: GET

Path: /cloud/v2/groups/{group_id}/roles

Servers:

Parameters

NameLocationRequiredDescription
group_idpathtrueThe group ID.
maxPageSizequeryfalseThe maximum number of group roles to return. The service might return fewer than this value. If unspecified, at most 10 group roles are returned. The maximum value is 20 and higher values are set to 20.
pageTokenqueryfalseA page token, received from a previous call, to retrieve a subsequent page. When paginating, all other parameters provided to the subsequent call must match the call that provided the page token.
[
  {
    "name": "group_id",
    "in": "path",
    "description": "The group ID.",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "name": "maxPageSize",
    "in": "query",
    "description": "The maximum number of group roles to return. The service might return fewer\nthan this value. If unspecified, at most 10 group roles are returned. The\nmaximum value is 20 and higher values are set to 20.",
    "schema": {
      "type": "integer",
      "format": "int32"
    },
    "examples": {
      "maxPageSize": {
        "description": "An integer between 1 and 20, inclusive",
        "value": 10
      }
    }
  },
  {
    "name": "pageToken",
    "in": "query",
    "description": "A page token, received from a previous call, to retrieve a subsequent page.\n\nWhen paginating, all other parameters provided to the subsequent call must\nmatch the call that provided the page token.",
    "schema": {
      "type": "string"
    }
  }
]

Responses

StatusDescription
200OK
{
  "200": {
    "description": "OK",
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ListGroupRolesResponse"
        }
      }
    }
  }
}

Authentication

{
  "security": [],
  "securitySchemes": {}
}

Complete Operation Definition

{
  "tags": [
    "Cloud"
  ],
  "summary": "List Group Roles",
  "description": "List roles in a group.\n\nRoles can be public or private. The response includes private roles and\ntheir fields only when the acting user is permitted to view them. The\nendpoint does not provide a public-roles-only view.\n\nThe permissions field for roles is viewable based on the requester's access\nand scopes.\n\nPermissions for the guest role are always visible - a scope is not needed.\n\nIf the requester is a member of the group and has the `group:read` scope,\npermissions in their role are visible.\n\nIf the requester is the owner of the group and has the `group:read` scope,\npermissions in all roles are visible.",
  "operationId": "Cloud_ListGroupRoles",
  "parameters": [
    {
      "name": "group_id",
      "in": "path",
      "description": "The group ID.",
      "required": true,
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "maxPageSize",
      "in": "query",
      "description": "The maximum number of group roles to return. The service might return fewer\nthan this value. If unspecified, at most 10 group roles are returned. The\nmaximum value is 20 and higher values are set to 20.",
      "schema": {
        "type": "integer",
        "format": "int32"
      },
      "examples": {
        "maxPageSize": {
          "description": "An integer between 1 and 20, inclusive",
          "value": 10
        }
      }
    },
    {
      "name": "pageToken",
      "in": "query",
      "description": "A page token, received from a previous call, to retrieve a subsequent page.\n\nWhen paginating, all other parameters provided to the subsequent call must\nmatch the call that provided the page token.",
      "schema": {
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "description": "OK",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ListGroupRolesResponse"
          }
        }
      }
    }
  },
  "x-visibility": "BETA",
  "x-roblox-engine-usability": {
    "apiKeyWithHttpService": true
  },
  "x-roblox-scopes": [
    {
      "description": "Required to view permissions in non-guest roles.",
      "name": "group:read"
    }
  ],
  "x-roblox-docs": {
    "category": "Users and groups",
    "methodProperties": {
      "scopes": []
    },
    "resource": {
      "$ref": "#/components/schemas/GroupRole",
      "name": "GroupRole"
    }
  }
}