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

# Configure webhooks

> Send WADial events to your application.

Configure webhooks when your app needs to react to token, message, receipt, call, or recording events. WADial sends metadata events only, not raw call audio.

## Create an endpoint

Create an HTTPS endpoint in your app that accepts `POST` requests with JSON:

```json theme={null}
{
  "id": "019f...",
  "type": "message.receipt",
  "createdAt": "2026-06-30T12:00:00.000Z",
  "sessionId": "019f...",
  "data": {}
}
```

Return a `2xx` response after your app stores or processes the event.

## Create the webhook

Call the webhook endpoint:

```http theme={null}
POST /api/v1/webhooks
Authorization: Bearer <api_key>
Content-Type: application/json
```

```json theme={null}
{
  "url": "https://example.com/wadial/webhook",
  "events": ["message.receipt", "call.ended", "call.recording.ready"]
}
```

WADial returns a signing secret once. Store it securely.

## Verify signatures

Each delivery includes these headers:

| Header              | Purpose                      |
| ------------------- | ---------------------------- |
| `wadial-event-id`   | Unique delivery event id     |
| `wadial-event-type` | Event name                   |
| `wadial-signature`  | Timestamp and HMAC signature |

Verify the signature before processing the event. Reject old timestamps and signatures that do not match your webhook secret.
