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.
Autorizaciones
Enforced on every transport, with no exempt operation. A person's request must carry a JWT issued by the configured identity provider, which the host verifies itself against that issuer's key set: signature, issuer, expiry, and the person and organisation it names. Requests without a valid one receive 401 NRY-0011 — except a request with no token on a laptop's socket from the OS user the kernel names as the host's own, which is that machine's user.
Parámetros de ruta
The session's id.
Cuerpo
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. 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/\\]+$A key the client chooses for this one message, so a send whose answer was lost can be repeated safely. A message carrying a key its session already holds admits nothing and starts nothing: it is answered as the first one was, 202 with its turn id or 204 when it answered a lane's question, whatever else this body says. Absent, every send is a new message. A message's key is stored with it and outlives a host restart; an answer's key is held by the running host only, so after a restart its resend is handled as a new send: it answers the question the lane asks then, or starts a turn.
1 - 255Respuesta
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.

