User
Joining a Room with a user
There are two ways to join a room:
Direct GUI Link (Prebuilt-UI)
- Found in the links section of the API response
- No additional API communication needed
- Works with any WebRTC-capable browser
- Bound to specific user (DON'T share)
Quick-Join URL (Prebuilt-UI)
- Uses a guest token
- Format:
https://app.eyeson.team/?guest=<guest_token>
- Provides immediate access to the meeting room
- Can be shared to allow guests to join a running meeting
All these features require a WebRTC-capable user agent, typically a modern web browser.
Fetch User Details
GET /rooms/<access_key>/users/<user_id>
RESPONSES 200 OK, 404 NOT FOUND, 410 GONE
Example response:
{
"id": "63ede350b20526000f64376d",
"name": "Jane Doe",
"avatar": "https://myawesomeapp.com/images/avatar.png",
"guest": false,
"joined_at": "2021-01-01T09:00:00.000Z"
}
Register User
To register another user, you will need an active meeting room. Follow the instructions and parameters to start a meeting. Since the room is already started a new user will be generated.
POST /rooms // create a new room or join an existing by id
HEADERS Authorization
RESPONSES 201 CREATED, 400 BAD REQUEST, 403 FORBIDDEN
REQUIRED id, user[name]
RECOMMENDED user[id]
id
Type: STRING
(required)
Default: RANDOM
Room id to get users into a specific meeting room.
(If omitted, the user will be alone in a new created meeting room)
user[id]
Type: STRING
(optional)
Default: RANDOM
Custom user ID to identify the user in further REST requests without the need to remember or save the Eyeson user ID, e.g., an internal user ID, an e-mail address, phone number, etc. If empty, a random id will be assigned.
user[name]
Type: STRING
(required)
Default:NULL
Display name of the user.
user[avatar]
Type: URL
(optional)
Default: NULL
Link to the avatar image. Avatars will be displayed in the sidebar of our Prebuild-UI.
Register Guest User
Using the guest token received from the create room
request, any number of guest users can be created.
This provides an option for you to offer a quick join
method to any meeting.
A guest link is only valid for the running meeting session. Once a meeting ends, the guest link perishes and cannot be used to join any future meetings in this room.
It is a best practice to hand out guest links to call participants who are not part of your core team. They will only have access to the current meeting room session and not for any future ones - unless they get explicitly invited in real-time with a link.
POST /guests/`guest_token` # Create a guest user for a meeting.
RESPONSES 201 CREATED, 400 BAD REQUEST, 410 GONE, 423 LOCKED
id
Type: STRING
(optional)
User identifier
name
Type: STRING
(required)
Users name to be displayed in participants list.
avatar
Type: URL
(optional)
HTTP URI to a an avatar image shown in Prebuilt-UI.
custom_fields[locale]
Type: Language Code (optional)
User preferred language code in Prebuilt-UI.
Valid values: en
, de
, fr
Example Response
{
"access_key": "cnNqsoJlGIsf8L2WtqDzrH4y",
"ready": false,
"locked": false,
"room": {
"id": "63ede350b20526000f64376b",
"name": "eyeson room",
"ready": true,
"started_at": "2021-01-01T09:00:00.000Z",
"shutdown": false,
"sip": {
...
},
"guest_token": "gKsiVlrvkFyL3klk1wBHLlm3"
},
"team": {
"name": "My Company Ltd."
},
"user": {
"id": "63ede4a773b114000faa26eb",
"room_id": "63ede350b20526000f64376b",
"name": "Guest user",
"avatar": "https://myawesomeapp.com/images/guest-avatar.png",
"guest": true,
"ready": false,
"sip": {
...
}
},
"links": {
"self": "https://api.eyeson.team/rooms/cnNqsoJlGIsf8L2WtqDzrH4y",
"gui": "https://app.eyeson.team/?cnNqsoJlGIsf8L2WtqDzrH4y",
"guest_join": "https://app.eyeson.team/?guest=gKsiVlrvkFyL3klk1wBHLlm3",
"websocket": "https://api.eyeson.team/rt?access_key=cnNqsoJlGIsf8L2WtqDzrH4y"
},
"options": {
"show_names": true,
"show_label": true,
"exit_url": null,
"recording_available": true,
"broadcast_available": true,
"layout_available": true,
"layout": "auto",
"reaction_available": true,
"suggest_guest_names": true,
"lock_available": false,
"kick_available": true,
"sfu_mode": "ptp",
"layout_users": null,
"layout_map": null,
"layout_name": null,
"voice_activation": false,
"custom_fields": {},
"widescreen": false
},
"presentation": null,
"broadcasts": [],
"recording": null,
"snapshots": [],
"signaling": {
...
}
}
Kick User
Sometimes it may be necessary to remove a participant from a meeting. Please note, that kicked users can re-join at any time!
DELETE /rooms/<access_key>/users/<user_id>
RESPONSES 200 OK, 403 FORBIDDEN, 404 NOT FOUND, 410 GONE
If option[kick_available] is set to FALSE
, related API requests will respond with status 403 FORBIDDEN
.