What a message can contain
Messages accept ordered typed parts:textfileimage
file_id.
Message lifecycle
Every message send creates a message record under a session. The delivery mode changes how the HTTP request returns:asyncreturns after the message is queuedsyncwaits for a terminal resultstreamreturns incremental output while the same message executes
queuedrunningcompletedfailed
session_id can start a new workflow for the new turn.
Retries
Retry policy comes fromdari.yml, not from resubmitting the same message manually. Dari tracks the current attempt on the message record.
Output
Completed messages can expose:- Structured output in
output - Start and completion timestamps