# Group management | Developer Documentation

<div id="bkmrk-group-managementupda">## Group management

<div><span>Updated: Mar 25, 2026</span></div><div id="bkmrk-overview"><div id="bkmrk-overview-1"><div>### Overview

</div></div></div><div>The Groups API gives you simple functions to control groups through their lifecycle.</div><div>When you create a new group, an invite link is created for inviting participants to the group.</div><div>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.</div><div id="bkmrk-group-management-fea"><div id="bkmrk-group-management-fea-1"><div>### Group management features

</div></div></div><span>[Create and delete group](#bkmrk-create-group-1)</span><span>[Groups with join requests enabled](#bkmrk-groups-with-join-req-1)</span><span>[Get and reset group invite link](#bkmrk-get-and-reset-group--1)</span><span>[Send group invite link template message](#bkmrk-send-group-invite-li-1)</span><span>[Remove group participants](#bkmrk-remove-group-partici-1)</span><span>[Get group info](#bkmrk-get-group-info-1)</span><span>[Get active groups](#bkmrk-get-active-groups-1)</span><span>[Update group settings](#bkmrk-update-group-setting-1)</span><div>To learn how to message groups, view the [Group Messaging reference](/books/meta-whatsapp/page/group-messaging-developer-documentation).</div><div id="bkmrk-subscribe-to-groups-"><div id="bkmrk-subscribe-to-groups--1"><div>### Subscribe to groups metadata webhooks

</div></div></div><div>In order to receive webhook notifications for metadata about your groups, please subscribe to the following webhook fields:</div><span>`group_lifecycle_update`</span><span>`group_participants_update`</span><span>`group_settings_update`</span><span>`group_status_update`</span><div><div>For a full reference of webhooks for the Groups API, please visit our [Webhooks for Groups API reference](/books/meta-whatsapp/page/group-messages-webhook-reference-developer-documentation).</div></div><div id="bkmrk-groups-with-join-req"><div id="bkmrk-groups-with-join-req-1"><div>### Groups with join requests

</div></div></div><div>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:</div><div>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](#bkmrk-get-join-requests-1). Use the contents of the webhook or API response to approve or reject requests.</div><div id="bkmrk-approve-join-request"><div id="bkmrk-approve-join-request-1"><div>#### Approve join requests

</div></div></div><div id="bkmrk-request-parameters-6"><div id="bkmrk-request-parameters-7"><div>##### Request parameters

</div></div></div><div><table><thead><tr><th><span>Placeholder </span></th><th><span>Description </span></th><th><span>Sample Value </span></th></tr></thead><tbody><tr><td><div><div>`<GROUP_ID>`</div><div>*String*</div></div></td><td><div><div>**Required.**</div><div>Group ID.</div></div></td><td><div><div>`Y2FwaV9ncm91cDoxNzA1NTU1MDEzOToxMjAzNjM0MDQ2OTQyMzM4MjAZD`</div></div></td></tr></tbody></table>

</div><div id="bkmrk-response-parameters-3"><div id="bkmrk-response-parameters-4"><div>##### Response parameters

</div></div></div><div><table><thead><tr><th><span>Placeholder </span></th><th><span>Description </span></th><th><span>Sample Value </span></th></tr></thead><tbody><tr><td><div><div>`<JOIN_REQUEST_ID>`</div><div>*String*</div></div></td><td><div><div>ID of approved join request, or ID of failed join request, if we were unable to approve.</div></div></td><td><div><div>`MTY0NjcwNDM1OTU6MTIwMzYzNDA0Njk0MjMzODIw`</div></div></td></tr><tr><td><div><div>`<ERROR_CODE>`</div><div>*Integer*</div></div></td><td><div><div>Error code, if unable to approve.</div></div></td><td><div><div>`131203`</div></div></td></tr><tr><td><div><div>`<ERROR_MESSAGE>`</div><div>*String*</div></div></td><td><div><div>Error message, if unable to approve.</div></div></td><td><div><div>`(#131203) Recipient has not accepted our new Terms of Service and Privacy Policy.`</div></div></td></tr><tr><td><div><div>`<ERROR_TITLE>`</div><div>*String*</div></div></td><td><div><div>Error title, if unable to approve.</div></div></td><td><div><div>`Unable to add participant to group`</div></div></td></tr><tr><td><div><div>`<ERROR_DETAILS>`</div><div>*String*</div></div></td><td><div><div>Error details, if unable to approve.</div></div></td><td><div><div>`Recipient has not accepted our new Terms of Service and Privacy Policy.`</div></div></td></tr></tbody></table>

</div><div id="bkmrk-reject-join-requests"><div id="bkmrk-reject-join-requests-1"><div>#### Reject join requests

</div></div></div><div id="bkmrk-request-parameters-9"><div id="bkmrk-request-parameters-10"><div>##### Request parameters

</div></div></div><div><table><thead><tr><th><span>Placeholder </span></th><th><span>Description </span></th><th><span>Sample Value </span></th></tr></thead><tbody><tr><td><div><div>`<GROUP_ID>`</div><div>*String*</div></div></td><td><div><div>**Required.**</div><div>Group ID.</div></div></td><td><div><div>`Y2FwaV9ncm91cDoxNzA1NTU1MDEzOToxMjAzNjM0MDQ2OTQyMzM4MjAZD`</div></div></td></tr><tr><td><div><div>`<JOIN_REQUEST_ID>`</div><div>*String*</div></div></td><td><div><div>**Required.**</div><div>ID of join request to reject.</div></div></td><td><div><div>`MTY0NjcwNDM1OTU6MTIwMzYzNDA0Njk0MjMzODIw`</div></div></td></tr></tbody></table>

</div><div id="bkmrk-response-parameters-6"><div id="bkmrk-response-parameters-7"><div>##### Response parameters

</div></div></div><div><table><thead><tr><th><span>Placeholder </span></th><th><span>Description </span></th><th><span>Sample Value </span></th></tr></thead><tbody><tr><td><div><div>`<JOIN_REQUEST_ID>`</div><div>*String*</div></div></td><td><div><div>ID of rejected join request, or ID of failed join request, if we were unable to reject.</div></div></td><td><div><div>`MTY0NjcwNDM1OTU6MTIwMzYzNDA0Njk0MjMzODIw`</div></div></td></tr><tr><td><div><div>`<ERROR_CODE>`</div><div>*Integer*</div></div></td><td><div><div>Error code, if unable to reject.</div></div></td><td><div><div>`131203`</div></div></td></tr><tr><td><div><div>`<ERROR_MESSAGE>`</div><div>*String*</div></div></td><td><div><div>Error message, if unable to reject.</div></div></td><td><div><div>`(#131203) Recipient has not accepted our new Terms of Service and Privacy Policy.`</div></div></td></tr><tr><td><div><div>`<ERROR_TITLE>`</div><div>*String*</div></div></td><td><div><div>Error title, if unable to reject.</div></div></td><td><div><div>`Unable to add participant to group`</div></div></td></tr><tr><td><div><div>`<ERROR_DETAILS>`</div><div>*String*</div></div></td><td><div><div>Error details, if unable to reject.</div></div></td><td><div><div>`Recipient has not accepted our new Terms of Service and Privacy Policy.`</div></div></td></tr></tbody></table>

</div><div id="bkmrk-delete-group"><div id="bkmrk-delete-group-1"><div>### Delete group

</div></div></div><div id="bkmrk-request-properties"><div id="bkmrk-request-properties-1"><div>#### Request properties

</div></div></div><div><table><thead><tr><th><span>Placeholder </span></th><th><span>Description </span></th><th><span>Sample Value </span></th></tr></thead><tbody><tr><td><div><div>`<GROUP_ID>`</div><div>*String*</div></div></td><td><div><div>**Required**</div><div>  
The ID of the group you want to delete.</div></div></td><td><div><div>`Y2FwaV9ncm91cDoxOTUwNTU1MDA3OToxMjAzNjMzOTQzMjAdOTY0MTUZD`</div></div></td></tr></tbody></table>

</div><div id="bkmrk-group-message-status"><div id="bkmrk-group-message-status-1"><div>### Group message status webhooks

</div></div></div><div>When you send a message to a group, you receive a status **messages** webhook when the message is delivered or read by group participants.</div><div>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.</div><div>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.</div><div id="bkmrk-pricing-information"><div id="bkmrk-pricing-information-1"><div>#### Pricing information

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