Skip to content

Open a new room in the browser

GET
/rooms/new
curl --request GET \
--url 'https://collab.work.optidata.cloud/api/rooms/new?name=Quick%20sync&room_slug=quick-sync&settings%5Bjoin_mode%5D=automatic' \
--header 'Authorization: Bearer <token>'

Browser entry point: creates a room owned by the caller, adds the caller to it and answers with a redirect to the room page. Use it as the target of a “New meeting” link.

Every request creates a new room. From an integration, use POST /rooms/new instead, which returns the room as JSON.

Accepts the same fields as POST /rooms/new, as query parameters; nested settings use bracket notation, e.g. ?name=Quick%20sync&settings[max_users]=10&settings[join_mode]=no_request (brackets may be percent-encoded as %5B / %5D).

name
string
<= 255 characters

Room name.

room_slug
string

Slug of the room’s permanent link.

description
string
<= 255 characters

Room description.

icon_url
string

Address of the image shown as the room’s icon. Defaults to a camera icon.

settings[max_users]
integer

Maximum number of people in the room at once. Defaults to your plan’s limit.

settings[join_mode]

Who may enter the room and whether they must ask first:

  • automatic — anyone with the link enters straight away; guests without an account appear as “Guest”.
  • no_request — anyone with the link enters without asking; guests type their name first.
  • unauthenticated_must_request — signed-in Optiwork users enter; guests type their name and ask to join.
  • authenticated_only_no_request — only signed-in Optiwork users, without asking; guests are turned away.
  • authenticated_only_must_request — only signed-in Optiwork users, and they ask to join; guests are turned away.
  • any_must_request — everyone asks to join; guests type their name first.
string
Allowed values: automatic no_request unauthenticated_must_request authenticated_only_no_request authenticated_only_must_request any_must_request

Who may join and how; defaults to your company’s Call settings

Redirect to the new room’s page, already joined as its owner.

Location
string format: uri

Address of the room page.

No authentication key was sent, or it is malformed.

Media typeapplication/json

Authentication failures use an error key rather than message.

object
error
required
string
Examples
Examplemissing

No bearer token sent

{
"error": "JWT passport exception: Missing bearer token in request"
}

The permanent link (room_slug) is already used by another room of your company.

Media typeapplication/json

An error raised by the application’s own rules.

object
error
required

What went wrong.

string
status

The HTTP status, repeated.

integer
help

What to do about it, when there is a hint.

string
Examplegenerated
{
"error": "example",
"status": 1,
"help": "example"
}

The authentication key is expired or not recognised. Get a fresh one and retry.

Media typeapplication/json

Authentication failures use an error key rather than message.

object
error
required
string
Examples
Exampleexpired
{
"error": "JWT passport expired: Passport expired"
}