---
title: "Sse Stream"
method: GET
path: "/api/stream"
tags: ["Streaming"]
---

# Sse Stream

`GET /api/stream`

## Request

- Base URL: `https://www.oxfordledge.com` (the document declares no server; this is the origin it was published from)
- URL: `https://www.oxfordledge.com/api/stream`
- Auth: none declared

Server-Sent Events endpoint that pushes data updates as they are fetched.

Pushes cached headlines + indicators immediately on connect, then streams
live events (headlines, indicators, ticker updates, market-pulse) as they
arrive via shared.sse_broadcast().

WP-G (2026-09-26 external review, P1-1): each session's queue now lives on
the event loop (services/sse_session_queue.py), fed from the broadcaster's
threads via loop.call_soon_threadsafe. It used to be a queue.Queue polled
with asyncio.to_thread(q.get, True, 15), which pinned one default-executor
thread per open stream: ~32 streams starved every other to_thread call in
the process. sse_broadcast() is unchanged -- it still calls put_nowait and
still drops a client whose queue is full.

## Response `200`

Successful Response

- unknown

---

[API](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api.md) · [All operations](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api/llms.txt) · [OpenAPI document](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api/revisions/e832a1260f0b?raw)
