---
title: "Send message"
method: POST
path: "/chrt_gpt/v1"
tags: ["/chrt_gpt"]
---

# Send message

`POST /chrt_gpt/v1`

## Request

- Base URL: `http://localhost:8000`
- URL: `http://localhost:8000/chrt_gpt/v1`
- Auth: HTTP bearer

Sends a message to ChrtGPT and streams its reply, starting a new conversation when no conversation_id is given. In the background, retitles the conversation after each of its first 3 turns and updates its summary and order identifiers after every turn. | authz: allowed_org_types=[shipper, provider], min_org_role=operator | (ChrtGPTReq) -> (stream[ChrtGPTEvent])

## Request body

- ChrtGPTReq
  - `conversation_id` string, nullable: Omit to start a new conversation.
  - `message` string, required: Can't start with <speech>, <object_upload>, which mark what was said on a voice call and uploaded files.
  - `reasoning_effort` 'low' | 'medium' | 'high': How much ChrtGPT reasons before answering this message. Higher is slower and more thorough.
  - `verbosity` 'low' | 'medium' | 'high': How long and detailed ChrtGPT's reply is.

## Response `200`

Successful Response

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-13** `2cbb4c8fec86`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/chrt/apis/chrt-fastapi/changes/chrt_gpt/v1/post.md)

---

[API](https://skmtc.dev/chrt/apis/chrt-fastapi.md) - [All operations](https://skmtc.dev/chrt/apis/chrt-fastapi/llms.txt) - [OpenAPI document](https://skmtc.dev/chrt/apis/chrt-fastapi/revisions/6f428e2e2b98?raw)
