{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/CreateNotificationRuleRequest", "title": "CreateNotificationRuleRequest", "type": "object", "required": [ "name", "actionType" ], "properties": { "name": { "type": "string", "description": "Name of the notification rule." }, "actionType": { "type": "string", "enum": [ "create-alert", "acknowledged-alert", "closed-alert", "assigned-alert", "add-note", "schedule-start", "schedule-end", "incoming-call-routing" ], "description": "Action type that triggers this notification rule." }, "criteria": { "$ref": "#/components/schemas/NotificationCriteria" }, "notificationTime": { "type": "array", "items": { "type": "string", "enum": [ "just-before", "15-minutes-ago", "1-hour-ago", "1-day-ago" ] }, "description": "Notification time preferences." }, "timeRestriction": { "$ref": "#/components/schemas/TimeRestriction" }, "schedules": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "Schedule ID." }, "name": { "type": "string", "description": "Schedule name." }, "type": { "type": "string", "description": "Type (schedule)." } } }, "description": "Schedules this rule applies to." }, "steps": { "type": "array", "items": { "$ref": "#/components/schemas/NotificationRuleStep" }, "description": "Notification steps." }, "order": { "type": "integer", "description": "Order of the rule." }, "repeat": { "type": "object", "properties": { "loopAfter": { "type": "integer", "description": "Number of steps after which to loop back." }, "enabled": { "type": "boolean", "description": "Whether repeat is enabled." } }, "description": "Repeat configuration." }, "enabled": { "type": "boolean", "description": "Whether the rule is enabled." } } }