Skip to main content
POST
Create conversation and stream response

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Path Parameters

project_id
string
required

Body

application/json
message
string
required

User message to send to the Summation agent.

Minimum string length: 1
display_content
string | null

Optional alternate rendering of the message for display; the agent still receives message.

file_ids
string[]

Project file ids to attach to the message as context.

mentioned_file_ids
string[]

Project file ids referenced inline in the message.

model
string | null

Chat model id to use for this turn, from GET /v1/chat-models. Per-request model selection is honored where enabled for the tenant; otherwise the default model applies. The reply metadata reports the model that ran.

Minimum string length: 1
effort
enum<string> | null

Reasoning effort for this turn (low, medium, high, xhigh, max). Honored under the same tenant setting as model selection; otherwise the default effort applies.

Available options:
low,
medium,
high,
xhigh,
max
title
string | null

Optional conversation title; derived from the message when omitted.

Response

Server-Sent Events stream of agent activity.

Each event is a UTF-8 line prefixed with event:, id:, or data: per the SSE spec. The data: payload is a JSON object with the shape {"type": <event_type>, "sequence": <int>, "data": <object>}.

Event types emitted by the agent:

  • status — high-level progress; data.message (queued/running text) or data.summary (short status line)
  • tool.started — agent invoked a tool; data.id, data.name
  • tool.input — tool input arguments; data.id, data.name, data.input
  • tool.completed — tool finished; data.id
  • message.delta — incremental assistant text; data.text (append in order)
  • done — terminal event; data.messageId, data.content (final assistant message), data.status (complete / error / cancelled)

Resumability: when the connection drops before done, the same stream can be resumed via GET /v1/projects/{project_id}/conversations/{chat_id}/messages/{message_id}/events.