> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # promote > promote method for the RoomSession class. ### promote * **promote**(`params`): `Promise` Promotes a participant from "audience" to "member". See [join](#join) and [demote](#demote). #### Parameters **`params`** `object` Object containing the parameters of the method. --- **`memberId`** `string` Id of the audience participant to promote. --- **`joinAudioMuted`** `boolean` Force the member's audio to be muted right after the promotion. --- **`joinVideoMuted`** `boolean` Force the member's video to be muted right after the promotion. --- **`mediaAllowed`** `"all" | "audio-only" | "video-only"` Specifies the media that the client will be allowed to *send*. A member participant can always receive all media. --- **`meta`** `Record` Metadata to assign to the member. --- **`permissions`** `string[]` List of permissions to grant when the Audience participant will become a Member. --- #### Returns `Promise` #### Permissions * `room.member.promote` You need to specify the permissions when [creating the Video Room Token](/docs/apis/rest/video/room-tokens/create-room-token) on the server side. #### Example ```javascript await roomSession.promote({ memberId: "de550c0c-3fac-4efd-b06f-b5b8614b8966", mediaAllowed: "all", permissions: [ "room.self.audio_mute", "room.self.audio_unmute", "room.self.video_mute", "room.self.video_unmute", "room.list_available_layouts", ], }); ``` > promote method for the RoomSession class.