# User roles & meeting permissions

### Hosts

{% embed url="<https://www.youtube.com/watch?v=RicAdlE93cc>" %}

Users joining via the hostRoomURL become meeting hosts and have the following features available:

* Lock and unlock the room.
* Enter locked rooms without knocking.
* Respond and allow access to participants that are knocking.
* Remove, mute, and spotlight meeting participants.
* Remove chat messages and files shared by any participant.
* Start and stop [recordings](https://docs.whereby.com/whereby-product-features/recording-with-embedded), if available.
* Start and stop [breakout groups](https://docs.whereby.com/whereby-product-features/breakout-groups-with-embedded), if available.

{% hint style="info" %}
Host privileges are valid immediately on room creation and are disabled one hour after the `endDate`.
{% endhint %}

A hostRoomURL is only available if the `hostRoomURL` is included in the `fields` parameter when [creating a meeting via the API](https://docs.whereby.com/using-the-rest-api#creating-rooms).

**Example request body:**

```json
{
    "endDate": "2099-03-25T13:30:00.000Z",
    "fields": ["hostRoomUrl"]
}
```

**Response:**

```json
{
    "meetingId": "1234",
    "startDate": "2022-03-09T13:50:00.000Z",
    "endDate": "2099-03-25T13:30:00.000Z",
    "roomUrl": "https://example.whereby.com/room",
    "hostRoomUrl": "https://example.whereby.com/room?roomKey=eFhcG...i00ZG"
}
```

Now that you have both a `roomUrl` and a `hostRoomUrl`, you can ensure that both your guests and hosts get the right privileges by using the corresponding URL when [embedding rooms](https://docs.whereby.com/getting-started/overview-of-whereby-embedded) in your own webpage or app.

### Participants

Users joining via the standard `roomUrl` will have a more typical meeting experience. They will only have access to the features you've set via [URL parameters](https://docs.whereby.com/whereby-for-web-browser/web-component-and-pre-built-ui/configuring-with-attributes) or the [dashboard](https://docs.whereby.com/whereby-product-features/dashboard-preferences), and they will need to knock to gain entry to locked rooms.

A `roomUrl` will be included with any POST [meeting creation](https://docs.whereby.com/using-the-rest-api#creating-rooms) requests.

**Example request body:**

```javascript
{ 
    "endDate": "2099-03-25T13:30:00.000Z", 
}
```

#### Response:

```javascript
{
    "meetingId": "1234",
    "startDate": "2022-03-09T13:50:00.000Z",
    "endDate": "2099-03-25T13:30:00.000Z",
    "roomUrl": "https://example.whereby.com/room",
}
```

### Viewers

In Viewer Mode, participants joining as Viewers have their camera and microphone access disabled. Viewers can gain access to locked rooms without knocking and can only interact with Hosts and Participants by using the Chat, if you've enabled that in the room.

This is a 1.0 feature and might change in the future.

{% hint style="success" %}
Meetings created in "[group](https://docs.whereby.com/using-the-rest-api#creating-rooms)" mode can support up to 200 hosts or participants. Viewer mode can support an additional 400 viewers for a total of 600 viewers, hosts, and participants.&#x20;
{% endhint %}

{% hint style="warning" %}
Using Viewer Mode for meetings created in "normal" mode (2-4 people) may present technical issues. Viewer Mode is intended to be used in "group" meetings instead.&#x20;
{% endhint %}

**Example request body:**

```json
{
    "endDate": "2099-03-25T13:30:00.000Z",
    "templateType": "viewerMode"
}
```

**Response:**

```json
{
    "meetingId": "1234",
    "startDate": "2022-03-09T13:50:00.000Z",
    "endDate": "2099-03-25T13:30:00.000Z",
    "roomUrl": "https://example.whereby.com/room",
    "hostRoomUrl": "https://example.whereby.com/room?roomKey=eFhcG...i00ZG"
    "viewerRoomUrl": "https://example.whereby.com/room?roomKey=eFhcG...VTQIE"
}
```

Explore more in the [API reference](https://docs.whereby.com/reference/whereby-rest-api-reference).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.whereby.com/whereby-product-features/user-roles-and-privileges.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
