For a minimal integration, subscribe to monitoring.delta.detected. Add monitoring.run.failed when your operations team must react to an incomplete check. Do not subscribe to high-volume monitoring.run.completed unless your system needs every successful run.

Events

EventWhen it fires
monitoring.subscription.startedMonitoring becomes active for an Entity.
monitoring.subscription.pausedScheduled monitoring is paused.
monitoring.subscription.resumedA paused subscription becomes active.
monitoring.subscription.endedA subscription is permanently turned off.
monitoring.subscription.updatedAn Entity's policy or frequency changes.
monitoring.run.completedOne monitoring run completed.
monitoring.run.failedOne monitoring run could not complete.
monitoring.delta.detectedMonitoring found one or more material changes.

monitoring.failed is not a public event name.

Exact V2 delta envelope

json
{
  "version": "2026-08-11",
  "id": "evt_monitoring_delta_01",
  "type": "monitoring.delta.detected",
  "createdAt": "2026-08-26T17:00:00.000Z",
  "deliveryId": "del_monitoring_delta_01",
  "data": {
    "subscriptionId": "sub_01",
    "entityId": "ent_01",
    "externalUserId": "customer_42",
    "subject": {
      "entityId": "ent_01",
      "externalUserId": "customer_42",
      "identityId": "identity_01",
      "type": "individual"
    },
    "detectedAt": "2026-08-26T17:00:00.000Z",
    "deltas": [
      { "type": "SANCTIONS_MATCH", "direction": "ADDED", "severity": "HIGH" }
    ]
  }
}

This is the complete V2 envelope. Product fields live directly inside data.

Run failure example

json
{
  "version": "2026-08-11",
  "id": "evt_monitoring_failed_01",
  "type": "monitoring.run.failed",
  "createdAt": "2026-08-26T17:04:00.000Z",
  "deliveryId": "del_monitoring_failed_01",
  "data": {
    "subscriptionId": "sub_01",
    "entityId": "ent_01",
    "externalUserId": "customer_42",
    "failureCode": "provider_unavailable",
    "failedAt": "2026-08-26T17:04:00.000Z"
  }
}

Public data contract

FieldEventsMeaning
subscriptionIdAllCustomer-addressable monitoring subscription.
entityId, externalUserId, subjectEntity-related eventsCustomer correlation without internal source data.
statusSubscription lifecycleactive, paused or ended.
frequencySubscription updatedEffective frequency, policy default, Entity override and source.
materialChange, completedAtRun completedWhether the successful run found a material change and when it completed.
failureCode, failedAtRun failedStable failure classification and time.
deltas, detectedAtDelta detectedCustomer-visible material changes and detection time.

Internal policyVersionId, monitoringRunId and assessmentId fields are not included. Read current state and history from GET /api/v1/monitoring/subscriptions/{subscriptionId}.

Verify the raw request body, deduplicate by envelope id, return 2xx quickly, and use the read API whenever current state matters.