---
title: "Pro-only AI assistant. With `Accept: text/event-stream`, streams incremental deltas as text/event-stream instead of buffering the whole reply (issue #73); the Idempotency-Key header is only honored in the non-streaming mode."
method: POST
path: "/chat"
tags: ["Chat"]
---

# Pro-only AI assistant. With \`Accept: text/event-stream\`, streams incremental deltas as text/event-stream instead of buffering the whole reply (issue #73); the Idempotency-Key header is only honored in the non-streaming mode.

`POST /chat`

## Request

- Base URL: `https://whatareyoudo.ing/api/v1`
- URL: `https://whatareyoudo.ing/api/v1/chat`
- Auth: HTTP bearer

## Request body

- ChatRequest
  - `message` string, required
  - `history` object[]
    - `role` 'user' | 'assistant', required
    - `content` string, required
  - `roomId` string, uuid
  - `entryText` string

## Response `200`

Non-streaming: JSON {reply, used, limit}. Streaming (Accept: text/event-stream): a `data: {"delta":...}` frame per token, ending in `event: done\ndata: {"used":...,"limit":...}`.

- object
  - `reply` string, required
  - `used` integer, required
  - `limit` integer, required

## Other responses

- `403`: {error: "upgrade_required"} -- Free plan
- `404`: {error: "room_not_found"} -- no such room, or not the caller's. {error: "entry_unavailable"} -- the room is about an entry the caller can no longer read.
- `429`: {error: "chat_limit", limit} -- daily quota exhausted
- `502`: {error: "assistant_unavailable"} -- provider call failed

---

[API](https://skmtc.dev/whatareyoudo/apis/whatcha-api.md) · [All operations](https://skmtc.dev/whatareyoudo/apis/whatcha-api/llms.txt) · [OpenAPI document](https://skmtc.dev/whatareyoudo/apis/whatcha-api/revisions/48dd8a54abea?raw)
