---
title: "Stream Notifications"
method: GET
path: "/v1/worker/notifications/stream"
tags: ["worker"]
---

# Stream Notifications

`GET /v1/worker/notifications/stream`

## Request

- Base URL: `https://api.mundane.market` (the document declares no server; this is the origin it was published from)
- URL: `https://api.mundane.market/v1/worker/notifications/stream`
- Auth: none declared

Server-Sent Events stream of new notifications for this worker.

Polls the notifications table every 2 seconds; emits one `data:` event
per new row. Sends a `: keepalive` comment every 15s so the connection
survives idle-timeout in intermediate proxies (Cloudflare's default is
100s; Nginx's is 60s). The poll itself is cheap — a single indexed
query bounded by `id > :last_id`.

Why polling and not LISTEN/NOTIFY: keeping the existing notifications
pipeline simple. A future commit can swap the inner loop for an
asyncpg LISTEN if we're paying for the poll latency.

## Headers

- `authorization` string

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

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