> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # Method name: approveJoinGroupRequests(groupId: string, memberIds: Array, options: ApproveJoinGroupRequestsOptions) # Method package: wixGroupsV2 # Method menu location: wixGroupsV2 --> joinGroupRequests --> approveJoinGroupRequests # Method Link: https://dev.wix.com/docs/velo/apis/wix-groups-v2/join-group-requests/approve-join-group-requests.md # Method Description: Approves requests to join a group. > **Note:** This function is only relevant for private groups. The `approvejoinGroupRequests()` function returns a Promise that resolves when a site member's request to join a group is approved. Only site admins and group admins can approve site member requests to join a group, unless the group setting, `membersCanApprove` is set to `true`. # Method Code Examples: *** Note: do not assume any prop names or enum values other than the ones in the example. ## Approve a request to join a group (dashboard page code) ```javascript import { joinGroupRequests } from 'wix-groups.v2'; // Sample groupId: '77490611-53bb-4b47-a7cc-ca9a1335133b', // // Sample memberIds: ['124cd3db-e9be-4980-93c1-a6d767a11099', '2f48e9e1-d050-4c86-9684-e7f231600f29'] async function approveJoinGroupRequests(groupId, memberIds) { try { const result = await joinGroupRequests.approveJoinGroupRequests(groupId, memberIds); return result; } catch (error) { console.error(error); // Handle the error } } /* Promise resolves to: * joinGroupRequests: [ * { * "requestDetails": {"rejectionReason": "Wrong group."} * "siteMemberId": "124cd3db-e9be-4980-93c1-a6d767a11099" * "status": "REJECTED" * }, * { * "requestDetails": {} * "siteMemberId": "2f48e9e1-d050-4c86-9684-e7f231600f29" * "status": "APPROVED" * } * ] */ ``` ## Approve a request to join a group (export from backend code) ```javascript import { Permissions, webMethod } from 'wix-web-module'; import { joinGroupRequests } from 'wix-groups.v2'; // Sample groupId: '77490611-53bb-4b47-a7cc-ca9a1335133b', // // Sample memberIds: ['124cd3db-e9be-4980-93c1-a6d767a11099', '2f48e9e1-d050-4c86-9684-e7f231600f29'] export const approveJoinGroupRequests = webMethod(Permissions.Anyone, async (groupId, memberIds) => { try { const result = await joinGroupRequests.approveJoinGroupRequests(groupId, memberIds); return result; } catch (error) { console.error(error); // Handle the error } }); /* Promise resolves to: * joinGroupRequests: [ * { * "requestDetails": {"rejectionReason": "Wrong group."} * "siteMemberId": "124cd3db-e9be-4980-93c1-a6d767a11099" * "status": "REJECTED" * }, * { * "requestDetails": {} * "siteMemberId": "2f48e9e1-d050-4c86-9684-e7f231600f29" * "status": "APPROVED" * } * ] */ ``` ---