> ## 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.

# Group Details

> Get full metadata for a group from a JID, code, or invite link

**Auth:** `TokenAccount` or `TokenInstance` • **Rate-limit:** `Global` (100/min) • **Idempotent:** yes

## Description

Returns the full `GroupDetail`: name, description, picture, invite link, creator, list of participants (with `lid`), permissions, and metadata (who changed name / description). Accepts the `identifier` in any format, JID, invite code, or link.

## Examples

### By JID

Fetch the group's details by passing the JID `120363406289005073@g.us` in `identifier`. By default, the response includes the full participant list.

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://ryzeapi.cloud/api/group/info/$Instance_Name?identifier=120363406289005073@g.us" \
    -H "token: $Token_Instance"
  ```

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

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

  requests.get(
      f"https://ryzeapi.cloud/api/group/info/{os.environ['Instance_Name']}?identifier=120363406289005073@g.us",
      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/info/"+os.Getenv("Instance_Name")+"?identifier=120363406289005073@g.us", nil)
      req.Header.Set("token", os.Getenv("Token_Instance"))
      http.DefaultClient.Do(req)
  }
  ```
</CodeGroup>

### By link

Resolve the group from the invite link `https://chat.whatsapp.com/ABC123XYZ`. The service extracts the code, discovers the JID, and returns the same data as the JID lookup.

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://ryzeapi.cloud/api/group/info/$Instance_Name?identifier=https://chat.whatsapp.com/ABC123XYZ" \
    -H "token: $Token_Instance"
  ```

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

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

  requests.get(
      f"https://ryzeapi.cloud/api/group/info/{os.environ['Instance_Name']}?identifier=https://chat.whatsapp.com/ABC123XYZ",
      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/info/"+os.Getenv("Instance_Name")+"?identifier=https://chat.whatsapp.com/ABC123XYZ", nil)
      req.Header.Set("token", os.Getenv("Token_Instance"))
      http.DefaultClient.Do(req)
  }
  ```
</CodeGroup>

### Without participants

Add `participants=false` to the query to receive only the group's metadata, without the member list. Useful when you only need the name / description / permissions in large groups.

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://ryzeapi.cloud/api/group/info/$Instance_Name?identifier=ABC123XYZ&participants=false" \
    -H "token: $Token_Instance"
  ```

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

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

  requests.get(
      f"https://ryzeapi.cloud/api/group/info/{os.environ['Instance_Name']}?identifier=ABC123XYZ&participants=false",
      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/info/"+os.Getenv("Instance_Name")+"?identifier=ABC123XYZ&participants=false", nil)
      req.Header.Set("token", os.Getenv("Token_Instance"))
      http.DefaultClient.Do(req)
  }
  ```
</CodeGroup>

## Success response

Returns the full `GroupDetail`: metadata (`name`, `description`, `image`, `inviteLink`, `createdBy`, `createdAt`), the `participants` list (only present when `participants=true`, with `lid` for cross-device correlation), resolved `groupSettings`, and `metadata` containing authorship for the latest name/description changes. The URL in `image` is signed by WhatsApp and expires in \~1h.

```json 200 OK theme={null}
{
  "success": true,
  "message": "Group information retrieved successfully",
  "group": {
    "jid": "120363406289005073@g.us",
    "name": "Dev Team",
    "description": "Technical discussions",
    "image": "https://pps.whatsapp.net/...",
    "inviteCode": "ABC123XYZ",
    "inviteLink": "https://chat.whatsapp.com/ABC123XYZ",
    "createdBy": "5511999999999@s.whatsapp.net",
    "createdAt": "2026-01-15T10:30:00Z",
    "participantCount": 3,
    "participants": [
      {
        "jid": "5511999999999@s.whatsapp.net",
        "lid": "199789077627112@lid",
        "isAdmin": true,
        "isSuperAdmin": false,
        "joinedAt": null
      }
    ],
    "groupSettings": {
      "membersCanEditInfo": true,
      "membersCanSendMessages": true,
      "membersCanAddOthers": false,
      "requireAdminApproval": false
    },
    "metadata": {
      "nameSetAt": "2026-01-15T10:30:00Z",
      "nameSetBy": "5511999999999@s.whatsapp.net",
      "descriptionSetAt": "2026-02-20T14:00:00Z",
      "descriptionSetBy": "5521988888888@s.whatsapp.net"
    },
    "isCommunity": false,
    "isParent": false,
    "isDefaultSubGroup": false,
    "isEphemeral": false,
    "isIncognito": false,
    "isSuspended": false
  }
}
```

## Path parameters

<ParamField path="instance" type="string" required>
  Instance name.
</ParamField>

## Headers

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

## Query

<ParamField query="identifier" type="string" required>
  JID `@g.us`, invite code (`ABC123XYZ`), or full link (`https://chat.whatsapp.com/ABC123XYZ`).
</ParamField>

<ParamField query="participants" type="boolean" default="true">
  When `false`, omits the participant list (lighter response).
</ParamField>

## Notes

<Note>
  * When the identifier is a code / link, the service resolves it to a JID before fetching the detail, you must be in the group (or join it first) to see the internal data.
  * The `lid` field corresponds to whatsmeow's "lite" identifier for the user; useful for correlating messages sent from other devices.
  * The URL in `image` is temporary (signed by WhatsApp; valid for \~1h).
</Note>

## Errors

| HTTP | Message                                                                                        |
| ---- | ---------------------------------------------------------------------------------------------- |
| 400  | `The 'identifier' query parameter is required (can be group JID, invite code, or invite link)` |
| 400  | `failed to resolve group from identifier (not a valid JID, code, or link)`                     |
| 404  | `Group not found or you are not a member of this group`                                        |

Envelope:

```json theme={null}
{
  "success": false,
  "error": { "message": "Group not found or you are not a member of this group" }
}
```
