# Connection

The first thing an APP needs to do is to open a WebSocket connection with a **HAS** server. Once connected, the **HAS** will send a `connected` message with additional information.

```
{ 
    cmd: "connected", 
    timeout: number,
    version: string,
    protocol: number
}
```

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

* **`timeout`**: delay (in seconds) before the server considers requests to be expired. The default value is 60 seconds.
* **`version`**: HAS code version
* **`protocol`**: HAS protocol version
  {% endtab %}
  {% endtabs %}

{% hint style="warning" %}
An application should decline to connect to a HAS infrastructure whose protocol version is greater than the one it supports.
{% endhint %}
