---
title: "Send a message to a chat session"
method: POST
path: "/v2/aether/chats/{chat_id}"
tags: ["aether", "chats"]
---

# Send a message to a chat session

`POST /v2/aether/chats/{chat_id}`

## Request

- Base URL: `https://api.stuut.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.stuut.ai/v2/aether/chats/{chat_id}`
- Auth: HTTP bearer

Streams the agent's response back as Vercel AI SDK data-stream (SSE)
events. File parts referencing uploaded files are resolved and passed to
the agent as media.

## Path parameters

- `chat_id` string, required

## Request body

- SendMessageInput
  - `messages` ChatMessageInput[], required
    - `role` 'user' | 'assistant' | 'system', required
    - `parts` union[]
      - union
        - TextPartInput
          - `type` 'text', required
          - `text` string, required
        - FilePartInput
          - `type` 'file', required
          - `mediaType` string, nullable
          - `url` string, nullable
          - `fileId` string, nullable
        - UnknownPartInput: Catch-all for part types we don't need to parse (tool calls, reasoning, etc.).
          - `type` string, required
    - `content` string, nullable
  - `context` ChatContextInput: Records attached to this message; sent per message, never an access grant.
    - `entities` ContextEntityInput[]
      - `type` 'customer' | 'invoice' | 'task', required
      - `id` string, required

## Response `200`

Successful Response

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/stuut/apis/stuut-api.md) - [All operations](https://skmtc.dev/stuut/apis/stuut-api/llms.txt) - [OpenAPI document](https://skmtc.dev/stuut/apis/stuut-api/revisions/ff0ad16a55ff?raw)
