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 proctoring incident is updated — for example, when its status changes, severity is adjusted, or timeline entries are added (subordinate bubble-up).

Integration Details

  • Subscription Key: incident.instance.updated
  • Use Case: Track incident resolution progress or sync status changes to compliance systems.
  • Related Events: incident.instance.created

Trigger

  • Event Type: incident_instance_updated
  • Source: Update of a record in the incident.instance table, or bubble-up from subordinate changes to incident.timeline.

Cross-Service References

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

Payload Example

{
  "id": 134,
  "name": "Face not detected",
  "description": null,
  "status": "RESOLVED",
  "severity": "LOW",
  "start_time": "2026-02-03T10:46:23.260Z",
  "end_time": "2026-02-03T11:15:00.000Z",
  "resolution_notes": "Confirmed candidate was adjusting camera. No violation.",
  "session_instance_id": 2523,
  "external_id": null,
  "created_at": "2026-02-03T09:57:55.341Z",
  "created_by": 1,
  "updated_at": "2026-02-03T11:15:00.000Z",
  "updated_by": 1,
  "session": {
    "id": 2523,
    "uuid": "019c22ef-edc6-765d-9ab3-c2acf41b5253",
    "score": 85,
    "status": "COMPLETED",
    "created_at": "2026-02-03T09:57:55.341Z",
    "updated_at": "2026-02-03T11:15:00.000Z"
  },
  "timeline": [
    {
      "id": 1,
      "action": "ESCALATED",
      "description": "Auto-escalated after 5 minutes without face detection.",
      "created_at": "2026-02-03T10:51:23.260Z",
      "created_by": 0,
      "updated_at": "2026-02-03T10:51:23.260Z",
      "updated_by": 0
    }
  ]
}

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.