# Manage webhooks

{% hint style="info" %}
WORK IN PROGRESS
{% endhint %}

## Find all webhooks by Company ID

<mark style="color:blue;">`GET`</mark> `https://talos-app.io/api/webhook-integration/web-hooks/search/findByCompanyId`

Use this endpoint to find all the webhooks for a particular company.

#### Query Parameters

| Name      | Type   | Description                                                            |
| --------- | ------ | ---------------------------------------------------------------------- |
| companyId | string | The Company ID, as it is displayed on the evalink talos Web Interface. |

#### Headers

| Name           | Type   | Description                              |
| -------------- | ------ | ---------------------------------------- |
| Authentication | string | Use 'Bearer' followed by your API token. |

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

```
{    "{
```

{% endtab %}
{% endtabs %}

## Find all webhooks by Device ID

<mark style="color:blue;">`GET`</mark> `https://talos-app.io/api/webhook-integration/web-hooks/search/findByCompanyId`

Use this endpoint to find all the webhooks for a particular device.

#### Query Parameters

| Name     | Type   | Description             |
| -------- | ------ | ----------------------- |
| deviceId | string | The relevant device ID. |

#### Headers

| Name           | Type   | Description                              |
| -------------- | ------ | ---------------------------------------- |
| Authentication | string | Use 'Bearer' followed by your API token. |

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

```
{
  "_embedded": {
    "webHooks": [
      {
        "companyId": "string",
        "createdDate": 0,
        "defaultAlarmCode": "string",
        "defaultAlarmValue": true,
        "defaultAlarmZone": "string",
        "defaultTechnical": true,
        "defaultTestMessage": true,
        "description": "string",
        "deviceId": "string",
        "enabled": true,
        "entityStatus": "string",
        "id": "string",
        "invocationInterval": 0,
        "lastInvocationDate": 0,
        "name": "string",
        "nextInvocationTimeoutDate": 0,
        "periodic": true,
        "resumeImmediatly": true,
        "token": "string"
      }
    ]
  },
  "_links": {}
}
```

{% endtab %}
{% endtabs %}

## create a new webhook

<mark style="color:green;">`POST`</mark> `https://talos-app.io/api/webhook-integration/web-hooks`

Use this endpoint to create a new webhook.

#### Headers

| Name           | Type   | Description                              |
| -------------- | ------ | ---------------------------------------- |
| Authentication | string | Use 'Bearer' followed by your API token. |

#### Request Body

| Name               | Type   | Description |
| ------------------ | ------ | ----------- |
| periodic           | string |             |
| name               | string |             |
| invocationInterval | string |             |
| deviceId           | string |             |
| description        | string |             |
| defaultTechnical   | string |             |
| defaultAlarmCode   | string |             |
| companyId          | string |             |

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

```
{
  "companyId": "string",
  "createdDate": 0,
  "defaultAlarmCode": "string",
  "defaultAlarmValue": true,
  "defaultAlarmZone": "string",
  "defaultTechnical": true,
  "defaultTestMessage": true,
  "description": "string",
  "deviceId": "string",
  "enabled": true,
  "entityStatus": "string",
  "id": "string",
  "invocationInterval": 0,
  "lastInvocationDate": 0,
  "links": {
    "empty": true
  },
  "name": "string",
  "nextInvocationTimeoutDate": 0,
  "periodic": true,
  "resumeImmediatly": true,
  "token": "string"
}
```

{% endtab %}
{% endtabs %}

## delete a webhook

<mark style="color:red;">`DELETE`</mark> `https://talos-app.io/api/webhook-integration/web-hooks/{id}`

Use this endpoint to delete a new webhook.

#### Path Parameters

| Name | Type   | Description              |
| ---- | ------ | ------------------------ |
| id   | string | The relevant webhook id. |

#### Headers

| Name           | Type   | Description                              |
| -------------- | ------ | ---------------------------------------- |
| Authentication | string | Use 'Bearer' followed by your API token. |

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

```
```

{% endtab %}
{% endtabs %}

## update a webhook

<mark style="color:orange;">`PUT`</mark> `https://talos-app.io/api/webhook-integration/web-hooks/{id}`

Use this endpoint to update a new webhook.

#### Path Parameters

| Name | Type   | Description              |
| ---- | ------ | ------------------------ |
| id   | string | The relevant webhook ID. |

#### Headers

| Name           | Type   | Description                              |
| -------------- | ------ | ---------------------------------------- |
| Authentication | string | Use 'Bearer' followed by your API token. |

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

```
{
  "companyId": "string",
  "createdDate": 0,
  "defaultAlarmCode": "string",
  "defaultAlarmValue": true,
  "defaultAlarmZone": "string",
  "defaultTechnical": true,
  "defaultTestMessage": true,
  "description": "string",
  "deviceId": "string",
  "enabled": true,
  "entityStatus": "string",
  "id": "string",
  "invocationInterval": 0,
  "lastInvocationDate": 0,
  "links": {
    "empty": true
  },
  "name": "string",
  "nextInvocationTimeoutDate": 0,
  "periodic": true,
  "resumeImmediatly": true,
  "token": "string"
}
```

{% endtab %}
{% endtabs %}

## patch a webhook

<mark style="color:purple;">`PATCH`</mark> `https://talos-app.io/api/webhook-integration/web-hooks/{id}`

Use this endpoint to patch a new webhook.

#### Path Parameters

| Name | Type   | Description              |
| ---- | ------ | ------------------------ |
| id   | string | The relevant webhook ID. |

#### Headers

| Name           | Type   | Description                              |
| -------------- | ------ | ---------------------------------------- |
| Authentication | string | Use 'Bearer' followed by your API token. |

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

```
```

{% endtab %}
{% endtabs %}

## activate a webhook endpoint

<mark style="color:blue;">`GET`</mark> `https://talos-app.io/api/webhook-integration/incoming/{token}`

Use this endpoint to activate a webhook endpoint and notify evalink talos for a particular event.

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

```
```

{% endtab %}
{% endtabs %}

## create a webhook endpoint

<mark style="color:green;">`POST`</mark> `https://talos-app.io/api/webhook-integration/incoming/{token}`

#### Path Parameters

| Name | Type   | Description |
| ---- | ------ | ----------- |
|      | string |             |

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

```
```

{% endtab %}
{% endtabs %}

## activate a periodic webhook endpoint

<mark style="color:blue;">`GET`</mark> `https://talos-app.io/api/webhook-integration/periodic/{token}`

Use this endpoint to activate a webhook with periodic invocation

#### Path Parameters

| Name | Type   | Description |
| ---- | ------ | ----------- |
|      | string |             |

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

```
```

{% endtab %}
{% endtabs %}

## create a periodic webhook endpoint

<mark style="color:green;">`POST`</mark> `https://talos-app.io/api/webhook-integration/periodic/{token}`

Use this endpoint to create a webhook with periodic invocation

#### Path Parameters

| Name | Type   | Description |
| ---- | ------ | ----------- |
|      | string |             |

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

```
```

{% endtab %}
{% endtabs %}
