---
title: "Remove Group Moderator"
slug: "remove-group-moderator"
updated: 2026-06-08T12:46:40Z
published: 2026-06-08T12:46:40Z
stale: true
---

> ## Documentation Index
> Fetch the complete documentation index at: https://developer.rocket.chat/llms.txt
> Use this file to discover all available pages before exploring further.

# Remove Group Moderator

Post/api/v1/groups.removeModerator

Remove the `moderator` role from a user in a private channel.

Permission required: `set-moderator`

### Changelog

| Version | Description |
| --- | --- |
| 0.49.4 | Added |

Header parametersX-Auth-TokenstringRequired

The `authToken` of the authenticated user.

ExampleRScctEHSmLGZGywfIhWyRpyofhKOiMoUIpimhvheU3f
X-User-IdstringRequired

The `userId` of the authenticated user.

ExamplerbAXPnMktTFbNpwtJ

Body parameters<select class='api-response-data' aria-label='Media type'><option value='a4fe1296-a790-4ca6-963e-e73d6199b79c'>application/json</option>
</select><select class='select-example' aria-label='Media type'><option value='2647ad5e-3f8a-4322-924e-cfd8ae148b5e'>Success</option>
</select>Success

```json
{
  "roomId": "ByehQjC44FwMeiLbX",
  "userId": "oCHkav5Zf6vmpu2W2"
}
```

object  roomIdstring    Required

The private group ID. You can find the IDs by using any of the following endpoints:

- [Get List of User Groups](https://developer.rocket.chat/apidocs/get-list-of-user-groups): This endpoint returns all private channels in the workspace, if you have the required permissions to view them.
- [Get Groups](https://developer.rocket.chat/apidocs/get-groups): This endpoint returns the private channels that you are a member of.

ExampleByehQjC44FwMeiLbX
userIdstring    Required

The ID of the user to be removed from moderator role. Alternatively, you can use the `userName` parameter and enter the username, instead of the ID.

ExampleoCHkav5Zf6vmpu2W2

Responses200

OK

<select class='api-response-data' aria-label='Media type'><option value='62a74c87-0db8-4944-b75e-b2b56855cc0f'>application/json</option>
</select><select class='select-example' aria-label='Media type'><option value='52f5da4c-13a9-4859-90ac-669ab7bce089'>Success</option>
</select>Success

```json
{
  "success": true
}
```

object  successboolean    

400

Bad Request

<select class='api-response-data' aria-label='Media type'><option value='0bd68004-4e35-450c-9884-c26b854f3bfa'>application/json</option>
</select><select class='select-example' aria-label='Media type'><option value='faef2848-2560-49ba-a07c-99a62de737fe'>Example 1</option>
<option value='94d4b5ec-e2ad-4bee-9bf2-6b4cd544d8ac'>Example 2</option>
</select>Example 1

```json
{
  "success": false,
  "error": "The parameter \"roomId\" or \"roomName\" is required [error-room-param-not-provided]",
  "errorType": "error-room-param-not-provided"
}
```

Example 2

```json
{
  "success": false,
  "error": "The required \"userId\" or \"username\" param was not provided [error-user-param-not-provided]",
  "errorType": "error-user-param-not-provided"
}
```

object  successboolean    
errorstring    
errorTypestring    

401

Unauthorized

<select class='api-response-data' aria-label='Media type'><option value='7a8cf867-4da2-4df1-9ca2-eaef833e0ab3'>application/json</option>
</select><select class='select-example' aria-label='Media type'><option value='33cbd885-4cca-486d-a31a-7a87c4f0b69c'>Authorization Error</option>
</select>Authorization Error

```json
{
  "status": "error",
  "message": "You must be logged in to do this."
}
```

object  statusstring    
messagestring
