Sessions

Send a message

Adds a follow-up instruction to a running or finished Session, including an owned subagent Session. Child continuations retain their original execution permissions. Device execution requires devices:use in addition to run, including continuations and pending Device handoffs.

<sub>Scope: run</sub>

post/v3/organizations/{orgId}/sessions/{sessionId}/messages

Request

  • Base URL: https://api.reasonmachines.com
  • URL: https://api.reasonmachines.com/v3/organizations/{orgId}/sessions/{sessionId}/messages
  • Auth: HTTP bearer

Headers

X-Reason-Agentstring

Optional self-reported caller agent name. If absent, the server uses the User-Agent for external callers.

Request body

messagestring required

Follow-up instruction, at most 2 MiB when UTF-8 encoded.

client_message_idstring

Caller-generated idempotency key. Reusing it for the same Session returns the original accepted turn.

modelstring

Optional model id from GET /agent-auth/models to retry this session on. A model override always starts a new continuation run, because a run's model is fixed at its first execution. Omit or use auto to keep the session's current model.

reasoning_effort'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max'

Optional reasoning effort override applied to the continuation run.

Response

Message accepted and delivered or queued for a continuation.

okboolean required
deliverystring
continuation_session_idstring nullable

The stable logical Session id after an accepted follow-up. Continue polling this id; Reason may run the turn in a hidden execution Attempt.

held_reasonstring

Present when delivery is saved_for_follow_up and the message is waiting instead of starting. session_machine_transition_pending: the Session's machine is changing; the message is delivered when the change settles, so do not send it again. If the change has not settled after 10 minutes the message is marked not delivered instead.

Changes

No recorded changes to this operation across all 1 revision of this API.