# Watch the manager console feed

## Endpoint

```http
GET /feed
```

Open the manager console SSE stream. It begins with retry: 2000, replays the current roster snapshot as a named roster event, and sends a comment heartbeat every 20 seconds. Event data is JSON. The stock manager supplies the initial roster; this reference does not promise continuous roster updates. This feed is distinct from the Dashboard /feed stream.

### Parameters

No operation parameters.

### Responses

#### HTTP 200

Named SSE frames and comment heartbeats.

`Cache-Control`: {"const":"no-cache"}

Content type: `text/event-stream`.

```json
{
  "type": "string"
}
```

#### HTTP 401

The manager console token is missing or invalid.

Content type: `text/plain`.

```json
{
  "type": "string"
}
```

### Event payloads

Each named event carries the following JSON data schema.

```json
{
  "roster": {
    "type": "array",
    "items": {
      "$ref": "#/components/schemas/RosterPresence"
    }
  }
}
```

Authentication and access: Operator HTTP interface of the reference manager console. This is separate from the Dashboard HTTP API. The default bind is 127.0.0.1 on an allocated port; an operator can configure the bind host and port. Every data operation requires the per-manager console token, even on loopback. Supply a bearer header or query parameter t. If both are present, t takes precedence. The launch page keeps its token in the URL fragment.

Read routes also accept other bodyless methods; only the documented GET behavior is promised. Query strings are removed for route dispatch. Session establishment mints credentials for a broker WebSocket connection; the console does not expose a WebSocket terminal endpoint. Static HTML, scripts, styles and favicon resources are outside this API reference.

[OpenAPI specification](https://docs.cotal.ai/manager-console.openapi.json) contains the referenced response schemas. [Complete Markdown reference](/api/manager-console.md).
