> For the complete documentation index, see [llms.txt](https://docs.onum.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.onum.com/listeners/listener-integrations/pull-data-from-http-endpoints/pull-data-from-the-tenable-api/vulnerabilities.md).

# Vulnerabilities

## Overview

Get a list of vulnerabilities through the [Tenable API](https://developer.tenable.com/reference/workbenches-vulnerabilities) using the **HTTP Pull** Listener.

## HTTP Pull Listener configuration

In Falcon Onum, go to the **Listeners** area and click **New Listener > HTTP Pull**. Give a name to your new Listener and enter the following data:

### Parameters

N/A

### Secrets

You must define these credentials in Onum:

* `accessKey` will reference your Tenable API access key.
* `secretKey` will reference your Tenable API secret key.

To do it, click **Add element** and enter a **Name** for the secret (in this case, `accessKey`). Then, click the **Value** field and select **New secret** to create a new one:

* Give the secret a **Name**.
* Turn off the **Expiration date** option.
* Click **Add new value** and paste the secret corresponding to the value.
* Click **Save**.

You can now select the secret you just created in the **Value** field list. Repeat the process for the `secretKey`.

{% hint style="info" %}
Learn more about secrets in Onum in [this article](/settings/organization-settings/secrets-management.md).
{% endhint %}

### Setup

After entering the required parameters and secrets, you can choose to manually enter the rest of configuration fields, or simply paste the given YAML:

{% tabs %}
{% tab title="Config as YAML" %}
Toggle **ON** the **Config as YAML** option to enable a free text field where you can paste the following YAML:

```yaml
withTemporalWindow: true
temporalWindow:
  duration: 24h
  offset: 24h
  tz: UTC
  format: "2006-01-02"
withAuthentication: false
withEnumerationPhase: false
collectionPhase:
  paginationType: "none"
  request:
    method: "GET"
    url: "https://cloud.tenable.com/workbenches/vulnerabilities"
    headers:
      - name: Accept
        value: "application/json"
      - name: Content-Type
        value: "application/json"
      - name: x-apikeys
        value: "accessKey=${secrets.accessKey}; secretKey=${secrets.secretKey}"
    queryParams:
      - name: date_range
        value: 1
  output:
    select: ".assets"
    map: "."
    outputMode: "element"
```

{% endtab %}

{% tab title="Manually configure" %}
**Temporal Window**

Toggle **ON** to add a temporal window for events. This repeatedly shifts the time window over which data is collected.

* **Duration** - `24h`
* **Offset** - `24h`
* **Format** - `RFC3339`

**Collection Phase**

* **Pagination Type** - `None`
* **Request**&#x20;
  * **Response Type** - `JSON`
  * **Method** - `GET`
  * **URL** - `https://cloud.tenable.com/workbenches/vulnerabilities`
* **Headers**
  * **Name** - `Accept`
  * **Value** - `application/json`
  * **Name** - `Content-Type`
  * **Value** - `application/json`
  * **Name** - `x-apikeys`
  * **Value** - `accessKey=${secrets.accessKey}; secretKey=${secrets.secretKey}`
* **Query Params**
  * **Name** - `date_range`
  * **Value** - `1`
* **Output**&#x20;
  * **Select** - `.vulnerabilities`
  * **Map** - `.`
  * **Output Mode** - `element`
    {% endtab %}
    {% endtabs %}

When you're done, click **Create labels** to move on to the next step and define the required [Labels](https://app.gitbook.com/o/9sm794iTBacZSmhxRER6/s/kxZeV4nlXcIAjMGZxzLI/the-workspace/listeners/labels) if needed.
