> This page is for API.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.eon.io/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.eon.io/_mcp/server.

# Webhooks

This article describes how Eon delivers notifications to your webhook endpoint.

Eon sends an HTTP `POST` request with a `Content-Type` of `application/json` to the URL of the webhook target.
To configure Eon webhooks, see [Manage Notification Policies for Webhooks].

[Manage Notification Policies for Webhooks]: /data-protection/integrations/notifications/manage-notification-policies/webhooks

## Delivery requirements

Your endpoint must respond to each request as described here.
Eon doesn't sign requests, so your endpoint also needs to authenticate them.

### Expected response and timeout

Eon treats any 2xx status code as a successful delivery and ignores the response body.

| Requirement      | Details                                                   |
| ---------------- | --------------------------------------------------------- |
| Success response | Any `2xx` status code. Eon doesn't require exactly `200`. |
| Response body    | Ignored.                                                  |
| Timeout          | 10 seconds for each attempt.                              |

### Failures and retries

* Eon makes up to three attempts for each notification, one right after another.

* Eon waits for the response and times out after 10 seconds.

* After the third failed attempt, Eon drops the notification and doesn't retry it later.

For notifications that are critical to your operations, such as restore notifications, also poll the API as a redundancy.

### Ordering and duplicate deliveries

Your endpoint can receive the same notification more than once, so use the `X-Eon-Notification-Id` request header to detect and ignore repeats.
To handle possible repeat notifications, discard duplicates using a notification or event ID in the header or payload.

### Authentication

Eon doesn't sign requests.
Authenticate requests with custom headers that you set on the webhook target, such as `Authorization`, and check them in your endpoint.

| Requirement     | Details                                                                     |
| --------------- | --------------------------------------------------------------------------- |
| Request signing | Not provided. Eon doesn't sign requests.                                    |
| Authentication  | Custom headers that you set on the webhook target, such as `Authorization`. |
| Verification    | Your endpoint must check the headers.                                       |