chat
Send a message and return the agent’s reply. One call is one full turn, including any tool calls the agent makes along the way, so expect seconds rather than milliseconds.
Parameters
conversation_id
The conversation to send on.
message
The message to send.
role
user or system. A system message steers the agent without appearing as something the user
said.
config_url
Creates the conversation if it does not exist yet. Saves a call, at the cost of never receiving
initial_message, so the agent does not speak first.
user_metadata
Applies only when this call creates the conversation.
timeout
Applies only when this call creates the conversation.
reinit
Applies only when this call creates the conversation.
Returns
ChatResponse — carries text, conversation_id, and user_event.
user_event is present only when the turn produced one. Its contents are whatever your tool passed
to swml_user_event(), so the shape is yours.
Raises
ChatInProgressError when a turn is already running on this conversation. That is the contract
rather than a transient failure, so wait for the first turn to return instead of retrying.