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

# Webhook Event Catalog

> Every webhook event type Mnemom can deliver to your organization's webhook endpoints, grouped by category, with the exact data fields each one carries.

52 event types your org's webhook endpoints can subscribe to. Every event uses the same envelope
(see [Webhook Notifications](/guides/webhooks) for delivery, signing, and retry mechanics):

```json theme={null}
{
  "id": "evt-a1b2c3d4",
  "type": "integrity.violation",
  "created_at": "2026-05-09T18:30:00.000Z",
  "account_id": "acct-3f8a1b2c",
  "data": { "...": "event-specific fields, shown per event below" }
}
```

Subscribing to a new endpoint defaults to `event_types: []` (none) — explicit per-event opt-in
is required. See [Create a webhook endpoint](/guides/webhooks#create-an-endpoint).

***

## Integrity (AIP)

Fired from the gateway's per-turn integrity analysis.

### `integrity.checkpoint`

Fired on every AIP analysis run, regardless of verdict. Subscribe here for a complete audit
trail; subscribe to `integrity.violation` instead if you only want to page on violations.

```json theme={null}
{ "checkpoint_id": "chkpt-5d7e9f01", "agent_id": "agt-customer-bot-v3", "session_id": "sess-7c8d9e0a", "verdict": "clear", "concerns": [], "reasoning_summary": "..." }
```

### `integrity.violation`

Fired when AIP analysis returns a `boundary_violation` verdict. A companion `integrity.checkpoint`
always fires for the same checkpoint — this event is a filtered subset of it.

```json theme={null}
{ "checkpoint_id": "chkpt-5d7e9f01", "agent_id": "agt-customer-bot-v3", "session_id": "sess-7c8d9e0a", "verdict": "boundary_violation", "concerns": ["..."], "reasoning_summary": "..." }
```

### `conscience.escalation`

Fired when AIP analysis detects a conscience-value conflict in agent reasoning beyond a routine
boundary check.

```json theme={null}
{ "checkpoint_id": "chkpt-xyz", "agent_id": "agt-x", "session_id": "sess-y", "conflicts": [{ "rule": "respects_user_consent", "severity": "high" }], "verdict": "boundary_violation" }
```

### `conscience.values_updated`

Fired when an org owner/admin creates, updates, or removes an org-level conscience value.

```json theme={null}
{ "org_id": "org-acme", "action": "create", "value_id": "cv-respects-consent", "actor": "user-owner-42" }
```

***

## Alignment traces (AAP)

Fired when an AAP alignment trace is verified.

### `trace.created`

```json theme={null}
{ "trace_id": "trc-abc", "agent_id": "agt-x", "session_id": "sess-y" }
```

### `trace.verified`

Fired when a trace passes verification (signature, chain, and boundary checks).

```json theme={null}
{ "trace_id": "trc-abc", "agent_id": "agt-x", "verification_id": "ver-def" }
```

### `trace.failed`

Fired when a trace fails verification — signature mismatch, chain break, or boundary violation.

```json theme={null}
{ "trace_id": "trc-abc", "agent_id": "agt-x", "failure_reason": "signature_mismatch" }
```

### `trace.escalation_required`

```json theme={null}
{ "trace_id": "trc-abc", "agent_id": "agt-x", "escalation_reason": "boundary_violation_with_attestation_chain_anomaly", "severity": "critical" }
```

### `policy.violation`

Fired when policy evaluation flags a violation in agent behavior.

```json theme={null}
{ "agent_id": "agt-x", "policy_id": "policy-no-external-write", "violation_type": "forbidden_tool", "session_id": "sess-y" }
```

***

## Drift & team coherence

Cross-turn and cross-team detector firings. These are operator-actionable signals — the agent
itself never sees them.

### `sideband.drift.fired`

Fired when N consecutive non-clear AIP verdicts in a session cross the configured drift threshold.

```json theme={null}
{ "alert_id": "drift-9a8b7c6d", "agent_id": "agt-customer-bot-v3", "session_id": "sess-7c8d9e0a", "severity": "warning", "drift_direction": "worsening", "sustained_checks": 5, "message": "Detected 5 consecutive non-clear verdicts in session sess-7c8d9e0a" }
```

### `drift.resolved`

Fired when an org owner/admin acknowledges a previously-fired drift alert. Companion to `sideband.drift.fired`.

```json theme={null}
{ "alert_id": "drift-9a8b7c6d", "org_id": "org-acme", "acknowledged_by": "user-owner-42" }
```

### `sideband.coherence.fired`

Fired when a team's pairwise governance floor drops below threshold, conflict edges exceed
threshold, or specific agents' declared values diverge from the rest of the team.

```json theme={null}
{ "team_id": "team-research-pod", "reasons": ["pairwise_governance_floor below threshold (0.42 < 0.5)"], "pairwise_governance_floor": 0.42, "conflict_edge_count": 4, "outlier_agent_ids": ["agt-rogue-experimenter"], "severity": "warn" }
```

### `sideband.fault_line.fired`

Fired when team fault-line analysis detects a minority of agents whose alignment cards diverge
from the team majority.

```json theme={null}
{ "team_id": "team-research-pod", "fault_lines": [{ "id": "fl-1", "value": "respects_user_consent", "severity": "high", "affected_agents": ["agt-rogue"] }], "severity": "high", "affected_agent_ids": ["agt-rogue"] }
```

### `sideband.fleet.fired`

Fired when team-topology analysis detects outlier agents, a cluster partition, or a pair score
below threshold across a team.

```json theme={null}
{ "team_id": "team-research-pod", "pattern_type": "cluster_partition", "severity": "high", "pattern_detail": { "components": [["agt-x", "agt-y"], ["agt-rogue"]] } }
```

***

## Safe House

Fired by the Safe House front door and the review workflow. See
[Safe House Threat Model](/guides/safe-house-threat-model) for what each verdict means.

An `sh.evaluation.*` event is emitted per **screened surface**, not per turn — one request can
emit several (the inbound message, plus each tool result screened before the model sees it).

### `sh.evaluation.warn`

```json theme={null}
{ "evaluation_id": "eval-abc", "agent_id": "agt-x", "session_id": "sess-y", "verdict": "warn", "reasons": ["recipe_match_low_confidence"] }
```

### `sh.evaluation.quarantine`

```json theme={null}
{ "evaluation_id": "eval-abc", "agent_id": "agt-x", "session_id": "sess-y", "verdict": "quarantine", "quarantine_id": "q-xyz", "reasons": ["pii_detected"] }
```

### `sh.evaluation.block`

```json theme={null}
{ "evaluation_id": "eval-abc", "agent_id": "agt-x", "session_id": "sess-y", "verdict": "block", "reasons": ["forbidden_tool_attempt"] }
```

### `sh.canary.triggered`

Fired when a planted canary credential appears in agent output or input — a strong signal of
active exploitation.

```json theme={null}
{ "canary_id": "cnry-7e", "agent_id": "agt-x", "session_id": "sess-y", "surface": "outgoing" }
```

### `sh.session.escalated`

Fired when a session's accumulated risk score crosses an escalation threshold.

```json theme={null}
{ "session_id": "sess-y", "agent_id": "agt-x", "session_risk_score": 0.85, "threshold": 0.75 }
```

### `sh.campaign.detected`

Fired when cross-session correlation detects a coordinated attack targeting your agents.

```json theme={null}
{ "campaign_id": "camp-9f", "indicators": ["repeated_canary_attempt", "clustered_session_escalation"], "affected_agents": ["agt-x", "agt-y"] }
```

### `sh.review.triggered`

Fired when a quarantine-band verdict raises a review hold — the conversation is held pending
adjudication.

```json theme={null}
{ "review_id": "rev-abc123", "agent_id": "agt-x", "session_id": "sess-y", "evaluation_id": "eval-abc", "surface": "tool_calls", "source_verdict": "quarantine", "sla_deadline": "2026-07-09T19:30:00.000Z" }
```

### `sh.review.approved`

Fired when a reviewer releases a held item — it proceeds.

```json theme={null}
{ "review_id": "rev-abc123", "agent_id": "agt-x", "session_id": "sess-y", "reviewer_kind": "builtin_opus", "reason": "Tool call reads a public config value; no protected-surface overlap on inspection." }
```

### `sh.review.denied`

Fired when a reviewer denies a held item — a transparent refusal is applied in its place.

```json theme={null}
{ "review_id": "rev-def456", "agent_id": "agt-x", "session_id": "sess-y", "reviewer_kind": "builtin_opus", "reason": "Tool call arguments target a protected asset; withholding." }
```

### `sh.review.expired`

Fired when a review hold reaches its SLA deadline unresolved. The card's configured
`on_timeout` default applies (fail-closed `reject` unless configured otherwise).

```json theme={null}
{ "review_id": "rev-ghi789", "agent_id": "agt-x", "session_id": "sess-y", "on_timeout_applied": "reject", "sla_deadline": "2026-07-09T19:30:00.000Z" }
```

***

## Detection reports

### `recipe.candidate.created`

Fired when your org submits a false-negative/false-positive report on a detection recipe (or
Mnemom's own arena tooling proposes one). Delivered to your org's own webhook endpoints when
you're the reporting org, alongside Mnemom's internal review queue.

```json theme={null}
{ "candidate_id": "cand-abc12345", "writer_identity": "customer-fn-report", "report_type": "fn", "related_recipe_id": "rcp_0123456789abcdef", "agent_id": "agt-x", "checkpoint_id": "chk-xyz", "summary_excerpt": "Agent was prompted to leak credentials via Base64-encoded payload; existing prompt-injection rule didn't fire." }
```

<Note>
  The recipe lifecycle events that follow a candidate's triage —
  `recipe.promoted`, `recipe.retired`, `advisory.published`, `ioc.added`,
  `network.campaign.closed`, and `reviewer-mode.changed` — are internal Mnemom
  operations events today (delivered only to Mnemom's own account, never to a
  customer org), so they aren't in this catalog. Poll
  [Intelligence Overview](/api-reference/intelligence-overview) for advisories
  and indicators instead.
</Note>

***

## Agent lifecycle

### `agent.paused` / `agent.resumed` / `agent.killed`

Fired when an org owner/admin (or auto-containment) changes an agent's containment status.
`killed` is stronger than `paused` — reactivation requires explicit operator action.

```json theme={null}
{ "agent_id": "agt-x", "org_id": "org-acme", "action": "pause", "actor": "user-admin", "reason": "Investigating drift incident", "previous_status": "active", "new_status": "paused" }
```

### `agent.exemption.granted` / `agent.exemption.revoked`

Fired when an org admin grants or revokes a temporary exemption from a Safe House section for
a specific agent.

```json theme={null}
{ "agent_id": "agt-x", "org_id": "org-acme", "exemption_id": "exempt-abc", "exempt_section": "back_door.outgoing.pii", "exempt_patterns": ["customer_id"], "reason": "Customer-id sharing required for support flow", "granted_by": "user-admin", "expires_at": "2026-06-09T00:00:00Z" }
```

***

## Governance (cards & templates)

### `alignment_card.updated` / `protection_card.updated`

Fired when an agent's alignment or protection card is updated.

```json theme={null}
{ "agent_id": "agt-x", "card_id": "card-agt-x-alignment-v7", "actor": "user-admin", "change_summary": "Tightened integrity_mode from observe to nudge" }
```

### `org_alignment_template.updated` / `org_alignment_template.deleted`

Fired when an org-scope alignment template is set, updated, or cleared — this triggers a
recompose for every agent inheriting from the template.

```json theme={null}
{ "org_id": "org-acme", "template_id": "tpl-org-alignment-v2", "actor": "user-owner", "agents_flagged_for_recompose": 47 }
```

### `org_protection_template.updated` / `org_protection_template.deleted`

Same shape as the alignment-template events above, for the protection template.

***

## Teams

### `team.created` / `team.archived`

```json theme={null}
{ "team_id": "team-research-pod", "name": "Research Pod", "org_id": "org-acme" }
```

### `team.member_added` / `team.member_removed`

```json theme={null}
{ "team_id": "team-research-pod", "agent_id": "agt-x" }
```

### `team.card_updated`

Fired when a team's alignment- or protection-template card is set, updated, or cleared.

```json theme={null}
{ "team_id": "team-research-pod", "card_id": "card-team-research-protection-v3" }
```

***

## Reputation

### `reputation.score_changed`

Fired when an agent's reputation score crosses a meaningful threshold.

```json theme={null}
{ "agent_id": "agt-x", "previous_score": 0.82, "new_score": 0.71, "delta": -0.11, "reason": "boundary_violation_streak" }
```

### `reputation.grade_changed`

Fired when an agent crosses a reputation-grade boundary.

```json theme={null}
{ "agent_id": "agt-x", "previous_grade": "A", "new_grade": "B", "reason": "score_drop_below_0.75" }
```

***

## Quota & billing

### `quota.warning` / `quota.exceeded`

Fired once per billing period when integrity-check usage crosses 80% / 100% of your usage
budget.

```json theme={null}
{ "usage_percent": 85, "checks_used": 8500, "checks_included": 10000 }
```

### `quota.risk_warning` / `quota.risk_exceeded`

Same shape, for risk-assessment usage.

```json theme={null}
{ "usage_percent": 105, "risk_assessments_used": 525, "risk_assessments_included": 500 }
```

### `quota.team_reputation_warning` / `quota.team_reputation_exceeded`

Same shape, for team-reputation computation usage.

```json theme={null}
{ "usage_percent": 110, "team_reputations_used": 110, "team_reputations_included": 100 }
```

### `quota.sh_warning`

Fired when Safe House usage cost for the period crosses your configured budget alert threshold.

```json theme={null}
{ "current_cost_cents": 5500, "threshold_cents": 5000, "sh_checks_used": 1100, "sh_checks_included": 1000 }
```

### `subscription.status_changed`

Fired when your billing subscription transitions state (e.g. active → past\_due).

```json theme={null}
{ "status": "past_due", "previous_plan_id": "plan-team", "new_plan_id": "plan-team", "cancel_at_period_end": false }
```

### `transaction.completed`

Fired when a billed autonomous-operation transaction completes.

```json theme={null}
{ "transaction_id": "tx-7a8b9c", "agent_id": "agt-customer-bot", "team_id": "team-research", "action_type": "autonomous_operation", "duration_seconds": 4.2 }
```

***

## See also

* [Webhook Notifications](/guides/webhooks) — creating endpoints, signature verification, retries, and the CLI.
* [Safe House Threat Model](/guides/safe-house-threat-model) — what each Safe House verdict means.
* [Intelligence Overview](/api-reference/intelligence-overview) — the pull-side threat-intelligence feed (advisories and indicators aren't delivered as customer webhooks today; poll the feed endpoints instead).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.