Skip to main content
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. 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

TypeDescription
authorizationCard authorization outcome (AVS/CVV results reveal data quality).
capturePayment captured.
refundAmount refunded.
voidAuthorization voided.
chargebackChargeback filed — the ground truth for fraud.
fraud_reportAn 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.

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. 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 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.

Blacklist

Auto-populate blocks from fraud and chargeback events.

Decisions

Resolve REVIEW decisions and notify backends.