# group_list_2

Returns the bot’s groups list in JSON format.

```csharp
// See "LSL Helper Functions" page for this function

smartbotsAPI("group_list_2", []);
```

```snippet http-api-variables-OmJyUigTgO
```

```snippet http-api-input-basic-parameters-5FcVlaJbq0 action="**group_list_2**"
```

```snippet http-api-input-q5yvAagqsZ
limit_name  | optional | List only the groups whose name contains this text (case-insensitive)
limit_uuid  | optional | List only the groups whose UUID exactly matches this value
with_roles  | optional | Set to `1`to include roles of each group.<br>⚠️ Makes the command slower (up to **15 seconds**)
with_titles | optional | If `with_roles`is set, this parameter adds current active title information.<br>⚠️ Makes the command even slower (up to **30 seconds**)
```

```snippet http-api-output-JAwUcmg7i7
groups | JSON array containing the bot’s groups (see below)
```

# Return value

This command returns complex data and is **only available** when requesting JSON output (`dataType=json`).  
The response can be quite large for LSL HTTP queries (limited to 1024 characters).  
To reduce data size, use the `limit_name` or `limit_uuid` parameters.

`groups` array contains groups:

```typescript
interface group_list_2.Group {
	// Group UUID
	uuid: UUID;
 	// Group name
	name: string;
 	// Is this an active (current) group of the bot
	active: boolean;
	
 	// Group roles available for bot
	roles: {
 		// Role UUID
		uuid: UUID;
  		// Role name
		name: string;
  		// Role title (tag)
		title: string;
  		// Role description
		description: string;
		titleSelected: string;
	}[];
	
 	// Is group open to join
	open: boolean;
 	// Group join fee
	fee: number;
 	// The list of group permissions, comma separated
	permissions: string;
	
 	// Wherever bot configured to receive notices from this group
	acceptNotices: boolean;
 	// Is group is published to bot's web profile
	allowPublish: boolean;
 	// Is group is shown in bot's profile
	listInProfile: boolean;
}
```

# Example

The following is an example of the groups list returned:

```json
{
  "action": "group_list_2",
  "result": "OK",
  "groups": [
    {
      "name": "SmartBots: group invitation bots",
      "uuid": "0b65a122-8f77-64fe-5b2a-225d4c490d9c",
      "fee": 0,
      "open": 0,
      "permissions": "Invite,JoinChat,ReceiveNotices",
      "roles": [
        {
          "name": "Owners",
          "uuid": "044ad014-7298-eb70-0945-85d6df01f154",
          "title": "SmartBots CEO",
          "description": "These are the owners of the group. They always have FULL POWER over the group.",
          "titleSelected": false
        },
        {
          "name": "SmartBots",
          "uuid": "10d7e54f-7c52-8f0e-7ad8-7e0059664cd0",
          "title": "SmartBots",
          "description": "",
          "titleSelected": false
        }
      ],
      "acceptNotices": true,
      "listInProfile": true,
      "allowPublish": false
    }
  ]
}
```