**Rate limit: Per room** · **Burst:** 100 · **Refill:** 30 req/s
Add a session as a [room participant](/api/room-participants). Omit `muted` to
join unmuted.
A `202` response with `status: joining` confirms that the join request was
accepted. Participation is not yet complete.
Exactly one of these outcomes applies:
- If the session is not in another room, the new join starts.
- If the session is already in this room, the response is `200` with
`status: already_joined`; another join is not started.
- If the session has completed joining another room, it is removed from that
room before the new join starts.
- If the session is still joining another room, the response is `409`.
**Triggered webhooks:**
- `room.participant.joined` is emitted after participation in the target room is
confirmed.
- Moving a session also emits `room.participant.left` for the previous room.
See [Room lifecycle, participant, and playback events](/api/rooms#lifecycle-participant-and-playback-events) for complete payload schemas and examples.
Request
This endpoint expects an object.
session_uuidstringRequired
Identifies the Session to add. Use the complete value that
GET /api/v1/rooms/{room_id}/participants returns.
mutedbooleanOptional
Controls whether the participant joins muted. Omit this field or set
it to false to join the participant unmuted.