Meet API Docs Dashboard
On this page

Rooms

A room is an address people meet at. A session is one sitting in it.

The room#

You create a room with POST /api/v1/rooms. A room has:

Private rooms are the right choice when your app decides who comes in. Public rooms suit open events.

Properties#

Property Meaning
max_participants 1 to 200. The room answers room_full when it is full (a host can still enter).
exp and nbf Unix seconds. The room stops opening at exp and starts opening at nbf. Not even a host enters outside this window.
enable_knocking A waiting room. The host admits people one by one.
start_audio_off, start_video_off People join with the microphone or camera off.
enable_captions, enable_translation, languages Live captions, spoken translation and the languages (at most 5).
enable_chat, enable_screenshare Sent to the call screen.
shape call, meeting or stage (one-to-many).
lang The room's main language.
metadata Your own JSON, at most 4 KB, to carry your own ids.

Change properties later with PATCH /api/v1/rooms/{name}. Only the properties you send change.

Sessions#

Each time people meet in a room that is a session. It starts when the first person enters and ends when the room is empty or a host ends it. The same room can have many sessions over time. Sessions hold the participants (who, role, when they joined and left), the transcript and the chat. See Sessions and transcripts.

Live control#

While a session runs you can see who is in (GET /rooms/{name}/presence), post a message, mute, remove someone, lock the room or end it for everyone. See Live control.

Deleting#

DELETE /api/v1/rooms/{name} ends a running meeting and frees the name. The history stays, because sessions and participants are your usage record.

Try it#

bash
curl "https://meet.respiresoft.com/api/v1/rooms" \
  -H "Authorization: Bearer $MEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "order-1042", "privacy": "private", "properties": {"max_participants": 4, "enable_knocking": true}}'