Submit a user message
Submits a message into the session’s main lane. The response is 202 with a turn id only: results never arrive on this response — deltas, tool activity and completion stream over GET /v1/events. Steering is this same operation: a message posted while the session is running is steering by default, queued and taken into account between complete tool batches without discarding work already done; queueKind follow-up instead starts a fresh turn after turn-finished. Entry admission and its queue operation record commit atomically before anything executes.
Path Parameters
The session's id.
Body
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.
The message text.
1Absolute paths of files to attach.
324096While 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.
steer, follow-up 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.
128^[^\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.
Correlates this turn's events on the stream.

