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

# Webhook event types

> Alert webhook event types, when each fires, and which alert types apply.

When alert webhooks are configured for your account, Chargeblast delivers notifications to your endpoint. Each request includes the headers and signing scheme described in [Webhooks](/api-reference/webhooks/setup), including **`X-Event-Type`**, whose value is one of the event types below.

<Info>
  **`alertCategory`** reflects the alert type (for example **Ethoca**, **CDRN**, **RDR**, **TC40**). Which types each webhook event supports is defined in the table; some events omit certain types by design.
</Info>

For payload field definitions and authentication, see [Webhooks](/api-reference/webhooks/setup).

***

## Event type reference

| Event type                  | Alert types supported   | Circumstance                                                                                                         | Notes                                                                                                                                                                          |
| --------------------------- | ----------------------- | -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `alert.created`             | Ethoca, CDRN, RDR, TC40 | A new alert exists and a “created” notification is emitted.                                                          | Includes provider ingest, Verifi/RDR notification paths where enabled, and manual replay/test.                                                                                 |
| `alert.updated`             | Ethoca, CDRN, RDR, TC40 | The alert was updated in a way that should notify subscribers **and** it already has a matched charge.               | **Not sent** if there is no matched charge id (unmatched alerts skip this event).                                                                                              |
| `alert.refunded`            | Ethoca, CDRN, RDR       | The system treats the alert as refunded (or, on some Verifi paths, ingested already resolved/refunded).              | **Does not apply to TC40.** Can arrive shortly after `alert.created` when an alert is delivered already resolved.                                                              |
| `alert.matched`             | Ethoca, CDRN, RDR, TC40 | The alert is **confirmed matched** to a **single** charge.                                                           | Payload includes **match** details; same charge re-saved does not re-fire.                                                                                                     |
| `alert.will_expire`         | Ethoca, CDRN            | Fires approximately **46-48 hours before** the alert expires, for eligible **WIP** alerts that still need attention. | **RDR** and **TC40** are not selected for this event. **At most once per alert** (deduped).                                                                                    |
| `alert.within_refund_rules` | Ethoca, CDRN, RDR       | Fires when an alert is **within** your configured **automation rules** (rules engine evaluation).                    | **Does not apply to TC40.** Not every delivery implies a later `alert.refunded` - a refund attempt can still **fail** downstream. No dedupe - repeated flows could send again. |

***

## Event details

### `alert.created`

Fires when an alert record is first created and a created-style notification should go to subscribers. Covers normal provider ingest, Verifi/RDR notification paths when enabled, and **manual replay or test** sends from tooling.

### `alert.updated`

Fires when an alert change should notify subscribers **and** the alert **already has a matched charge** (matched charge id present). Updates on **unmatched** alerts do **not** produce this event.

### `alert.refunded`

Fires when Chargeblast treats the alert as **refunded**, including cases where Verifi delivers the alert **already resolved/refunded**. Can appear in quick succession after `alert.created` when the inbound state is pre-resolved. **Not emitted for TC40.**

### `alert.matched`

Fires when the alert is **confirmed matched** to a **single** charge. The payload includes **match** metadata. Saving the **same** matched charge again without a meaningful change does **not** emit another `alert.matched`.

### `alert.will_expire`

**Ethoca and CDRN only.** A scheduled job emits this approximately **46-48 hours before** the alert expires, for eligible **WIP** alerts that still need attention. **RDR** and **TC40** are **not** included. Each alert receives this event **at most once** (deduped).

### `alert.within_refund_rules`

Fires when an alert is **within** your configured **automation rules** after the rules engine evaluates it (**Ethoca, CDRN, and RDR** only; **not TC40**). There is **no deduplication**; the same alert could receive this event again if the qualifying flow runs more than once. **Not every** `alert.within_refund_rules` is followed by `alert.refunded`; the refund step can still **fail** (or never run) even when this event fires.

***

## Related

* [Webhooks](/api-reference/webhooks/setup) - Headers, body schema, signature verification
* [Alert types](/reference/alert-types) - Ethoca, CDRN, RDR, TC40, and other networks
