# Introduction

## API Keys

Users can obtain their API keys by accessing their [dashboard](https://flow.simplemonitors.com).

### Connection

Below, you will find an example on how to create a WebSocket connection:

{% tabs %}
{% tab title="Node" %}

```javascript
import WebSocket from 'ws';

const ws = new WebSocket('wss://ws.flow.simplemonitors.com/ws', {
    perMessageDeflate: false
});
```

{% endtab %}

{% tab title="Go" %}

```go
package main

import (
	"fmt"
	"github.com/gorilla/websocket"
)

func main() {
	// Set up WebSocket connection URL
	wsURL := "wss://ws.flow.simplemonitors.com/ws"

	// Establish WebSocket connection
	conn, _, err := websocket.DefaultDialer.Dial(wsURL, nil)
	if err != nil {
		fmt.Println("WebSocket connection failed:", err)
		return
	}

	fmt.Println("WebSocket connection established.")

	// Close the WebSocket connection when done
	defer conn.Close()
}

```

{% endtab %}

{% tab title="Python" %}

```python
import websocket

ws = websocket.WebSocketApp('wss://ws.flow.simplemonitors.com/ws', 
                            on_open=lambda ws: print("WebSocket connection established."),
                            on_close=lambda ws: print("WebSocket connection closed."),
                            on_message=lambda ws, message: print("Received message:", message),
                            on_error=lambda ws, error: print("WebSocket error occurred:", error))

ws.run_forever()

```

{% endtab %}
{% endtabs %}
