Skip to main content

Generate a new Video Room Token

POST 

/room_tokens

Generate a Room Token allowing a client to join a Room.

Permissions

The API token must include the following scopes: Video.

Request

Body

required

    room_name stringrequired

    Room's unique named identifier. Allowed characters: A-Za-z0-9_-. Up to 100 characters. The room does not have to exist when the token is created, but must exist prior to joining, or ensure auto_create_room is set to true.

    Example: my_room
    user_name string

    A display name to use for the user. Up to 100 characters. (If not supplied, a random alphanumeric string will be returned for each authorization with this token.)

    Example: John Smith
    permissions string[]

    A list of permissions, which define what user can do once they join the room.

    Example: ["room.self.audio_mute","room.self.audio_unmute","room.self.video_mute","room.self.video_unmute","room.self.deaf","room.self.undeaf","room.self.set_input_volume","room.self.set_output_volume","room.self.set_input_sensitivity"]
    join_from date-time

    The user can't join the room before this time. Expects RFC 3339 datetime: 2022-01-01T23:59:60Z. Date only: 2022-01-01 will be converted to 2022-01-01T00:00:00Z

    join_until date-time

    The user can't join the room after this time. Expects RFC 3339 datetime: 2022-01-01T23:59:60Z. Date only: 2022-01-01 will be converted to 2022-01-01T00:00:00Z

    remove_at date-time

    Remove user from the room at this time. Expects RFC 3339 datetime: 2022-01-01T23:59:60Z. Date only: 2022-01-01 will be converted to 2022-01-01T00:00:00Z

    remove_after_seconds_elapsed integer

    Remove user after they are in the room for N seconds.

    Example: 900
    join_audio_muted boolean

    Whether the user joins the room with their audio muted.

    Example: false
    join_video_muted boolean

    Whether the user joins the room with their video muted.

    Example: false
    auto_create_room boolean

    By default, if the user tries to use this token to join a room that doesn't exist, it will be created with default configuration. Set this to false to require the room to exist beforehand.

    Example: false
    enable_room_previews boolean

    Whether to generate a video with a preview of the content of the room. This parameter has effect only if this token auto-creates the room, thus it will be ignored if the room already exists.

    Example: true
    room_display_name string

    Display name used if a room is auto-created when the token joins. Maximum of 200 characters. Defaults to the value of room_name.

    Example: My Room
    end_room_session_on_leave boolean

    Whether to end the room session when the member using this token leaves the room.

    Default value: false
    Example: false
    join_as string

    Whether the user should join as a member or as a non-interactive audience participant. Audience participants cannot send audio or video.

    Possible values: [audience, member]

    Default value: member
    Example: member
    media_allowed string

    Indicates what media the user is allowed to receive.

    Possible values: [all, video-only, audio-only]

    Default value: all
    Example: video-only
    room_meta object

    Set the room meta.

    Default value: {}
    Example: {"key":"value"}
    meta object

    Set the member meta.

    Default value: {}
    Example: {"key":"value"}
    audio_video_sync boolean

    Enable/disable jitter buffer audio-video sync.

    Default value: false
    Example: true

Responses

OK

Schema

    token string

    A Room Token to be used by clients to connect to the Room.

    Example: eyJ0eXAiOiJWUlQiLCJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE2MjIxMjAxMjMsImp0aSI6ImRmMzFjYTQ4LWRiZGMtNGJjZi1hYWU2LTQ1NWEwOGM5NDg2YSIsInN1YiI6IjBjOTdmNjM1LTFjMTMtNGZjMS04NmY3LWJiMmJlODU5ZDhiOSIsInUiOiJKb2huIERvZSIsInIiOiJteV9zdXBlcl9hd2Vzb21lX3Jvb20iLCJzIjpbInJvb20uc2VsZi5hdWRpb191bm11dGUiXSwiYWNyIjp0cnVlLCJqZiI6MTYyMDg5NjQwMCwianUiOjE2MjA5MDU5NjgsInJhdCI6MTYyMDkwMDAwMCwicnNlIjo5MDB9.5mu_H2PjQLtNBbMsBlS0c91EgsDjJzvZUFgj5-tP4VA0VoHZPIGgV_DLRGKt-BqG-DqC5LhpsdMWEFjhVkTBpQ