Webhook Case Events

Webhook Case Events

Case events are triggered whenever a case is created, updated, or changes state in RedCarbon. Each case event includes the full ticket object along with a log entry describing the specific change that occurred.

Case Event Structure

Every case event contains a ticketEvent field with the following structure:

{
  "eventId": "evt_2fGh7kL9mNpQ",
  "type": "ticket.created",
  "customerId": "cktljin6l00030126t1juat7i",
  "timestamp": "2026-02-18T12:00:04.739276Z",
  "ticketEvent": {
    "ticket": {
      "ticketId": "case_cmlrzcozn01qj01e8ubn75hua",
      "customerId": "cktljin6l00030126t1juat7i",
      "tier": 1,
      "assignedTo": "redbot.bot@redcarbon.ai",
      "createdAt": "2026-02-18T12:00:04.739276Z",
      "updatedAt": "2026-02-18T12:00:05.860653Z",
      "status": "PROCESSING",
      "description": "Possible Storm-0536 activity detected on one endpoint",
      "title": "Possible Storm-0536 activity detected on one endpoint",
      "severity": {
        "value": 30,
        "level": "MEDIUM"
      },
      "incidentId": "event_cmlrzcol500nx01xj7p6om3rq",
      "firstClassification": "security_alert",
      "origin": "microsoft-365-defender",
      "category": "Initial Access",
      "annotations": {
        "annotations": {
          "report/subject": {
            "name": "report/subject",
            "value": {
              "value": "[case#cmlrzcozn01qj01e8ubn75hua] Possible Storm-0536 activity detected on one endpoint"
            }
          }
        }
      }
    },
    "log": {
      "ticketId": "case_cmlrzcozn01qj01e8ubn75hua",
      "timestamp": "2026-02-18T12:00:04.739276Z",
      "created": {
        "severity": {
          "value": 30,
          "level": "MEDIUM"
        }
      },
      "customerId": "cktljin6l00030126t1juat7i",
      "createdBy": "system"
    }
  }
}
FieldTypeDescription
ticketEvent.ticketobjectThe full Ticket object at the time of the event
ticketEvent.logobjectThe Log entry describing the change that triggered the event

Ticket Object

The ticket field contains the full ticket data at the time of the event.

Fields with default values (0, empty strings, empty arrays, false) may be omitted from the payload.

FieldTypeDescription
ticketIdstringUnique identifier for the case
customerIdstringCustomer the case belongs to
tierintegerCase tier level
assignedTostring (optional)Analyst assigned to the case
createdAtstringISO 8601 creation timestamp
updatedAtstringISO 8601 last update timestamp
closedAtstring (optional)ISO 8601 closure timestamp
statusstringCurrent case status (see CaseStatus)
parentIdstring (optional)ID of the parent case
closeNotesstring (optional)Notes added when closing the case
descriptionstringCase description
titlestringCase title
closedBystring (optional)User who closed the case
severityobjectSeverity object (see Severity below)
incidentIdstringAssociated incident ID
firstClassificationstringInitial classification of the case
spentTimeMinintegerTime spent on the case in minutes
tagsarrayList of tags
originstringSource integration of the case
finalClassificationstring (optional)Final classification after investigation
subscribersarrayList of subscriber identifiers
mitrearrayAssociated MITRE ATT&CK technique IDs
categorystring (optional)Case category
notificationListIdstring (optional)Associated notification list ID
handledByAibooleanWhether the case was handled by AI
annotationsobjectAnnotations attached to the case

Severity

FieldTypeDescription
valueintegerNumeric severity score
levelstringSeverity level: NOT_VALID, LOW, MEDIUM, HIGH, CRITICAL

Log Entry

The log field describes the specific change that triggered the event. It always contains the following common fields:

FieldTypeDescription
ticketIdstringThe case that was modified
timestampstringISO 8601 timestamp of the change
customerIdstringCustomer the case belongs to
createdBystringUser or system that performed the action

Additionally, the log contains one field specific to the event type (described below for each event).

Event Types

Event TypeDescription
ticket.createdA new case is created
ticket.updatedA case is updated (status, severity, tier, category, classification, spent time)
ticket.assignedA case is assigned to an analyst
ticket.unassignedA case is unassigned from an analyst
ticket.closedA case is closed
ticket.reopenedA previously closed case is reopened
ticket.escalatedA case is escalated
ticket.notifyA notification is sent for a case
ticket.parent.setA case is linked to a parent case
ticket.parent.unsetA case is unlinked from its parent case
ticket.note.createdA note is added to a case
ticket.report.changeA case report is created or updated
ticket.comment.createdA comment is added to a case