--- 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