Webhooks

phishing.failure.removed

An administrator removed a user's recorded failure for a phishing simulation. This reverses a prior phishing.simulation.failed event: consumers tracking failure state should clear it for this user and campaign. If the user fails the simulation again, a new phishing.simulation.failed event is emitted.

Subscription filters

  • campaign — filter to specific campaign ids
postWebhookphishing.failure.removed

Payload

datacontenttypestring

media type of data

idstring

unique id for event

sourcestring

the event source; always /adaptive

specversionstring

CloudEvents spec version

subjectstring

reserved for the event's primary entity id; currently never set, so always omitted

timestring date-time

when the event occurred

type'phishing.failure.removed'

the event type

Example payload

{
  "data": {
    "payload": {
      "campaign": {
        "id": "a1b2c3d4-e5f6-4789-a0b1-c2d3e4f5a6b7",
        "name": "Q2 Finance Department Phishing"
      },
      "simulation": {
        "id": "3f9a2b7c-1d4e-4a8b-9c0f-7e6d5a4b3c21"
      },
      "user": {
        "email": "jordan.lee@example.com",
        "id": "8d2c1f6a-9b3e-4c7a-bf21-2a5e9c1d4b88"
      }
    }
  },
  "datacontenttype": "application/json",
  "id": "9b2f6c1e-8d3a-4f0b-a1c2-5e7d9f3b6a48",
  "source": "/adaptive",
  "specversion": "1.0",
  "time": "2026-06-09T18:00:00Z",
  "type": "phishing.failure.removed"
}

Response

Return any 2xx status to acknowledge the delivery. Timeouts, 408, 429, and 5xx responses other than 501 are retried; any other status is a permanent failure.

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.