Skip to main content
GET
Preview an invite link

Path Parameters

invite_code
string
required

Response

Successful Response

What a guest holding an invite link may choose, without signing in.

Everything a language chooser needs and nothing about the organization behind the room. Read it right before showing the chooser: a room's languages change as people join and leave, so a preview fetched minutes earlier can be stale.

An empty active_languages means this link cannot be redeemed right now — there is no language the join would accept. mode and room_status say why.

Read it with languages_required: together they are the whole chooser — which languages to offer, and how many the guest must pick.

active_languages
SupportedLanguageResponse · object[]
required

The languages this room will still accept, alphabetically by name — offer exactly these and nothing else.

The limit is on languages, not on people. A room translates between at most two languages, but any number of guests may join it: a hundred people speaking those two languages are all admitted, and this list does not shrink as they arrive.

So it narrows only as languages are taken up. While the room holds fewer than two, every supported language is offered — a guest may join the one already being spoken, or bring the second. Once two are in use, those two are offered from then on, however many people join; a third language would have no translator. The list widens again on its own once everyone speaking a language has disconnected and freed it.

When languages_required is 2 the guest picks a pair from this list, and the pair has to fit the same two-language limit — so if the room already holds one language, the pair must include it.

An empty list means the link cannot be redeemed right now; mode and room_status say why.

mode
string | null
required

How this room's audio reaches the translator: dual when each speaker joins from their own device, mono when one device carries both. A link works in a room of either mode, and minting one neither sets nor changes it.

null means no mode has been settled yet — the first join token for the room decides it, and this guest's may be that token. What it implies for the guest is on languages_required, which is the field to read.

languages_required
integer | null
required

How many of active_languages the guest must send to POST /v1/invites/{invite_code}/join. 1 for a dual room, 2 for a mono room — where one device carries both speakers, so one connection carries both their languages. Sending a different count returns 409 without spending a use.

null when the room has no mode yet: either count is accepted, and whichever the guest sends fixes the room's mode for its lifetime. Offer one language in that case unless you know the guest is sharing a device.

room_status
string
required

created before anyone has joined, active once the call is running. A finished room has no usable link, so this link would already have returned 410 rather than reporting it.