Hanzo
OpenapiMeet

Mint a join token for one video room

Answers with a LiveKit join token for exactly the room named in the body.

POST /v1/meet/getToken

Addresshttps://api.hanzo.ai/v1/meet/getToken
MethodPOST
Operationpost_meet_gettoken
AuthAuthorization: Bearer $HANZO_API_KEY

Answers with a LiveKit join token for exactly the room named in the body. The body is the RAW token as text/plain — one opaque string, not JSON and not wrapped in an envelope, which is what the office client reads.

The caller presents its workspace session as a Bearer. Every clause is a refusal: the session must verify, its SIGNED workspace claim must equal the room's leading name segment — rooms are named <workspace>_<room>_<id>, and that prefix is the only thing binding a room to a tenant — and the session must carry a privileged workspace role, so a guest is refused rather than seated.

The participant identity is the SESSION'S, never the body's. _id is accepted for compatibility with the published client bundle and deliberately ignored: LiveKit treats the identity as unique and ejects a duplicate, so honouring a caller-chosen one would let anyone in a workspace kick out a colleague and impersonate them. participantName is a display name only.

An unconfigured deployment answers 503 under its own name rather than 404, and the refusal states only that the office is unconfigured — the reason names key material and stays in the boot log.

Request

The document declares no body for POST /v1/meet/getToken. The handler is typed in cloud but its shape is not yet emitted, so the fields are not listed here — ask the MCP door's describe for post_meet_gettoken, which answers from the running route.

Response

The document declares no response body for this operation. It answers 200 on success and the platform error shape on failure — see Errors.

Examples

hanzo meet getToken

Meet API · All Hanzo APIs · Interactive reference

How is this guide?

On this page