Skip to main content

User

Joining a Room with a user

There are two ways to join a room:

  • 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
note

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.

warning

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.

tip

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.