Skip to main content

Agents Streaming API (SSE)

Phoenix provides an interactive streaming endpoint for agent-style chat interactions. This endpoint streams output and tool events using Server-Sent Events (SSE).

Endpoint

POST /api/agents

Auth: Session-based (browser or trusted service session). This endpoint is intended for interactive use.

Headers:

  • Accept: text/event-stream
  • Content-Type: application/json

Request Body

{
"messages": [{"role": "user", "content": "Find top competitors for Salesforce"}],
"organizationSlug": "phoenix",
"provider": "openai",
"model": "gpt-4o-mini",
"conversationId": "optional"
}

Streaming Response (SSE)

Events are emitted as SSE frames:

  • event: message
    • data: { "delta": "..." }
  • event: tool_start
    • data: { "toolCallId": "...", "toolName": "...", "arguments": { ... } }
  • event: tool_result
    • data: { "toolCallId": "...", "result": "..." }
  • event: tool_error
    • data: { "toolCallId": "...", "error": "..." }
  • event: done
    • data: { "finishReason": "stop" }
  • event: error
    • data: { "error": "...", "details": "..." }

Example stream:

event: message
data: {"delta":"Let me check..."}

event: tool_start
data: {"toolCallId":"tool_123","toolName":"company_firmographic","arguments":{"domain":"salesforce.com"}}

event: tool_result
data: {"toolCallId":"tool_123","result":"..."}

event: message
data: {"delta":"Here are the competitors..."}

event: done
data: {"finishReason":"stop"}

Notes

  • This endpoint is for interactive streaming use. For asynchronous agent runs and artifacts, use the /api/agents/v1 endpoints.
  • The SSE event schema is stable and intended to support A2A-compatible clients.