Webhooks

training.overdue

A user's training campaign assignment passed its due date without completion. Fires each time the assignment becomes overdue, which can happen again when an admin extends the due date and the user misses the new one; the envelope time is when Adaptive detected the user was overdue.

Subscription filters

  • campaign — filter to specific campaign ids
postWebhooktraining.overdue

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'training.overdue'

the event type

Example payload

{
  "data": {
    "payload": {
      "campaign": {
        "id": "6c1d9a4e-2f7b-4d3a-9e8c-5b0a7f2d1c43",
        "name": "Q3 Security Essentials"
      },
      "due_date": "2026-07-01T00:00:00Z",
      "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": "training.overdue"
}

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.