# The event object

Every webhook is an event with the same envelope: an ID, a type, when it was created, and the type’s data.

Source: https://www.miraven.com/developers/webhooks/events · Updated 2026-11-11

## The event object

```json
{
  "id": "evt_2b7c41e09f6a4b1d8f3e5a7c9d0b1e2f",
  "type": "call.analyzed",
  "created_at": "2026-11-03T19:12:04Z",
  "data": { … }
}
```

**Attributes**

- `id` (string): Unique ID for the event, also sent as the `webhook-id` header. Retries and resends keep it, so use it to skip duplicates.
- `type` (string): What happened, like `call.analyzed`. See [event types](https://www.miraven.com/developers/webhooks/events#types).
- `created_at` (string, ISO 8601): When the event was created, in UTC. It stays the same on retries.
- `data` (object): The object the event is about. Its shape depends on `type`.

## Event types

| Type | Sent when | data |
| --- | --- | --- |
| [`call.analyzed`](https://www.miraven.com/developers/webhooks/call-analyzed) | A call has ended, Miraven has processed it, and its recording is ready. | A call |

## Changes and versioning

- **We add, we don’t break.** New event types and new fields can appear at any time. Existing fields won’t change meaning or be removed without notice.
- **Be tolerant.** Ignore event types and fields you don’t recognize rather than rejecting the request.

## See also

- [Webhooks](https://www.miraven.com/developers/webhooks): Set up an endpoint, handle events, and how delivery works.
- [call.analyzed](https://www.miraven.com/developers/webhooks/call-analyzed): The call and recording sent after each call.
- [Verify webhook signatures](https://www.miraven.com/developers/webhooks/verifying-signatures): Check that each request came from Miraven.
