--- title: "Room" slug: "room-schema" updated: 2025-09-02T13:26:58Z published: 2025-09-02T13:26:58Z canonical: "developer.rocket.chat/room-schema" --- > ## 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. # Room A room in Rocket.Chat is where conversations take place. The room object represents the details of rooms created in a workspace. There are at least two fields on the room object. - `_id`: The room/user ID (depends on the room type). - `t`: The room type. See the table below for details. ## Properties The `Room` object has the following fields: | Field | Data type | Description | | --- | --- | --- | | `_id` | String | The room ID. | | `t` | String | The room type. E.g `c` = channel, `d` = direct message, `l` = livechat, `p`=private chat | | `name` | String | The room’s name. | | `fname` | String | The full name of the room. | | `msgs` | Number | The number of messages in the room. | | `default` | Boolean | Indicates if the room is the default room. | | `broadcast` | Boolean | Indicates if the room is a broadcast room. | | `featured` | Boolean | Indicates if the room is featured. | | `announcement` | String | The announcement or summary of the room. | | `joinCodeRequired` | Boolean | Indicates if a join code is required to enter the room. | | `announcementDetails` | String | Additional details about the room announcement, such as the style. | | `encrypted` | Boolean | Indicates if the room is encrypted. | | `topic` | String | The topic of the room. | | `reactWhenReadOnly` | Boolean | Indicates if reactions are allowed when the room is read-only. | | `sysMes` | MessageTypesValues[] \| Boolean | Indicates whether system messages are enabled or an array of allowed system message types. | | `u` | String | Information about the user who created the room (`_id`: string, `username`: string, `name`: string). | | `uids` | Array of string | Array of user IDs in the room. | | `lastMessage` | Object | The last message sent in the room. | | `lm` | Date | Timestamp of the last message. | | `usersCount` | Number | The number of users in the room. | | `callStatus` | CallStatus | The status of a call in the room. | | `webRtcCallStartTime` | Date | The start time of a WebRTC call in the room. | | `servedBy` | String | Information about the user who served the room (`_id`: string). | | `streamingOptions` | String | Options for streaming content in the room (`id`?: string, `type`?: string, `url`?: string, `thumbnail`?: string, `isAudioOnly`?: boolean, `message`?: string). | | `prid` | String | The primary room ID (for threads). | | `avatarETag` | String | The ETag for the room avatar. | | `teamMain` | Boolean | Indicates if the room is the main room for a team. | | `teamId` | String | The ID of the team the room belongs to. | | `teamDefault` | Boolean | Indicates if the room is the default room for the team. | | `open` | Boolean | Indicates if the room is open. | | `autoTranslateLanguage` | String | The language used for automatic translation in the room. | | `autoTranslate` | Boolean | Indicates if automatic translation is enabled for the room. | | `unread` | Number | The number of unread messages in the room. | | `alert` | Boolean | Indicates if there is an alert in the room. | | `hideUnreadStatus` | Boolean | Indicates if the unread status is hidden. | | `hideMentionStatus` | Boolean | Indicates if the mention status is hidden. | | `muted` | Array of string | An array of user IDs who are muted in the room. | | `unmuted` | Array of string | An array of user IDs who are not muted in the room. | | `usernames` | Array of string | An array of usernames in the room. | | `ts` | Date | Timestamp of when the room was created. | | `cl` | Boolean | Indicates if the room is a channel. | | `ro` | Boolean | Indicates if the room is read-only. | | `favorite` | Boolean | Indicates if the room is marked as a favorite. | | `archived` | Boolean | Indicates if the room is archived. | | `description` | String | Description or summary of the room. | | `createdOTR` | Boolean | Indicates if the room was created as an OTR (off-the-record) room. | | `e2eKeyId` | String | Key ID for end-to-end encryption in the room. | | `federated` | Boolean | (Deprecated) Indicates if the room is federated. | | `customFields` | Object | (Deprecated) Custom fields for additional room information. | | `channel` | { _id: string } | Information about the channel the room belongs to. | ## Room types - `d`: Direct messages - `c`: Public channel - `p`: Private channel - `discussions`: Team or channel discussions - `teams`: Workspace teams - `l`: Livechat - `v`: Omnichannel VoIP rooms The information that comes with the room object changes according to its type. Direct chatPublic chat roomPrivate chat room A DM room object contains two fields: - `_id`: The room ID. - `t`: The room type (in this case, the value is `d`) For example: ```json {    "_id": "room-id",    "t": "d" } ``` A public chat room contains information about the room, as follows: - `_id`: The room ID. - `t`: The room type (in this case, the value is `c`). - `name`: The room name. - `u`: The room creator (it may return a null user). - `topic`: (Optional) The room topic. - `muted`: (Optional) A collection of muted users by their username. - `jitsiTimeout`: (Optional) If the Jitsi app is used in your workspace, this parameter may be present. For example: ```json {    "_id": "room-id",    "t": "c",    "name": "room-name",    "u": { "_id": "user-id", "username": "username" },    "topic": "room-topic",    "muted": [ "username" ],    "jitsiTimeout": { "$date": 1480377601 } } ``` This type of room resembles a public chat room: - `_id`: The room ID. - `t`: The room type (in this case, the value is `p`). - `name`: The room name. - `u`: The room creator (it may return a null user). - `topic`: (Optional) The room topic. - `muted`: (Optional) A collection of muted users by their username. - `jitsiTimeout`: (Optional) If the Jitsi app is used in your workspace, this parameter may be present. - `ro`: Flags if the room is read-only. For example: ```json {    "_id": "room-id",    "t": "p",    "name": "room-name",    "u": { "_id": null, "username": null },    "topic": "room-topic",    "ro": false // This room is not read-only } ``` The **IRoom** interface represents the **Room** object, defining the properties and their types that can be associated with a Room. Room information is stored in the `rocketchat_room `collection on MongoDB. See the IRoom interface here. [Rocket.Chat/IRoom.ts at develop · RocketChat/Rocket.Chat](https://github.com/RocketChat/Rocket.Chat/blob/develop/packages/core-typings/src/IRoom.ts) ## Room object example **Example object**