> For the complete documentation index, see [llms.txt](https://seithq.gitbook.io/ncalayerjs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://seithq.gitbook.io/ncalayerjs/master.md).

# Welcome

## Installation

**Using npm:**

```
npm install @seithq/ncalayer
```

**Using yarn:**

```
yarn add @seithq/ncalayer
```

### Usage

```
import Client from "@seithq/ncalayer"

// Initialize websocket connection with running NCALayer.
let ws = new WebSocket("wss://127.0.0.1:13579/")

// Handle onopen, onerror and onclose events as you want.
ws.onopen = (e) => {
  // your code goes here
}

ws.onerror = (e) => {
  // your code goes here
}

ws.onclose = (e) => {
  // your code goes here
}

// Initialize client to work with API.
const client = new Client(ws)

// Call API method.
client.browseKeyStore("PKCS12", "P12", "", (data) => {
  // on success
  if (data.isOk()) {
    // some action
  }

  // on failure
  console.error(data)
})
```

{% hint style="info" %}
You have to pass `WebSocket` for `Client` constructor without modifying its`onmessage` event listener. Under the hood `Client` instance listen for `onmessage` and performs its internal callback inside it.
{% endhint %}
