Send Chat Message
Available for: Chatflow
Sends a message to a deployed Chatflow app and returns the answer, in blocking or streaming mode.
Standard API equivalent: Send Chat Message. Differences:
workflow_idandauto_generate_nameare ignored.trace_idandtrace_session_idare accepted.- The stream omits TTS, moderation, annotation, and agent events.
- Error codes differ.
Authorizations
Every request authenticates with an API key: Authorization: Bearer {API_KEY}. App endpoints take an app API key; knowledge endpoints take a knowledge base API key (Get Started).
Keep keys server-side; never embed them in client code. Requests with a missing or invalid key fail with HTTP 401 (unauthorized).
Headers
Same as the trace_id body field, checked first.
Same as the trace_session_id body field, checked first.
Query Parameters
Same as the trace_id body field, checked after the header.
Same as the trace_session_id body field, checked after the header.
Body
Request body to send a chat message.
The user's message.
Values for the app's input variables, keyed by variable name. Use the input variables defined in the version currently deployed to the target environment.
Pass a file object for a single-file variable, or an array of file objects for a file-list variable. Each file object has the same structure as an item in files.
End-user identifier, defined by your app and unique within it. Conversations, messages, and files are visible only to requests carrying the same user. See End User Identity.
How the response is delivered.
streaming: events arrive as the run produces them. Use it for anything longer than a quick reply.blocking: one response once the run completes.
streaming, blocking ID of the conversation to continue. Omit it or pass an empty string to start a new conversation; the response returns a conversation_id to send with the next message. To resume an earlier conversation, get its ID from List Conversations.
Files to attach to the message. For a local file, first upload it via Upload File, then reference the returned id as upload_file_id with transfer_method: local_file.
Trace identifier propagated to observability data. Letters, digits, hyphens, and underscores are accepted, up to 128 characters. A value that does not match is skipped, not rejected.
Trace session identifier propagated to observability data, 1 to 200 characters after trimming.
1 - 200Response
The content type and structure depend on the response_mode parameter in the request.
- If
response_modeisblocking, returnsapplication/jsonwith aChatCompletionResponseobject. - If
response_modeisstreaming, returnstext/event-streamwith a stream of Server-Sent Events.
Always message.
Task ID for this run. In blocking mode it arrives only in this final body, so Stop Chat Message Generation is practical only with streaming.
Message ID.
Message ID (same value as id).
Conversation the turn belongs to; a new conversation's ID when conversation_id was omitted.
Always advanced-chat.
The complete answer text.
Run metadata; contains usage with token counts, prices, and latency.
Run start time as a Unix timestamp in seconds.