curl -N -X POST https://chatatp-agent-builder-backend.onrender.com/v1/conversations/91/messages/stream/ \
-H "Authorization: Bearer $CHATATP_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: text/event-stream" \
-d '{"content":"Give me a summary of your return policy."}'
Messages
Stream a message
Send a message and receive the agent reply as server-sent events
POST
/
v1
/
conversations
/
{conversation_id}
/
messages
/
stream
/
curl -N -X POST https://chatatp-agent-builder-backend.onrender.com/v1/conversations/91/messages/stream/ \
-H "Authorization: Bearer $CHATATP_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: text/event-stream" \
-d '{"content":"Give me a summary of your return policy."}'
Same body as Send a message. The response is an SSE stream.
Set:
Each event block looks like:
Accept: text/event-stream
event: agent.response.delta
data: {"text":"Yes, "}
Event types
event | When it fires |
|---|---|
conversation.message.created | User message persisted |
message.created | A message row was created |
tool.execution.started | Agent started a tool |
tool.execution.completed | Tool returned |
agent.response.delta | Partial assistant text |
agent.response.completed | Final assistant message |
completion.completed | Stream finished |
error | Generation failed |
integer
required
Conversation ID.
string
required
Message text.
object
Optional metadata.
curl -N -X POST https://chatatp-agent-builder-backend.onrender.com/v1/conversations/91/messages/stream/ \
-H "Authorization: Bearer $CHATATP_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: text/event-stream" \
-d '{"content":"Give me a summary of your return policy."}'
SDK
for await (const event of client.messages.stream(91, {
content: "Give me a summary of your return policy.",
})) {
if (event.type === "agent.response.completed") console.log(event.data);
}
async for event in await client.messages.stream(
91, "Give me a summary of your return policy."
):
if event.type == "agent.response.completed":
print(event.data)

