# `ZenWebsocket.Examples.SupervisedClient`
[🔗](https://github.com/ZenHive/zen_websocket/blob/v0.4.2/lib/zen_websocket/examples/supervised_client.ex#L1)

Basic WebSocket client supervision example.

Shows minimal setup for supervised connections. For advanced patterns,
see the supervision documentation.

# `list_connections`

```elixir
@spec list_connections() :: [pid()]
```

Lists all supervised connections.

# `start_connection`

```elixir
@spec start_connection(
  String.t(),
  keyword()
) :: {:ok, ZenWebsocket.Client.t()} | {:error, term()}
```

Starts a supervised WebSocket connection.

## Example

    {:ok, client} = SupervisedClient.start_connection("wss://echo.websocket.org")

# `start_multiple`

```elixir
@spec start_multiple([{String.t(), keyword()}]) :: [
  {String.t(), {:ok, ZenWebsocket.Client.t()} | {:error, term()}}
]
```

Starts multiple supervised connections.

## Example

    clients = SupervisedClient.start_multiple([
      {"wss://api1.example.com", retry_count: 5},
      {"wss://api2.example.com", heartbeat_interval: 20_000}
    ])

# `stop_connection`

```elixir
@spec stop_connection(pid()) :: :ok | {:error, :not_found}
```

Stops a supervised connection.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
