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

# Eventos de webhook

> Tipos de eventos que envía Kairo Shield

| Evento                  | Cuándo se envía                                                |
| ----------------------- | -------------------------------------------------------------- |
| `transaction.scored`    | Transacción evaluada con riesgo bajo/medio (decisión estándar) |
| `transaction.high_risk` | Transacción con riesgo alto o decisión REVIEW por score        |
| `transaction.blocked`   | Transacción bloqueada (decisión REJECT)                        |
| `alert.created`         | Se creó una alerta de fraude en el portal                      |
| `alert.status_changed`  | Cambió el estado de una alerta                                 |
| `alert.escalated`       | Alerta escalada                                                |
| `feedback.received`     | Se registró feedback confirmado vía API                        |

<Note>
  Por cada transacción evaluada se emite **un solo** evento de transacción: el más específico disponible (`blocked` → `high_risk` → `scored`). Si está suscrito a varios, igual recibe un único POST por score.
</Note>

## Encabezados de entrega

| Encabezado          | Descripción                         |
| ------------------- | ----------------------------------- |
| `Content-Type`      | `application/json`                  |
| `X-Kairo-Signature` | `sha256={HMAC-SHA256 del body raw}` |
| `X-Kairo-Event`     | Nombre del evento                   |
| `X-Kairo-Delivery`  | ID único del envío                  |
| `X-Kairo-Timestamp` | Marca de tiempo ISO 8601 UTC        |

## Ejemplo — transaction.scored

```json theme={null}
{
  "event": "transaction.scored",
  "timestamp": "2025-06-15T14:30:00Z",
  "data": {
    "transaction_id": "550e8400-e29b-41d4-a716-446655440000",
    "client_id": "fintech_a",
    "fraud_score": 0.15,
    "risk_level": "LOW",
    "decision": "APPROVE",
    "decision_source": "MODEL",
    "model_version": "kairo-shield",
    "threshold_used": {"low_max": 0.25, "medium_max": 0.55, "high_max": 0.80},
    "scored_at": "2025-06-15T14:30:01Z"
  }
}
```

Los reintentos usen backoff exponencial según la `retry_policy` configurada (o valores por defecto de plataforma).
