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

# Lifecycle Events

> Feed transaction outcomes back to Specter to close the fraud feedback loop.

Fraud models and rules improve when they learn what happened **after** a decision. Lifecycle events report the
real outcome of a transaction — authorization, capture, chargeback, and more — back to Specter, which fans them
out to participating backends and uses them to auto-populate [blacklists](/products/specter/concepts/blacklist).

Submit an event with `POST /api/events`. Events are processed **synchronously**: the
response includes a `backend_notifications` entry for every backend call made before returning. Retrieve a
persisted event with `GET /api/events/{id}`.

## Event types

| Type            | Description                                                       |
| --------------- | ----------------------------------------------------------------- |
| `authorization` | Card authorization outcome (AVS/CVV results reveal data quality). |
| `capture`       | Payment captured.                                                 |
| `refund`        | Amount refunded.                                                  |
| `void`          | Authorization voided.                                             |
| `chargeback`    | Chargeback filed — the ground truth for fraud.                    |
| `fraud_report`  | An explicit fraud report.                                         |

## Request

An event references the originating `decision_id`; its `data` is a free-form map stored with the event and
forwarded to backends that support the event type.

```json theme={null}
{
  "type": "chargeback",
  "decision_id": "dec_01J...",
  "occurred_at": "2026-03-17T12:00:00Z",
  "data": { "amount": 1999, "reason": "4853" }
}
```

## Backend fan-out

Specter forwards each event to every backend that participated in the original decision and supports the event
type. Backends are reached through a [Link integration](/products/specter/concepts/backends).

A backend declares which event types it supports. When an event targets a type a backend does not support,
Specter records `status: "skipped"` — not an error. The `backend_notifications` array in the response reports
the outcome of every backend call.

## Blacklist auto-population

A [blacklist rule](/products/specter/concepts/blacklist) can listen for specific event types (`fraud_report`,
`chargeback`, `failed`) and automatically add the originating decision's field values to the blacklist — so a
card that produces a chargeback is blocked on its next attempt.

## Related

<CardGroup cols={2}>
  <Card title="Blacklist" icon="ban" href="/products/specter/concepts/blacklist">
    Auto-populate blocks from fraud and chargeback events.
  </Card>

  <Card title="Decisions" icon="check-double" href="/products/specter/concepts/decisions#resolving-a-review-decision">
    Resolve REVIEW decisions and notify backends.
  </Card>
</CardGroup>
