# Webhook Integration

{% hint style="warning" %}
Webhook integration "***Preview***" document
{% endhint %}

{% hint style="danger" %} <mark style="color:red;">**Disclaimer: The schemas (data fields) of webhook messages you receive in your application may be updated at any time without prior notice, but only backwards compatible changes will be made (adding fields, we won't delete fields, nor change the name or type of fields). While we strive to keep this documentation up-to-date, please refer to the**</mark><mark style="color:red;">**&#x20;**</mark>*<mark style="color:red;">**built-in svix documentation (Event Catalog in your Integration Application)**</mark>*<mark style="color:red;">**&#x20;**</mark><mark style="color:red;">**for the latest information.**</mark>
{% endhint %}

<details>

<summary>Table of Contents</summary>

* [What is a Webhook](#what-is-a-webhook)
* [How Webhooks Work](#how-webhooks-work)
* [Advantages of using Webhooks](#advantages-of-using-webhooks)
* [Webhook Configuration](#webhook-configuration)
* [Adding an Endpoint](#adding-an-endpoint)
* [Viewing Messages](#view-messages)
  * [Message Attempts](#message-attempts)
  * [Replay messages](#replay-messages)
  * [Filtering Event Types/Messages](#filtering-event-types-messages)
* [Event Catalog](#event-types)
  * [Event Types](#event-types)
    * [alert-event.new](#alert-event.new)
    * [alert.new](#alert.new)
    * [wf.measurement.new](#wf.measurement.new)
* [Editing an Endpoint](#edit-an-endpoint)
* [Editing Subscribed Events](#edit-subscribed-events)
* [Testing End Points](#testing-endpoints)
* [Disabling an Endpoint](#disabling-an-endpoint)
* [Deleting an Endpoint](#deleting-an-endpoint)

</details>

*Dryad allows customers to receive sensor data via **webhooks** using the new **Silvanet API integration** feature in the **Silvanet Site Management Application**.*

## What is a Webhook

***Webhooks send messages on specific events in formats like JSON, XML, or form-encoded data to specific HTTP(S) endpoints configured in your application. Silvanet uses JSON as the content type for its webhook messages.***

## How Webhooks Work

A webhook is a service that listens for specific events and sends a message to a designated URL (the endpoint) on your application when those events occur. For example, Dryad can send a webhook every time a fire alert event occurs, which will then be displayed in your application within the Silvanet Site Management Application.

The webhook consists of the following entities:

* **Messages** - These are the webhooks being sent. A message can have contents and a few other properties.
* **Application** - This is where the messages are sent to. You can create one application per organization on your platform.
* **Endpoints** - Endpoints are the URLs messages will be sent to. Each application can have multiple endpoints, and each message sent to that application will be delivered to all of them, unless you are not subscribed to specific events for each endpoint. Endpoints listen for webhook messages.
* **Event** - When an event occurs, it triggers a webhook message.

The following diagram shows how webhooks are sent to your endpoint if a specific event occurs.

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FIhF1X51wRUc7TrkZdxLc%2Fimage.png?alt=media&#x26;token=1163ca59-59c5-49ee-b589-5dc7df978c73" alt=""><figcaption><p>Dryad Webhook mechanism for delivering messages</p></figcaption></figure>

## Advantages of Using Webhooks

* Customers can add any number of endpoints to their application (Webhook  Portal) and edit them.&#x20;
* Customers can choose which event types are sent to which endpoint. By default, all messages are sent to all endpoints.&#x20;
* Webhooks use stateless HTTP requests to ensure that no persistent connections are required.&#x20;
* Webhooks follow an event-driven model, where a message is triggered only when specific events occur, reducing unnecessary communication.
* Webhooks allow replaying past and failed messages.

## Webhook Configuration

The **Silvanet API integration** feature in the **Silvanet Site Management Application** allows you to configure webhooks by creating an **application** for each **organization** you have and then adding **endpoints** to each application. With these endpoints, you can subscribe to the event types you want, view messages, and recover/replay past and failed messages.

{% hint style="danger" %}
Only **Admins** and **Super Admins** are allowed to use the **Silvanet API integration** feature to create applications and configure additional settings.
{% endhint %}

## Creating an Integration Application

* Log in to the **Silvanet Site Management Application** using your credentials.
* On the sidebar, click **API Integration**.

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FxUvB1zSJIhnQhiXxdjtD%2FScreenshot%202025-02-10%20at%2018.31.23.png?alt=media&#x26;token=8b173b23-cc89-487d-b72f-1ada5ee82dea" alt=""><figcaption></figcaption></figure>

* The **Silvanet API Integration dashboard** appears.

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2F4R5XFwwPQOYJzPLj4oxF%2Fpr-1429.dev.dryad.app_integrations(Laptop%20with%20HiDPI%20screen).png?alt=media&#x26;token=19af4554-6287-42d8-8040-6edb3f165ef5" alt=""><figcaption></figcaption></figure>

* Click on the **Create Application** button to create a new **integration application**.

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FkBltQ1AipV9jD5taiagm%2FScreenshot%202025-02-10%20at%2018.45.14.png?alt=media&#x26;token=c4ae387d-657e-42d0-b624-9e172fdd0c5e" alt="" width="563"><figcaption></figcaption></figure>

* In the **Create a New Integration Application** dialog box, select the organization for which you want to create the application. For example, `Dryad Internal`.

{% hint style="info" %}
*You can create only one application per organization.*
{% endhint %}

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FDAkjH32La7mhEWeWX1WB%2FScreenshot%202025-02-10%20at%2019.02.56.png?alt=media&#x26;token=2cf79bbb-461e-43a8-911c-ef30df1de372" alt="" width="563"><figcaption></figcaption></figure>

* Click on the **Submit** button to create the application.

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FJbPwyMSysyYKibWASPuG%2FScreenshot%202025-02-10%20at%2019.06.38.png?alt=media&#x26;token=e8b48cf2-b120-498d-9e4a-bcbb02aa8bea" alt="" width="563"><figcaption></figcaption></figure>

* The application you created will be listed under **Current API Integrations**.

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2F87zWFTEUpfDSjmwm3nFM%2FScreenshot%202025-02-10%20at%2019.14.35.png?alt=media&#x26;token=285984da-88c7-4266-9de5-c1d3fc552c27" alt=""><figcaption></figcaption></figure>

## Adding an Endpoint

To receive messages, you need to add an **endpoint** to the **Application**. Of course, you can add more than one endpoint.

* On the **Silvanet API Integration** page, under **Current API Integrations**, click on the **application name**  you want to configure.
* The application page appears, and the application name can be seen at the top left of the page.
* Click **Endpoints** tab if it is not selected by default.
* Click on the **Add Endpoint** button.

{% hint style="info" %}
You can add more than one endpoint for each application.
{% endhint %}

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2Fxg7xZg3Bab1Y6Qra1o4P%2FScreenshot%202025-02-10%20at%2020.31.18.png?alt=media&#x26;token=6aa38a3b-2772-4395-947b-8cbf8ccd9df1" alt=""><figcaption></figcaption></figure>

On the **New Endpoint** page, configure the following:

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FzbUTeoq4oPTnalwbHkPb%2FScreenshot%202025-02-10%20at%2020.41.36.png?alt=media&#x26;token=1d9576a7-4b97-4e87-8229-f4d7d13617cc" alt=""><figcaption></figcaption></figure>

* **Endpoint URL** -Enter your endpoint URL here. If you don't have an endpoint, you can click on the option **"Configure an endpoint or test with Svix Play."** This will automatically generate an endpoint and fill the textbox for you. You can also use a service like [webhook.site](https://webhook.site/) to generate a URL for your HTTP endpoint.
* **Description** - Enter an optional description here mentioning what the endpoint is used for.
* **Subscribe to events -** Select one or more event types that you want to subscribe to by clicking on the checkboxes. If you want to add all the event types of a specific group, just click on the group.

{% hint style="info" %}
If you don't subscribe to any event types, your endpoint will receive messages for all event types by default.
{% endhint %}

* **(**<mark style="color:red;">**Optional**</mark>**) Advanced Configuration - click to expand this section.**
  * Select **Endpoint rate limiting (throttling)** checkbox.
  * **Rate Limit (per second)** - provide the maximum number of webhook messages allowed to send to this endpoint *per second*. For example, enter `10`, if you want to limit it to 10 messages per second. 0 means unlimited.

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2F4wZsefo9zu2dRJySAsuL%2FScreenshot%202025-02-11%20at%2015.14.05.png?alt=media&#x26;token=773e4677-1c29-4f29-a226-7f60aae3dd22" alt=""><figcaption></figcaption></figure>

* Click on the **Create** button.
* The endpoint is added to your application. Your page should look something similar to the following:

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FGnuCSZeaurbvtosGH6Qn%2FScreenshot%202025-02-10%20at%2021.02.45.png?alt=media&#x26;token=1ca23428-a4c6-4a9d-9299-32dd8160f2f6" alt=""><figcaption></figcaption></figure>

## Viewing Messages

With the **Endpoints** tab selected, scroll down the page until you can see the table view. It shows all the received messages with their **EVENT TYPE**, **MESSAGE ID**, and **TIMESTAMP.**&#x20;

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FhDkD3i1CapRRsld3flP5%2FScreenshot%202025-02-11%20at%2008.59.15.png?alt=media&#x26;token=e1e055b0-f233-4bfa-8e66-952d443aebde" alt=""><figcaption></figcaption></figure>

* From the table, click a message to view its content. You will be switched to the **Logs** tab. The **message content** is simply a JSON object.&#x20;

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FD2nMt07rIc8YTuWHfbRS%2FScreenshot%202025-02-24%20at%2014.30.26.png?alt=media&#x26;token=4a0a7568-824d-4e63-9e32-308580d460e6" alt=""><figcaption></figcaption></figure>

### **Message Attempts**

There are two types of message attempts, labelled as:

* <img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FDgkybZOmieAkcMDiwQNE%2FScreenshot%202025-02-11%20at%2013.35.29.png?alt=media&#x26;token=7c4e23b5-8fd1-427c-9a92-f75defc0999e" alt="" data-size="line">indicates a webhook event that was successful and has sent a webhook message to your application.
* <img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FbBgDZtlTYkACnUW1e49G%2FScreenshot%202025-02-11%20at%2013.35.41.png?alt=media&#x26;token=52c03862-63b5-4b4a-bd2f-b9b6b18e8d3b" alt="" data-size="line">indicates a webhook event that failed due to the unavailability or disabling of the endpoint, or because of a server error.

### Replay Messages

Use the following options to replay messages to recover past and failed messages:

* **Replay all messages** - You can replay the past or failed all the messages  using the <img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FN1r8Ej9u0Maj3dd8y6NA%2FScreenshot%202025-02-11%20at%2014.20.38.png?alt=media&#x26;token=13022e8c-e36b-4719-b86f-a71d8d5183ee" alt="" data-size="line">**replay** button to receive those webhook messages to your application.
* **This option is suitable to replay all the messages from some point in the past.**
  * In the table, use the **TIMESTAMP** to find the message that closest to the desired time. For example, if you want to replay all messages starting from 2:54 PM, locate the message with the nearest timestamp. Click on the <img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FtkeiEa3G3Lxo5vKSHjen%2FScreenshot%202025-02-11%20at%2015.57.36.png?alt=media&#x26;token=cc2bab32-3626-4514-a962-fb17be785708" alt="" data-size="line">three dotted menu of that message and then select **Replay**.

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FJCDhsh6Ayl86oWyCx4hq%2FScreenshot%202025-02-11%20at%2015.48.38.png?alt=media&#x26;token=9e740295-4b97-454e-8f3b-83b8f5ccebd7" alt=""><figcaption></figcaption></figure>

* The following dialog box will appear with three options:
  * **Resend this message** - select this option to replay the message you selected from the table.
  * **Resend all failed messages since** - this will replay all the failed messages since the event time of this message.
  * **Replay all missing messages since** - this will replay all the messages that never attempted for this endpoint since the event type of this message.

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FJjPlfHPHlqmFbxlcfyzp%2FScreenshot%202025-02-11%20at%2015.23.18.png?alt=media&#x26;token=d192c7c9-d042-48b3-954d-85bd07e90da3" alt="" width="375"><figcaption></figcaption></figure>

### Filtering Event Types / Messages

There are several ways you can filter messages.

* Filter event types or messages by message attempts using the following buttons:&#x20;
  * All
  * Succeeded
  * Failed
* Using the Filters: Click on the Filters menu to expand it.
  * **Event Types:** Filter messages by event types by clicking on Filters > Event Type and searching for or selecting the event type(s).
  * **Tags:** Filter messages by tags.
  * **After Date / Before Date:** If you know approximately when the message was sent, you can further narrow down the list using the date filter.

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FLOmI81wWFwJ3m6IzxXn3%2Fimage.png?alt=media&#x26;token=0a3e192d-5204-4bfd-8f3e-eeaf18a3441c" alt="" width="344"><figcaption></figcaption></figure>

## Event Catalog

*The **Event Catalog** can be treated as the **built-in svix documentation** for **webhook integration**, which provides **up-to-date information** about **event types**, their **schemas**, and **examples**.*

{% hint style="danger" %} <mark style="color:red;">**Disclaimer: The schemas (data fields) of webhook messages you receive in your application may be updated at any time without prior notice, but only backwards compatible changes will be made (adding fields, we won't delete fields, nor change the name or type of fields). While we strive to keep this documentation up-to-date, please refer to the**</mark><mark style="color:red;">**&#x20;**</mark>*<mark style="color:red;">**built-in svix documentation (Event Catalog in your Integration Application)**</mark>*<mark style="color:red;">**&#x20;**</mark><mark style="color:red;">**for the latest information.**</mark>
{% endhint %}

Click **Event Catalog** tab. It lists and describes all the **event types** we expose.

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FlyCd6xgeNKyL5SiQRSRg%2FScreenshot%202025-02-11%20at%2009.29.09.png?alt=media&#x26;token=1b1da308-19a1-4660-a42c-2d3162dd00b0" alt=""><figcaption></figcaption></figure>

### Event Types

Click on an **event type** to expand its content. You can see its **schema** and **example JSON payload**.

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FhWqHPiFez8RyISVfMvzI%2FScreenshot%202025-02-20%20at%2013.33.09.png?alt=media&#x26;token=44e4bfae-508d-4551-a219-76f21f062901" alt=""><figcaption></figcaption></figure>

Currently Dryad exposes three **event types**:

### <mark style="color:red;">alert-event.new</mark>

A new relevant gas scan has been received in the context of an active alert.

**Schema:**

<div align="left"><figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2F6cKmsxitVL5vR8T2KiBZ%2FScreenshot%202025-02-20%20at%2013.14.04.png?alt=media&#x26;token=7c131ba6-bce0-497f-934d-cfe8328f3cbe" alt="" width="284"><figcaption></figcaption></figure></div>

**Example:**

```json
{
  "alert": "https://dryad.app/alert-center/63a6a704-5a7a-4d43-9716-10de0d7cc182",
  "confidence_level": 0.89,
  "datetime": "2024-04-30T18:10:00.000Z",
  "device": {
    "coordinates": {
      "coordinates": [
        13.404954,
        52.520008
      ],
      "type": "Point"
    },
    "eui": "CC1BAA0010000025",
    "name": "SN 12571"
  },
  "severity": "alert",
  "urn": "urn:forestfloor:alert-event:84382a41-f97f-441a-bb13-e141b2c4779b"
}
```

### <mark style="color:red;">alert.new</mark>

A new fire alert has been triggered.

**Schema:**

<div align="left"><figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FBL4s74ssv4Ly9QkvSadS%2FScreenshot%202025-02-20%20at%2013.19.35.png?alt=media&#x26;token=4166440b-38a6-49ce-8ba4-24e8b64be37f" alt="" width="256"><figcaption></figcaption></figure></div>

**Example:**

```json
{
  "datetime": "2024-04-30T18:10:00.000Z",
  "site": {
    "name": "If Berlin was a Forest",
    "url": "https://dryad.app/sites/999",
    "urn": "urn:forestfloor:site:baee084d-f6cf-45b0-8227-ac7bdad6ed49"
  },
  "url": "https://dryad.app/alert-center/63a6a704-5a7a-4d43-9716-10de0d7cc182",
  "urn": "urn:forestfloor:alert:63a6a704-5a7a-4d43-9716-10de0d7cc182"
}
```

### <mark style="color:red;">wf.measurement.new</mark>

Wildfire sensor environmental measurement received.

**Schema:**

<div align="left"><figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2F1NSm5wHTfHVNRbspbG13%2FScreenshot%202025-02-20%20at%2013.30.35.png?alt=media&#x26;token=ae8e456b-3bea-4930-976f-d5fd131d7427" alt="" width="258"><figcaption></figcaption></figure></div>

**Example:**

```json
{
  "air_pressure": 102331,
  "air_quality": 145,
  "datetime": "2024-04-30T18:10:00.000Z",
  "device": {
    "coordinates": {
      "coordinates": [
        13.404954,
        52.520008
      ],
      "type": "Point"
    },
    "eui": "CC1BAA0010000025",
    "name": "SN 12571"
  },
  "energy_level": 0.67,
  "humidity": 57,
  "site": {
    "name": "If Berlin was a Forest",
    "url": "https://dryad.app/sites/999",
    "urn": "urn:forestfloor:site:baee084d-f6cf-45b0-8227-ac7bdad6ed49"
  },
  "temperature": 18.4
}
```

## Editing an Endpoint

Follow the steps below if you want to update the endpoint URL.

* Navigate to your application and select the **Endpoints** tab if it is not selected by default. Then select the **Endpoint** you want to edit under the Endpoints. This will expand the Endpoint configuration section.

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FcM2Mk7YChKJbZa7QdF7x%2FScreenshot%202025-02-11%20at%2011.01.52.png?alt=media&#x26;token=5db0763a-3042-458d-b4b3-806b4f4ca650" alt=""><figcaption></figcaption></figure>

* Click on the **Edit** button next to the existing endpoint URL.

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FU9O6apSD3JzBrNvui5DJ%2FScreenshot%202025-02-11%20at%2010.49.37.png?alt=media&#x26;token=63eb929b-8ccd-4f36-b66c-1ac8c539c3e6" alt=""><figcaption></figcaption></figure>

* Replace the **existing endpoint URL** with the **new endpoint URL**.
* Click on the **Save** button.

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FAjHej72iGGk3V6IzCJ9A%2FScreenshot%202025-02-11%20at%2010.54.00.png?alt=media&#x26;token=45635066-a3fe-4814-8e6e-75f58c10d4d9" alt=""><figcaption></figcaption></figure>

## Editing Subscribed Events

With your application, you can edit your subscribed events on each endpoint at any time.&#x20;

* Navigate to your application and select the **Endpoints** tab if it is not selected by default. Then select the **Endpoint** you want to edit the subscribed events. This will expand the Endpoint configuration section.
* In the right-side panel, under the **Subscribed Events** section, you can see which events you are subscribed to for this endpoint.
* Click the **Edit** button.

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FKePMAY1lhy4J67jlLNST%2FScreenshot%202025-02-11%20at%2011.37.19.png?alt=media&#x26;token=f8ff82c0-17ff-4b5f-9f4d-29c16f9b9287" alt="" width="346"><figcaption></figcaption></figure>

* Select or deselect the **event types** you want to **subscribe to** or **unsubscribe from**.
* Click the **Save** button.&#x20;

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FNYLNjYAAKUa9L28jWttu%2Fimage%20(6).png?alt=media&#x26;token=d033c02d-f99a-4c6e-8f97-f56259c1403a" alt="" width="319"><figcaption></figcaption></figure>

## Testing Endpoints

This feature allows you to test your endpoint to see if it will receive messages.

Navigate to your application and select the **Endpoints** tab if it is not selected by default. Then select the **Endpoint** you want to test. This will expand the Endpoint configuration section.

* Go to the **Testing** tab.
* Select an **event type** from the dropdown you want to test.

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FT4jeo1SqUaF4pTa1YrsN%2FScreenshot%202025-02-11%20at%2011.45.03.png?alt=media&#x26;token=ffabfdcf-9f1c-47ac-9bc1-f63fed4de2ee" alt=""><figcaption></figcaption></figure>

* Once you select an event type, its schema will display on the page along with an example JSON payload so you can see what fields will be sent with the message.
* Click **Send Example** button to send the message.

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FA0UfE7cB84FNoJePH1lz%2FScreenshot%202025-02-24%20at%2014.27.40.png?alt=media&#x26;token=60942b20-a525-4b66-b5dd-f54ecf1fb0f3" alt=""><figcaption></figcaption></figure>

After sending a message for an event, if successful, you will be able to see it on the **Overview** tab.

## Disabling an Endpoint

Navigate to your application and select the **Endpoints** tab, if it is not selected by default. Then select the **Endpoint** you want to disable. This will expand the Endpoint configuration section.

Disabling an endpoint will stop messages from being sent to that endpoint.

* In the <img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FtkeiEa3G3Lxo5vKSHjen%2FScreenshot%202025-02-11%20at%2015.57.36.png?alt=media&#x26;token=cc2bab32-3626-4514-a962-fb17be785708" alt="" data-size="line">top-right menu, click **Disable Endpoint**.&#x20;

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FUoTx9tmf3qHlqV0ZnRqb%2FScreenshot%202025-02-11%20at%2012.02.53.png?alt=media&#x26;token=ea4d37e8-2bfb-4ed8-8ab8-5d066386a5b7" alt="" width="340"><figcaption></figcaption></figure>

* Once disabled, a label named `Disabled` will appear on the endpoint page, as shown below.

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FG8L2z0qr4tYqSSvsTN1f%2FScreenshot%202025-01-16%20at%2016.40.41.png?alt=media&#x26;token=9dadfeb7-f5e0-4e81-ba83-1e7f4b347082" alt="" width="375"><figcaption></figcaption></figure>

To enable the endpoint again, click **Enable Endpoint** from the same menu.

## Deleting an Endpoint

Navigate to your application and select the **Endpoints** tab, if it is not selected by default. Then select the **Endpoint** you want to delete. This will expand the Endpoint configuration section.

On the <img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FtkeiEa3G3Lxo5vKSHjen%2FScreenshot%202025-02-11%20at%2015.57.36.png?alt=media&#x26;token=cc2bab32-3626-4514-a962-fb17be785708" alt="" data-size="line">top-right menu, click **Delete**. This will permanently delete the endpoint from your application and cannot be undone.&#x20;

<figure><img src="https://385789020-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEc1zh615gqvbM1cIOJeV%2Fuploads%2FU3PtfczXwhTki7CxkffJ%2FScreenshot%202025-02-11%20at%2012.37.19.png?alt=media&#x26;token=ee4c1974-1e75-461d-aa03-de2424c729ed" alt="" width="335"><figcaption></figcaption></figure>
