Ensemble streams inference results through the Fabric stream vocabulary when the selected binding supports it.
Fabric Stream Shape
{
"jsonrpc": "2.0",
"method": "inference/generate",
"params": {
"model": "claude-sonnet",
"messages": [
{
"role": "user",
"content": "Write a short status update."
}
],
"stream": true
},
"id": "stream-1"
}
Typical events:
| Event | Meaning |
|---|---|
started | Generation accepted |
delta | Text, tool, reasoning, or status fragment |
completed | Generation finished successfully |
failed | Generation failed with a structured error |
cancelled | Generation was cancelled |
Legacy REST/SSE
Older docs mention POST /api/v1/stream and WebSocket /api/v1/ws. Treat those as legacy compatibility endpoints tied to ensemble-rest when that process is present. New clients should use Fabric RPC and the transport binding advertised by the service.