Skip to main content

Group management | Developer Documentation

Group management

Updated: Mar 25, 2026

Overview

The Groups API gives you simple functions to control groups through their lifecycle.
When you create a new group, an invite link is created for inviting participants to the group.
Since you cannot manually add participants to the group, simply send a message with your invite link to WhatsApp users who you would like to join the group.

Group management features

    Create and delete groupGroups with join requests enabledGet and reset group invite linkSend group invite link template messageRemove group participantsGet group infoGet active groupsUpdate group settings
    To learn how to message groups, view the Group Messaging reference.

    Subscribe to groups metadata webhooks

    In order to receive webhook notifications for metadata about your groups, please subscribe to the following webhook fields:
      group_lifecycle_updategroup_participants_updategroup_settings_updategroup_status_update
      For a full reference of webhooks for the Groups API, please visit our Webhooks for Groups API reference.

      Groups with join requests

      You can create groups that require join request approval. Once enabled, WhatsApp users who click the group invitation link can submit a request to join the group, or cancel a prior request:
      When a WhatsApp user joins the group using a join request, a [group_participants_update webhook for a user accepting the join request] (/documentation/business-messaging/whatsapp/groups/webhooks#user-accepts-or-cancels-join-request) is triggered. You can also get a list of open join requests via API. Use the contents of the webhook or API response to approve or reject requests.

      Approve join requests

      Request parameters
      Placeholder Description Sample Value
      <GROUP_ID>
      String
      Required.
      Group ID.
      Y2FwaV9ncm91cDoxNzA1NTU1MDEzOToxMjAzNjM0MDQ2OTQyMzM4MjAZD
      Response parameters
      Placeholder Description Sample Value
      <JOIN_REQUEST_ID>
      String
      ID of approved join request, or ID of failed join request, if we were unable to approve.
      MTY0NjcwNDM1OTU6MTIwMzYzNDA0Njk0MjMzODIw
      <ERROR_CODE>
      Integer
      Error code, if unable to approve.
      131203
      <ERROR_MESSAGE>
      String
      Error message, if unable to approve.
      (#131203) Recipient has not accepted our new Terms of Service and Privacy Policy.
      <ERROR_TITLE>
      String
      Error title, if unable to approve.
      Unable to add participant to group
      <ERROR_DETAILS>
      String
      Error details, if unable to approve.
      Recipient has not accepted our new Terms of Service and Privacy Policy.

      Reject join requests

      Request parameters
      Placeholder Description Sample Value
      <GROUP_ID>
      String
      Required.
      Group ID.
      Y2FwaV9ncm91cDoxNzA1NTU1MDEzOToxMjAzNjM0MDQ2OTQyMzM4MjAZD
      <JOIN_REQUEST_ID>
      String
      Required.
      ID of join request to reject.
      MTY0NjcwNDM1OTU6MTIwMzYzNDA0Njk0MjMzODIw
      Response parameters
      Placeholder Description Sample Value
      <JOIN_REQUEST_ID>
      String
      ID of rejected join request, or ID of failed join request, if we were unable to reject.
      MTY0NjcwNDM1OTU6MTIwMzYzNDA0Njk0MjMzODIw
      <ERROR_CODE>
      Integer
      Error code, if unable to reject.
      131203
      <ERROR_MESSAGE>
      String
      Error message, if unable to reject.
      (#131203) Recipient has not accepted our new Terms of Service and Privacy Policy.
      <ERROR_TITLE>
      String
      Error title, if unable to reject.
      Unable to add participant to group
      <ERROR_DETAILS>
      String
      Error details, if unable to reject.
      Recipient has not accepted our new Terms of Service and Privacy Policy.

      Delete group

      This endpoint deletes the group and removes all participants, including the business. No request body is required.

      Request properties

      Placeholder Description Sample Value
      <GROUP_ID>
      String
      Required

      The ID of the group you want to delete.
      Y2FwaV9ncm91cDoxOTUwNTU1MDA3OToxMjAzNjMzOTQzMjAdOTY0MTUZD

      Group message status webhooks

      When you send a message to a group, you receive a status messages webhook when the message is delivered or read by group participants.
      Status webhooks for individual group participants may be aggregated into a single webhook containing multiple status objects in the statuses array. However, aggregation is not guaranteed. If multiple participants' statuses are generated at approximately the same time, they may be combined into a single webhook. If statuses are generated at different times, you may receive separate webhooks for each participant.
      Each webhook only ever references a single message sent to a single group and a single status type (for example, delivered). Statuses for different messages, groups, or status types are never combined into a single webhook.
      For the full webhook payload reference, see the status messages webhook reference.

      Pricing information

      Status messages webhooks that contain pricing information will have <CONVERSATION_CATEGORY> set to one of:
        group_marketing - Indicates a group marketing conversation.group_utility - Indicates a group utility conversation.group_service - Indicates a group service conversation.