# Responses WebSocket

`GET https://api.llm.buzz/api/v1/responses`

The same Responses API over a WebSocket, the transport the Codex CLI uses. Send `response.create` frames; each Responses stream event arrives as one text frame, and a request that fails arrives as an `{"type": "error", ...}` frame. The key is checked before the upgrade is accepted. A `GET` without an upgrade answers 426.

Authentication: an inference key, as `Authorization: Bearer KEY`.

## Parameters

- `Upgrade` (header string, required): `websocket`.

## Responses

- 101: The connection switches to the WebSocket.
- 401: No key, or the key is unknown, expired, revoked or disabled.
- 426: A `GET` without a well-formed upgrade. Clients such as Codex fall back to `POST /api/v1/responses`.
