---
title: "Save Room Settings"
slug: "save-room-settings"
status: "update"
updated: 2026-09-15T14:09:03Z
published: 2026-09-15T14:09:03Z
canonical: "developer.rocket.chat/save-room-settings"
---
> ## 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.
# Save Room Settings
Post/api/v1/rooms.saveRoomSettings
Updates the settings of an existing room.
For ABAC-managed rooms, the following guardrails apply:
- Changing `roomAnnouncement`, `roomTopic`, or `roomDescription` is rejected with `error-action-not-allowed`.
- Setting `default: true` on an ABAC-managed room is rejected with `error-action-not-allowed`.
- Changing `roomType` from `p` to `c` is rejected with `error-action-not-allowed`. The same guard applies to private rooms in ABAC-managed private teams.
- When `roomType` changes to `c` (public) and conversion is allowed, existing room ABAC attributes are cleared as part of the conversion.
Permission required: `edit-room`
### Changelog
| Version | Description |
| --- | --- |
| 8.5.0 | Added ABAC guardrails: announcement, topic, description, default flag, and conversion to public are blocked on ABAC-managed rooms. |
| 3.13.0 | Added |
Header parametersX-Auth-TokenstringRequired
The `authToken` of the authenticated user.
ExampleRScctEHSmLGZGywfIhWyRpyofhKOiMoUIpimhvheU3f
X-User-IdstringRequired
The `userId` of the authenticated user.
ExamplerbAXPnMktTFbNpwtJ
Body parametersExample
```json
{
"rid": "JZ8Y2dLfYhsg323Rf",
"roomName": "Test-Save-Room",
"roomDescription": "This is a test room."
}
```
Expand Allobject ridstring Required
The room ID.
roomNamestring
The name of the room.
roomDescriptionstring
The description of the room.
roomAvatarstring
The base64 image.
featuredboolean
Whether the room is featured or not.
roomTopicstring
The topic of the room.
roomAnnouncementstring
The announcement of the room.
roomCustomFieldsobject
An object of the custom fields of the room.
roomTypestring
The type of the room. It could be `c` for public rooms or `p` for private rooms.
readOnlyboolean
Whether the room is read-only or not.
reactWhenReadOnlyboolean
Whether users can react when the room is read-only.
systemMessages Array of string
The system messages that the room supports.
string
defaultboolean
Whether the room is the default room or not.
joinCodestring
The join code of the room.
streamingOptionsobject
The streaming options of the room.
retentionEnabledboolean
Whether retention is enabled for the room or not.
retentionMaxAgestring
The maximum age (in days) of messages to be retained in the room.
retentionExcludePinnedboolean
Whether to exclude pinned messages from retention or not.
retentionFilesOnlyboolean
Whether to retain only files in the room or not.
retentionIgnoreThreadsboolean
Whether to ignore threads when retaining messages or not.
retentionOverrideGlobalboolean
Whether to override the global retention settings for the room or not.
encryptedboolean
Whether the room is encrypted or not.
favoriteobject
The favorite settings of the room. Whether the room is marked as favorite and whether it is set as the default room.
sidepanelobject
List the team's channels or discussions to be displayed in the sidepanel.
items Array of string
The options are `discussions` and `channels`.
string Example["discussions", "channels"]
Responses200
OK
Success
```json
{
"rid": "JZ8Y2dLfYhsg323Rf",
"success": true
}
```
object ridstring
successboolean
400
Bad Request
Invalid room
```json
{
"success": false,
"error": "Invalid room [error-invalid-room]",
"errorType": "error-invalid-room"
}
```
ABAC-managed room type conversion blocked
```json
{
"success": false,
"error": "Changing an ABAC managed private room to public is not allowed [error-action-not-allowed]",
"errorType": "error-action-not-allowed",
"details": {
"method": "saveRoomSettings",
"action": "Change_Room_Type"
}
}
```
ABAC-managed room default blocked
```json
{
"success": false,
"error": "Setting an ABAC managed room as default is not allowed [error-action-not-allowed]",
"errorType": "error-action-not-allowed",
"details": {
"method": "saveRoomSettings",
"action": "Viewing_room_administration"
}
}
```
Expand Allobject successboolean
errorstring
errorTypestring
detailsobject methodstring
actionstring
401
Unauthorized
Authorization Error
```json
{
"status": "error",
"message": "You must be logged in to do this."
}
```
object statusstring
messagestring