# Event types

> Every webhook event Borga sends, when it fires and what its data field contains.

Source: https://docs.borga.is/api/events

Events are delivered to your [webhook endpoints](/webhooks) as JSON with four fields:

**The event object**

- `id` (string): Unique id, prefixed `evt_`. Use it to deduplicate retried deliveries.
- `type` (string): One of the types below, such as `payment.succeeded`.
- `created_at` (timestamp): When the event was created.
- `data` (object): The object the event is about, or a summary for lifecycle events. Listed per type below.

Subscribe to specific types when you create an endpoint, or to `*` for everything. Unknown types may appear as Borga grows; ignore what you do not handle.

```json Example
{
  "id": "evt_5Rt8Uv1Wx3Yz5Ab7Cd9Ef1Gh",
  "type": "payment.succeeded",
  "created_at": "2026-09-07T12:04:31.512Z",
  "data": {
    "id": "pay_7Hs2Kq9LmW4xZc1Vb8Ny3Rt6",
    "amount": 12900,
    "currency": "ISK",
    "status": "succeeded",
    "customer": null,
    "description": null,
    "metadata": { "order_id": "5678" },
    "collection_method": "card",
    "refunded_amount": 0,
    "external_reference": "order_5678",
    "failure_reason": null,
    "card_brand": "visa",
    "card_last4": "4242",
    "wallet_type": null,
    "created_at": "2026-09-07T12:03:58.201Z",
    "updated_at": "2026-09-07T12:04:31.498Z"
  }
}
```

## Catalog

_(EventCatalog table: see the HTML page)_

Objects referenced as "the Payment object", "the Subscription object" and so on have exactly the shape of the corresponding `GET` response. For summary payloads, fetch the object by its `id` when you need the full state.
