> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ryzeapi.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Listar grupos

> Devuelve todos los grupos a los que pertenece la instancia

**Auth:** `TokenAccount` o `TokenInstance` • **Rate-limit:** `Global` (100/min) • **Idempotente:** sí

## Descripción

Lista cada grupo al que pertenece la instancia. De forma predeterminada, solo se devuelven metadatos ligeros (nombre, JID, descripción, creador, recuento). Pasa `includeMembers=true` en la query para incluir la lista completa de miembros, al hacerlo, el timeout de la operación se extiende a **60s**.

## Ejemplos

### Listar (sin miembros)

Devuelve cada grupo de la instancia con metadatos ligeros únicamente (nombre, JID, descripción, creador, recuento). Es el modo predeterminado y el más rápido para cuentas con muchos grupos.

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://ryzeapi.cloud/api/group/list/$Instance_Name" \
    -H "token: $Token_Instance"
  ```

  ```javascript JavaScript theme={null}
  await fetch(`https://ryzeapi.cloud/api/group/list/${process.env.Instance_Name}`, {
    method: "GET",
    headers: {
      "token": process.env.Token_Instance
    }
  });
  ```

  ```python Python theme={null}
  import os, requests

  requests.get(
      f"https://ryzeapi.cloud/api/group/list/{os.environ['Instance_Name']}",
      headers={
          "token": os.environ["Token_Instance"]
      }
  )
  ```

  ```go Go theme={null}
  package main

  import (
      "net/http"
      "os"
  )

  func main() {
      req, _ := http.NewRequest("GET", "https://ryzeapi.cloud/api/group/list/"+os.Getenv("Instance_Name"), nil)
      req.Header.Set("token", os.Getenv("Token_Instance"))
      http.DefaultClient.Do(req)
  }
  ```
</CodeGroup>

### Listar con miembros

Agrega `includeMembers=true` para incluir la lista completa de participantes de cada grupo. El timeout interno se extiende a 60s, útil cuando necesitas un snapshot completo en una sola llamada.

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://ryzeapi.cloud/api/group/list/$Instance_Name?includeMembers=true" \
    -H "token: $Token_Instance"
  ```

  ```javascript JavaScript theme={null}
  await fetch(`https://ryzeapi.cloud/api/group/list/${process.env.Instance_Name}?includeMembers=true`, {
    method: "GET",
    headers: {
      "token": process.env.Token_Instance
    }
  });
  ```

  ```python Python theme={null}
  import os, requests

  requests.get(
      f"https://ryzeapi.cloud/api/group/list/{os.environ['Instance_Name']}?includeMembers=true",
      headers={
          "token": os.environ["Token_Instance"]
      }
  )
  ```

  ```go Go theme={null}
  package main

  import (
      "net/http"
      "os"
  )

  func main() {
      req, _ := http.NewRequest("GET", "https://ryzeapi.cloud/api/group/list/"+os.Getenv("Instance_Name")+"?includeMembers=true", nil)
      req.Header.Set("token", os.Getenv("Token_Instance"))
      http.DefaultClient.Do(req)
  }
  ```
</CodeGroup>

## Respuesta exitosa

Devuelve cada grupo de la instancia bajo `groups[]`, con `meta.total` reportando el recuento. Cada elemento lleva metadatos ligeros (`name`, `groupJid`, `description`, `creatorJid`, `memberCount`); el array `members` se completa solo cuando `includeMembers=true`. No hay paginación, todos los grupos vienen en una sola respuesta.

```json 200 OK theme={null}
{
  "success": true,
  "message": "2 Groups found",
  "groups": [
    {
      "name": "Dev Team",
      "groupJid": "120363406289005073@g.us",
      "description": "Technical discussions",
      "creatorJid": "5511999999999@s.whatsapp.net",
      "memberCount": 3,
      "members": [
        { "jid": "5511999999999@s.whatsapp.net", "isAdmin": true, "isSuperAdmin": false }
      ]
    }
  ],
  "meta": { "total": 2 }
}
```

## Parámetros de ruta

<ParamField path="instance" type="string" required>
  Nombre de la instancia.
</ParamField>

## Cabeceras

<ParamField header="token" type="string" required>
  `TokenAccount` o `TokenInstance`.
</ParamField>

## Query

<ParamField query="includeMembers" type="boolean" default="false">
  Cuando es `true`, incluye la lista completa de miembros de cada grupo.
</ParamField>

## Notas

<Note>
  * El array `members` solo aparece cuando `includeMembers=true`.
  * Para cuentas con muchos grupos, usa `includeMembers=false` y obtén los miembros bajo demanda mediante [`GET /info`](/es/api/groups/info).
  * No hay paginación, todos los grupos vienen en una sola respuesta.
</Note>

## Errores

| HTTP | Mensaje                                 |
| ---- | --------------------------------------- |
| 400  | `Instance is not connected to WhatsApp` |
| 404  | `Instance not found`                    |

Envoltorio:

```json theme={null}
{
  "success": false,
  "error": { "message": "Instance is not connected to WhatsApp" }
}
```
