---
title: "Start Canasta Game"
method: POST
path: "/chatrooms/{room_name}/canasta/start"
tags: ["canasta"]
---

# Start Canasta Game

`POST /chatrooms/{room_name}/canasta/start`

Any participant starts a Canasta game in the chatroom.

Idempotent: if an active game already exists, return it as-is. This
prevents race conditions where concurrent /start clicks would each
end the previous game and create a new one, effectively killing
whoever clicked first.

The body is optional in both senses — it may be absent, and every field in
it may be. The Android app ships a bundled build that POSTs this with no
body at all, so "no body" has to keep meaning exactly what it meant: the
room's language and the Word of the Day pool.

## Path parameters

- `room_name` string, required

## Headers

- `authorization` string, nullable

## Request body

- StartCanastaRequest — What the room is playing with, when somebody chose. Optional in every field and optional as a body: the Android app ships a bundled build that POSTs this endpoint with no body at all, and it has to keep working exactly as it does.
  - `language` string, nullable
  - `words` string[], nullable
  - `teams` unknown
  - `buzz_penalty` integer

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

## Changes

> 25 revisions in range; 1 not diffed.

- **2026-09-21** `13996d792e23` — 1 info
  - added optional request body

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