Reference
Incognito
1 route, generated from Morse’s own OpenAPI document. Every path below hangs off the base URL, and every one needs the bearer header.
The examples are built from each route’s schema, so the shapes and types are exactly what the API declares. The values are illustrative, and no one has run them.
Enter a meeting invisibly: present to watch, visible to nobody.
/meetings/{meeting_id}/join-incognitoThe lock is deliberately not checked. Locking makes everyone else wait in
the lobby to be admitted, and waiting in the lobby is precisely how the host
would find out somebody was there — a knock is a name on their screen. Asked
to choose between a watcher who cannot enter a locked meeting and a locked
meeting a watcher can enter, the product owner chose the latter on
2026-10-06.
**This path creates nothing, in Morse or in LiveKit.** It used to call
ensure_room, on the reasoning that a watcher arriving first should not have
the room auto-created without our empty_timeout. That reasoning was
backwards: creating the room was what destroyed the meeting. require_watcher
now refuses until somebody else has opened the room, so there is nothing
left to ensure.
POST/meetings/{meeting_id}/join-incognito
curl -X POST "$MORSE/meetings/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60/join-incognito" \
-H "Authorization: Bearer $MORSE_TOKEN"{
"livekit_url": "https://onmorse.com/priya",
"room_name": "Priya Shah",
"token": "mp_YOUR_MORSE_TOKEN"
}