Skip to main content
POST
Submit a user message

Path Parameters

sessionId
string<uuid>
required

The session's id.

Body

application/json

A user message submitted into a session or lane. Posted while work is running it is a steering message, queued and delivered between tool batches without discarding work already done.

content
string
required

The message text.

Minimum string length: 1
attachments
string[]

Absolute paths of files to attach.

Maximum array length: 32
Maximum string length: 4096
queueKind
enum<string>
default:steer

While a turn is running, steer delivers after a complete tool batch and follow-up starts a fresh turn after turn-finished. Defaults to steer. During a final stream with no subsequent tool batch, steer is durably converted to follow-up with the same admitted entry and turn id.

Available options:
steer,
follow-up
agent
string

Named agent recipe this message runs under: its prompt replaces the system prompt for the turn, its model overrides the session's, and its tool allowlist is the only catalogue the turn can see. The session's own behaviour when absent. Recorded on the admitted message, so the transcript says which agent each turn ran under — there is no session-wide current agent. Ignored on a side lane, exactly as LaneCreate ignores it there: a side conversation always runs the host's read-only explorer, and that is not the caller's to change on any road.

Maximum string length: 128
Pattern: ^[^\s/\\]+$

Response

Accepted. The turn's results stream over the event stream; this body carries only the turn id to correlate them.

Acknowledgement of a submitted message. Everything the turn produces streams over GET /v1/events, correlated by this turn id — never over the submitting response.

turnId
string<uuid>
required

Correlates this turn's events on the stream.