Skip to main content
For general webhook concepts like bubble-up behavior, payload visibility rules, and versioned snapshots, see Webhook Concepts.

Description

This event is triggered when a new proctoring incident is detected — for example, via AI detection or a manual proctor flag.

Integration Details

  • Subscription Key: incident.instance.created
  • Use Case: Trigger immediate intervention alerts or compliance logging.
  • Related Events: incident.instance.updated

Trigger

  • Event Type: incident_instance_created
  • Source: Insertion of a record into the incident.instance table.

Cross-Service References

  • Session (session.instance): Lightweight snapshot of the associated proctoring session.

Payload Example

{
  "id": 134,
  "name": "Face not detected",
  "description": null,
  "status": "TRIGGERED",
  "severity": "LOW",
  "start_time": "2026-02-03T10:46:23.260Z",
  "end_time": null,
  "resolution_notes": null,
  "session_instance_id": 2523,
  "external_id": null,
  "created_at": "2026-02-03T09:57:55.341Z",
  "created_by": 1,
  "updated_at": "2026-02-03T09:57:55.341Z",
  "updated_by": 1,
  "session": {
    "id": 2523,
    "uuid": "019c22ef-edc6-765d-9ab3-c2acf41b5253",
    "score": null,
    "status": "IN_PROGRESS",
    "created_at": "2026-02-03T09:57:55.341Z",
    "updated_at": "2026-02-03T09:57:55.341Z"
  },
  "timeline": []
}

Payload Type Showcase

{
  id: number;
  name: string | null;
  description: string | null;
  status: string;
  severity: string;
  start_time: string;
  end_time: string | null;
  resolution_notes: string | null;
  session_instance_id: number;
  external_id: string | null;
  created_at: string;
  created_by: number;
  updated_at: string;
  updated_by: number;
  session: {
    id: number;
    uuid: string;
    score: number | null;
    status: string;
    created_at: string;
    updated_at: string;
  };
  timeline: {
    id: number;
    action: string;
    description: string | null;
    created_at: string;
    created_by: number;
    updated_at: string;
    updated_by: number;
  }[];
}

Field Notes

  • status references a Hasura enum: TRIGGERED, RESOLVED, DISMISSED, REOPENED.
  • severity references a Hasura enum: LOW, MEDIUM, HIGH.
  • session is a cross-service reference to session.instance — included as a lightweight snapshot.
  • timeline captures the incident lifecycle (detection, escalation, resolution). Empty on creation.
  • action on timeline entries references the incident.timeline_action enum.
  • Timeline changes trigger bubble-up to the incident root.