---
title: "Switch Chacha Host"
method: POST
path: "/chatrooms/{room_name}/chacha-host"
tags: ["chatrooms"]
---

# Switch Chacha Host

`POST /chatrooms/{room_name}/chacha-host`

Switch ChaCha off or on in this room (beta).

`hosted_by_chacha` keeps meaning the room was set up with her;
`activity_config.chacha_off` is what this writes. Anyone who may be in the
room may switch her, students included (`_may_switch_chacha`), and every
switch is recorded as a `user_activities` row. She cannot be switched ON
in a room that was never set up with her: 409.

The room is told through a server-sent data packet,
`{"type": "chacha_host_state", "on", "by_name"}`, which carries no
participant identity; the client accepts it only when LiveKit says no
participant sent it.

## Path parameters

- `room_name` string, required

## Headers

- `authorization` string, nullable

## Request body

- ChaChaHostSwitchRequest
  - `on` boolean, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

## Changes

> 24 revisions in range; 1 not diffed.

- **2026-09-21** `13996d792e23` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/fluentea/apis/aurqa-language-learning-platform-refactored/changes/chatrooms/:room_name/chacha-host/post.md)

---

[API](https://skmtc.dev/fluentea/apis/aurqa-language-learning-platform-refactored.md) · [All operations](https://skmtc.dev/fluentea/apis/aurqa-language-learning-platform-refactored/llms.txt) · [OpenAPI document](https://skmtc.dev/fluentea/apis/aurqa-language-learning-platform-refactored/revisions/ecd3f19d9e8b?raw)
