> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Managing Webhooks

> Register the endpoints that receive Bank Transfer events, rotate their signing secret, and retry failed deliveries, from the Bank Transfer plugin in Lerian Console.

The **Webhooks** page of the **Bank Transfer** plugin registers the endpoints that receive Bank Transfer events. It also lists the deliveries that failed. For the events, the signature, and the retry schedule, see [Webhooks](https://docs.lerian.studio/en/interfaces/ted-jd/ted-webhooks.md).

Each Bank Transfer screen needs the `bank-transfer` permission: `get` to see it, `post` to act on it, `patch` to change settings and the routing document, and `delete` to delete a webhook. On this page, **Register webhook**, **Rotate signing secret**, and **Retry delivery** need `post`. **Edit**, **Enable**, and **Disable** need `patch`. **Delete** needs `delete`.

## Accessing the page

***

**1. Open Bank Transfer**

From the Midaz Module sidebar, expand **Bank Transfer**.

**2. Click Webhooks**

Select **Webhooks** in the submenu.

The page has two tabs: **Registrations** and **Failed deliveries**.

## Registrations

***

The **Registrations** tab lists your webhook registrations, 10 per page.

| Column | Description |
| - | - |
| Name | Name of the registration. |
| Endpoint | URL that receives the events. |
| Status | **Enabled** or **Disabled**. |
| Events | Number of event types that the registration receives. When the registration lists no event type, the column shows **All events**. |
| Updated | When the registration last changed. |
| Actions | **Edit**, **Enable** or **Disable**, **Rotate signing secret**, and **Delete**. |

### Register a webhook

**1. Open the form**

Click **Register webhook**.

**2. Fill in the fields**

* **Name**: a name for the registration.
* **Endpoint URL**: the URL that receives the events.
* **Enabled**: on by default.
* **Event types**: the events to receive. Leave the list empty to receive every event.

**3. Save**

Click **Save**.

**4. Copy the signing secret**

The **Signing secret** dialog shows the secret once. Copy it before you click **I've saved it**. Use the secret to verify the signature on every delivery.

If the copy fails, select the secret and copy it by hand before you close the dialog. If the dialog shows no secret, the plugin already made that secret available once. Rotate the signing secret to get a new one.

### Edit a webhook

Click **Edit** in the row actions. Change the fields, then click **Save**. The Console sends only the fields that you change.

### Enable or disable a webhook

Click **Disable** in the row actions of an enabled webhook, or **Enable** in the row actions of a disabled webhook.

### Rotate the signing secret

**1. Start the rotation**

Click **Rotate signing secret** in the row actions.

**2. Confirm**

Click **Rotate signing secret** in the dialog.

**3. Copy the new secret**

The **Signing secret** dialog shows the new secret once, as on registration.

> [!WARNING]
>
> Rotation invalidates the current secret at once. Deliveries fail verification until you deploy the new secret.

### Delete a webhook

Click **Delete** in the row actions, then confirm.

## Failed deliveries

***

The **Failed deliveries** tab lists the events that the plugin could not deliver after its automatic retries, 50 per page.

| Column | Description |
| - | - |
| Event | The event type. |
| Transfer | The transfer of the event. |
| Failure | Why the delivery failed. |
| Automatic retries | Number of automatic retries. |
| Manual retries | Number of manual retries. |
| Failed at | When the delivery failed. |
| Actions | **Retry delivery**. |

When the plugin does not expose the failed-delivery routes, the tab shows the message of the plugin instead of the list.

### Retry a delivery

**1. Start the retry**

Click **Retry delivery** in the row actions.

**2. Confirm**

Click **Retry delivery** in the dialog. The endpoint can receive the event more than once.

If the plugin refuses the retry because the delivery reached its maximum of manual retries, **Retry delivery** becomes unavailable on that row. Its hint reads **Maximum manual retries reached**.

## Related pages

***

> **[Webhooks](https://docs.lerian.studio/en/interfaces/ted-jd/ted-webhooks.md)**
>
> Events, signature verification, and the retry schedule.

> **[Developer guide](https://docs.lerian.studio/en/interfaces/ted-jd/ted-developer-guide.md)**
>
> Signature validation code and the integration checklist.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.