diff --git a/src/room/mock/room.service.mock.ts b/src/room/mock/room.service.mock.ts
index 27918e47123c1e20b3d63a467cd14d7d255baba8..a104e7071b3e972ec7a829ebc1e7f3e06fd55ad5 100644
--- a/src/room/mock/room.service.mock.ts
+++ b/src/room/mock/room.service.mock.ts
@@ -20,11 +20,17 @@ export class MockRoomService {
     });
   }
 
-  public async update(id: number, category: Category, name: string) {
+  public async update(
+    id: number,
+    category: Category,
+    name: string,
+    password?: string,
+  ) {
     if (id === 1 && category === this.testCategory) {
       return Promise.resolve({
         ...this.testRoom,
         name,
+        password,
       });
     }
     throw new Error('Room not found');
diff --git a/src/room/room.controller.spec.ts b/src/room/room.controller.spec.ts
index e39ac51be73419a17e0723925991555a7c6c6f48..63a2c410ba8e05d1598617b564b9e93bda4d7112 100644
--- a/src/room/room.controller.spec.ts
+++ b/src/room/room.controller.spec.ts
@@ -127,6 +127,7 @@ describe('RoomController', () => {
   describe('update', () => {
     const updateRoomDto = {
       name: 'Updated Room',
+      password: 'new-password',
     };
 
     it('should update the room and return the updated room', async () => {
@@ -139,6 +140,7 @@ describe('RoomController', () => {
       expect(result).toEqual(
         expect.objectContaining({
           name: updateRoomDto.name,
+          password: updateRoomDto.password,
         }),
       );
     });
diff --git a/src/room/room.controller.ts b/src/room/room.controller.ts
index c98aa659780bee31855fa563800d90576237b702..b6a84f1c0499124cfa8b0c8c79faddbe34c9e22f 100644
--- a/src/room/room.controller.ts
+++ b/src/room/room.controller.ts
@@ -60,7 +60,7 @@ export class RoomController {
   ) {
     const user = await this.auth.user();
     const category = await this.categories.get(categoryId, user);
-    return this.rooms.update(roomId, category, data.name);
+    return this.rooms.update(roomId, category, data.name, data.password);
   }
 
   /**
diff --git a/src/room/room.entity.ts b/src/room/room.entity.ts
index 928cf9aec33933dbcb76b8fc92b3406da27c4bb7..ba494d8faf71e0791c2aea34caef9f7b8b5aeeac 100644
--- a/src/room/room.entity.ts
+++ b/src/room/room.entity.ts
@@ -21,7 +21,7 @@ export class Room {
   @Property()
   name: string;
 
-  @Property({ hidden: true })
+  @Property()
   password?: string;
 
   @ManyToOne({ onDelete: 'cascade' })
diff --git a/src/room/room.service.spec.ts b/src/room/room.service.spec.ts
index e4fc30049c1a56f7de7cd8c025815574394f8d4d..22e348a7466d68faf202522b41ba2382175f8365 100644
--- a/src/room/room.service.spec.ts
+++ b/src/room/room.service.spec.ts
@@ -125,10 +125,17 @@ describe('RoomService', () => {
   describe('update', () => {
     it('should successfully update the room name and return the updated room', async () => {
       const updatedName = 'Updated Room';
-      const result = await service.update(1, TEST_CATEGORY, updatedName);
+      const updatedPassword = 'new-password';
+      const result = await service.update(
+        1,
+        TEST_CATEGORY,
+        updatedName,
+        updatedPassword,
+      );
 
       expect(result).toEqual(TEST_ROOM);
       expect(TEST_ROOM.name).toBe(updatedName);
+      expect(TEST_ROOM.password).toBe(updatedPassword);
       expect(entityManager.persistAndFlush).toHaveBeenCalledWith(TEST_ROOM);
     });
 
diff --git a/src/room/room.service.ts b/src/room/room.service.ts
index ddba5964e9ced3342b585b32a94715cb00f9385d..6220922bcd01f8f196e32eb2283893f69530c591 100644
--- a/src/room/room.service.ts
+++ b/src/room/room.service.ts
@@ -61,16 +61,19 @@ export class RoomService {
    * @param id - The ID of the room.
    * @param category - The category of the room.
    * @param name - The new name for the room.
+   * @param password - The optional password for the room.
    * @returns The updated room.
    */
   public async update(
     id: number,
     category: Category,
     name: string,
+    password?: string,
   ): Promise<Room> {
     const room = await this.get(id, category);
 
     room.name = name;
+    room.password = password;
 
     await this.em.persistAndFlush(room);