Send Message (Stateless or Stateful)
Send a message without needing to create a thread or assistant first. Everything you pass is per-turn only — nothing is persisted to the assistant. To configure an assistant permanently, use the dedicated assistant endpoints.
Without thread_id → a new thread (and default assistant) are auto-created. The response includes thread_id and assistant_id.
With thread_id → the message is appended to the existing thread.
With assistant_id → the new thread is pinned to that assistant.
Accepts application/json (text-only and JSON-safe fields) or multipart/form-data for file attachments, audio_file (STT), and the same form fields as POST /threads/{thread_id}/messages. Image generation, voice (TTS/STT), and tools behave the same as the thread messages endpoint.
Headers
Request body
Example request
{
"thinking": {}
}Response
Successful Response