---
title: "Returns the WebSocket router."
method: GET
path: "/ws"
tags: ["system"]
---

# Returns the WebSocket router.

`GET /ws`

`GET /ws` is a protocol upgrade, NOT a `{ data, ts }` envelope endpoint. On
success it returns `101 Switching Protocols` and the connection then speaks
the daemon WebSocket protocol: the client sends `WsSubscribeRequest` frames
and the server streams `DaemonWsEvent` frames (one per subscribed topic
event). These frame schemas are documented here for reference only; the live
stream is not modelled by the OpenAPI response body.

## Query parameters

- `auth` string, required

## Other responses

- `101` — WebSocket upgrade accepted; the connection then exchanges WsSubscribeRequest (client→server) and DaemonWsEvent (server→client) frames.
- `401` — Missing or invalid session token
- `403` — PID not allowed
- `429` — Rate limit exceeded

---

[API](https://skmtc.net/uniclipboard/apis/uniclipboard-daemon-api.md) · [All operations](https://skmtc.net/uniclipboard/apis/uniclipboard-daemon-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/uniclipboard/uniclipboard-daemon-api/revisions/a5d29889448a/schema)
