AI Chat

Submit a turn to a user-owned conversation. The authenticated user's current role and permissions are captured for this turn's tool executor; no project id from the browser is trusted or required.

post/ai/conversations/{public_id}/messages

Request

  • Base URL: /api (relative, and the document was published on a file host, not at the API’s origin)
  • URL: /api/ai/conversations/{public_id}/messages
  • Auth: HTTP bearer

Path parameters

public_idstring required

Request body

ai_modelstring nullable

Optional next-turn model. The provider harness remains pinned, but its advertised models may be changed between turns.

ai_permission_modestring nullable

Optional next-turn permission mode for the pinned provider harness.

ai_thinking_levelstring nullable

Optional next-turn thinking level.

contentstring required
page_contextstring nullable

Optional, client-supplied description of the page/entity the user is currently viewing (e.g. a trace in a project). Injected into the model's view of this turn only — never stored or shown in history. Capped server side; oversized values are ignored rather than rejected.

turn_idstring nullable

Client-generated opaque idempotency key for this turn. Retries with the same id never create a second user message or harness execution.

Response

statusstring required
turn_idstring required
turn_started_atstring required

Server timestamp used by every observer to render one continuous elapsed-time counter across refreshes and reconnects.

Changes

No recorded changes to this operation across all 50 revisions of this API.