---
title: "Join Chatroom"
method: POST
path: "/chatrooms/{room_name}/join"
tags: ["chatrooms"]
---

# Join Chatroom

`POST /chatrooms/{room_name}/join`

Join a chatroom.

/join is the single source of truth for "becoming joinable": if the room is
still `scheduled` but within its start window (15 min before `scheduled_at`
onward), it is transitioned to `active` below — AFTER the private-room gate —
so every entry point (CommuniTea cards, shared invite links, the calendar,
future callers) works whether or not it remembered to call /start first.
Previously only some frontend paths called /start, so the rest 404'd with
"Chatroom not found or not active" on a perfectly valid scheduled room.

## Path parameters

- `room_name` string, required

## Query parameters

- `join_code` string, nullable

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[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-service-production.skmtc.workers.dev/v1/apis/fluentea/aurqa-language-learning-platform-refactored/revisions/45cbba31aa7d/schema)
