Query
SSE stream of job progress and final results
Server-Sent Events stream for real-time job tracking. Preferred over polling for Web UI.
Event types:
| Event | When | Data |
|---|---|---|
| progress | Every ~1s while running | Progress snapshot plus optional preview rows |
| complete | Query finished | Final results |
| failed | Query errored | Error object |
| canceled | Job was cancelled | Progress at cancellation |
SSE (not WebSocket) because this is a unidirectional server→client stream. SSE auto-reconnects, passes through proxies, and works with the native EventSource browser API.
const es = new EventSource("/api/v1/query/jobs/qry_xxx/stream");
es.addEventListener("progress", (e) => updateProgressBar(JSON.parse(e.data)));
es.addEventListener("complete", (e) => { showFinalResults(JSON.parse(e.data)); es.close(); });
es.addEventListener("failed", (e) => { showError(JSON.parse(e.data)); es.close(); });
get/query/jobs/{jobId}/stream
Path parameters
jobIdstring required
Response
SSE event stream