# Group Join API endpoints for group join workflows. Users can request to join a group, and group admins can approve or reject join requests. Join behavior depends on the group's join mode: OPEN (instant), APPROVAL (requires admin approval), or INVITE_ONLY (requires invitation). Groups may also have entry questions that must be answered before joining. Admin operations (listing, approving, rejecting requests) require the GroupMembers.Manage RBAC permission. All endpoints require authentication. ## Join a group - [POST /api/v1/groups/{groupId}/join](https://docs.wellesley.social/openapi/group-join/paths/~1api~1v1~1groups~1%7Bgroupid%7D~1join/post.md): Request to join a group. The behavior depends on the group's join mode: OPEN groups accept members immediately with MEMBER role, APPROVAL groups create a PENDING join request requiring admin approval, and INVITE_ONLY groups require an invitation. Groups may also have entry questions that require a valid answerToken from completing the group's questionnaire. Users cannot join a group they're already a member of. ## Cancel group join request - [DELETE /api/v1/groups/{groupId}/join](https://docs.wellesley.social/openapi/group-join/paths/~1api~1v1~1groups~1%7Bgroupid%7D~1join/delete.md): Cancel a join request for a group. This allows users to withdraw their request to join a group that requires approval. Only the user who made the original join request can cancel it. ## List join requests for a group - [GET /api/v1/groups/{groupId}/join-requests](https://docs.wellesley.social/openapi/group-join/paths/~1api~1v1~1groups~1%7Bgroupid%7D~1join-requests/get.md): Get a list of join requests for a group with optional filtering by status, username, and date range. Only group admins can access this endpoint RBAC: requires GroupMembers.Manage ## Reject or delete a join request - [DELETE /api/v1/groups/{groupId}/join-requests/{groupJoinRequestId}](https://docs.wellesley.social/openapi/group-join/paths/~1api~1v1~1groups~1%7Bgroupid%7D~1join-requests~1%7Bgroupjoinrequestid%7D/delete.md): Reject a user's join request for a group. By default, this marks the request as REJECTED. If purge=true is passed, the request is permanently deleted from the database. Only group admins can reject/delete join requests. RBAC: requires GroupMembers.Manage ## Approve a join request - [PUT /api/v1/groups/{groupId}/join-requests/{groupJoinRequestId}](https://docs.wellesley.social/openapi/group-join/paths/~1api~1v1~1groups~1%7Bgroupid%7D~1join-requests~1%7Bgroupjoinrequestid%7D/put.md): Approve a join request for a group. This converts the request into an active group membership with MEMBER role. Only group admins can approve join requests. RBAC: requires GroupMembers.Manage