> For the complete documentation index, see [llms.txt](https://docs.transactionlink.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.transactionlink.io/docs/workflows/js-api/methods.md).

# Methods

Here are the methods available in our JavaScript API

#### Show

Make TransactionLinks widget reveal itself.

```javascript
window.transactionlink.open();
```

#### Hide

Hide TransactionLink widget.

```javascript
window.transactionlink.close();
```

#### SetOptions

Use this method to set options of widget.&#x20;

```javascript
window.transactionlink.setOptions({
  token: 'exampleToken'
});
```

#### Ready

Trigger a function when a widget is fully loaded.

```javascript
 window.transactionlink_ready = () => {
      transactionlink.setOptions({
          token: 'exampleToken'
      })
      window.transactionlink.open()
}
```

#### On

We expose the methods that allow reacting and listening to events emitted from the widget.

Listening for the event about opening widget

```javascript
transactionlink.on("widget-opened", () => {
    console.log("OPENED")
})
```

Listening for the event about closing widget

```javascript
transactionlink.on("widget-closed", () => {
    console.log("CLOSED")
})
```

Listening for the event about error

```javascript
transactionlink.on("error", () => {
    console.log("ERROR")
})
```

Listening for the event about workflow finished

```javascript
transactionlink.on("workflow-finished", (event) => {
    console.log(event)
})
```

#### UnmountWidget

Use this method to remove widget from DOM. Once unmounted, reload widget script and repeat initialisation of widget. \
(<https://docs.transactionlink.io/docs/js-api#how-to-implement-widget-communication>)

```
window.transactionlink.unmountWidget()
```
