---
title: "Active Game Probe"
method: GET
path: "/chatrooms/{room_name}/games/active"
tags: ["games"]
---

# Active Game Probe

`GET /chatrooms/{room_name}/games/active`

Is anything running in this room? One cheap answer, for both families.

Entering a room used to ask this twice. ChatroomSession probes
`/games/state` for the shared-router formats and `/canasta/state` for
Canasta, and BOTH read the same CanastaGameSession row -- Canasta writes
into that table too, and `_context` deliberately 404s it out of the shared
path so the client falls back to the other endpoint. So at most one of the
two could ever answer, and when nothing was running neither did.

It is not free. Measured in a browser on 2026-09-12: two requests per
student per room entry, eight transitions in that class, ~560 requests
across 25 students -- to discover a game that has been started ONCE in that
school's entire history (70 games exist platform-wide; one of them at
TESI). And the more expensive half was the one that almost never applies:
`game_state` runs a speculative auto_advance over the spec before it can
say "nothing here", and its docstring records what happened the day that
path took a row lock on every call.

This asks the question without answering the follow-up: one indexed read,
no spec, no projection, no advance. The caller fetches full state only once
it knows there is something to fetch.

Deliberately NOT folded into `GET /chatrooms/{room_name}`, which would look
tidier and be worse: that payload is fetched on every join AND polled every
five seconds, so a query added there costs far more than the probe it
replaces.

## Path parameters

- `room_name` string, required

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

## Changes

> 22 revisions in range; 1 not diffed.

- **2026-09-13** `3c5400a294e1` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/fluentea/apis/aurqa-language-learning-platform-refactored/changes/chatrooms/:room_name/games/active/get.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/b5b1eed6f8d6?raw)
