{
  "openapi": "3.0.0",
  "paths": {
    "/aiops/api/v2/events": {
      "post": {
        "operationId": "EventsController_create_v2",
        "parameters": [
          {
            "name": "wait_for_commit",
            "required": false,
            "in": "query",
            "description": "If true, the API will wait until the change has been committed before responding and will return the stored event.",
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEventDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The event has been created and committed to the data store (wait_for_commit=true)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Event"
                }
              }
            }
          },
          "202": {
            "description": "The event has been accepted and will eventually be processed (wait_for_commit=false)"
          },
          "401": {
            "description": "Invalid or missing authentication token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create a new event",
        "tags": [
          "Events"
        ]
      }
    },
    "/aiops/api/v2/alerts": {
      "post": {
        "operationId": "AlertsController_create_v2",
        "parameters": [
          {
            "name": "wait_for_commit",
            "required": false,
            "in": "query",
            "description": "If true, the API waits until the change has processed before responding and will return the created alert.",
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAlertDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The alert has been created and committed to the data store (wait_for_commit=true)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Alert"
                }
              }
            }
          },
          "202": {
            "description": "The alert has been accepted and will eventually be created (wait_for_commit=false)"
          },
          "400": {
            "description": "Input validation error or conflict (e.g., duplicate alert ID)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChangeResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or missing authentication token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create a new alert",
        "tags": [
          "Alerts"
        ]
      },
      "get": {
        "description": "Retrieve all alerts, optionally filtered by a filter expression or a saved filter ID. If both filter and saved_filter are provided, they will be combined with AND logic.",
        "operationId": "AlertsController_findAll_v2",
        "parameters": [
          {
            "name": "filter",
            "required": false,
            "in": "query",
            "description": "An optional filter to restrict the alerts returned from the query.",
            "examples": {
              "No filter (default)": {
                "description": "Returns all alerts from the API",
                "value": ""
              },
              "Filter by severity": {
                "description": "Returns all alerts where severity is Minor\n\nSeverity values: 6 = Critical, 5 = Major, 4 = Minor, 3 = Warning, 2 = Information, 1 = Indeterminate",
                "value": "severity = 4"
              },
              "Filter by multiple severities": {
                "description": "Returns all alerts where severity is Critical, Major, or Minor\n\nSeverity values: 6 = Critical, 5 = Major, 4 = Minor, 3 = Warning, 2 = Information, 1 = Indeterminate",
                "value": "severity = 6 or severity = 5 or severity = 4"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "saved_filter",
            "required": false,
            "in": "query",
            "description": "ID of a saved filter to apply. The saved filter will be fetched and its conditions applied to the query. Can be combined with the filter parameter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "required": false,
            "in": "query",
            "description": "Comma-separated list of fields to return (e.g., \"id,severity,summary\"). Also supports nested fields using dot notation (e.g., \"type.classification,type.eventType\"). If not specified, all fields are returned.",
            "examples": {
              "All fields (default)": {
                "description": "Returns all alert fields. This is the default behavior when the fields parameter is omitted.",
                "value": ""
              },
              "Standard fields": {
                "description": "Returns only the requested top-level fields. Use comma-separated field names without spaces.",
                "value": "id,severity,summary,state"
              },
              "Subfields": {
                "description": "Returns nested/subfields using dot notation. This allows you to retrieve specific properties within complex objects. Only items with values in these fields will be returned.",
                "value": "id,type.classification,type.eventType,resource.name, resource.type, resource.location, resource.service, resource.hostname"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of alerts has been successfully retrieved",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Alert"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get all alerts. Optionally matching filter criteria or saved filter",
        "tags": [
          "Alerts"
        ]
      },
      "patch": {
        "operationId": "AlertsController_bulkUpdate_v2",
        "parameters": [
          {
            "name": "filter",
            "required": true,
            "in": "query",
            "description": "Filter clause to identify which alerts to update. All alerts matching this filter will be updated with the provided data.",
            "schema": {
              "minLength": 1,
              "example": "severity = 4",
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAlertDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Alerts matching the filter have been updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkUpdateAlertsResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request or filter clause",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or missing authentication token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Bulk update alerts matching filter criteria",
        "tags": [
          "Alerts"
        ]
      }
    },
    "/aiops/api/v2/alerts/{alert_id}": {
      "get": {
        "operationId": "AlertsController_findOne_v2",
        "parameters": [
          {
            "name": "alert_id",
            "required": true,
            "in": "path",
            "description": "The id of the alert to get",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "required": false,
            "in": "query",
            "description": "Comma-separated list of fields to return (e.g., \"id,severity,summary\"). Also supports nested fields using dot notation (e.g., \"type.classification,type.eventType\"). If not specified, all fields are returned.",
            "examples": {
              "All fields (default)": {
                "description": "Returns all alert fields. This is the default behavior when the fields parameter is omitted.",
                "value": ""
              },
              "Standard fields": {
                "description": "Returns only the requested top-level fields. Use comma-separated field names without spaces.",
                "value": "id,severity,summary,state"
              },
              "Subfields": {
                "description": "Returns nested/subfields using dot notation. This allows you to retrieve specific properties within complex objects.",
                "value": "id,type.classification,type.eventType,resource.name, resource.type, resource.location, resource.service, resource.hostname"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The matching alert",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Alert"
                }
              }
            }
          },
          "404": {
            "description": "Alert not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get a specific alert by ID",
        "tags": [
          "Alerts"
        ]
      },
      "patch": {
        "operationId": "AlertsController_update_v2",
        "parameters": [
          {
            "name": "alert_id",
            "required": true,
            "in": "path",
            "description": "The id of the alert to update",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "wait_for_commit",
            "required": false,
            "in": "query",
            "description": "If true, the API waits until the change has processed before responding and will return the updated alert.",
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAlertDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The alert has been updated and committed to the data store (wait_for_commit=true)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Alert"
                }
              }
            }
          },
          "202": {
            "description": "The alert has been accepted and will eventually be updated (wait_for_commit=false)"
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or missing authentication token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedResponse"
                }
              }
            }
          },
          "404": {
            "description": "Alert not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Update a specific alert by ID",
        "tags": [
          "Alerts"
        ]
      }
    },
    "/aiops/api/v2/alerts/{alert_id}/timeline-entries": {
      "get": {
        "operationId": "AlertsTimelineController_findAll_v2",
        "parameters": [
          {
            "name": "alert_id",
            "required": true,
            "in": "path",
            "description": "The ID of the alert to retrieve timeline entries for",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of timeline entries for the alert has been successfully retrieved",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/TimelineEntry"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get all timeline entries for an alert by ID",
        "tags": [
          "Alerts"
        ]
      },
      "post": {
        "operationId": "AlertsTimelineController_createComment_v2",
        "parameters": [
          {
            "name": "alert_id",
            "required": true,
            "in": "path",
            "description": "The ID of the alert to add a timeline entry to",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAlertTimelineDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Timeline entry (comment) has been successfully created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The ID of the created timeline entry",
                      "example": "550e8400-e29b-41d4-a716-446655440000"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input data"
          },
          "404": {
            "description": "Alert not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create a comment type timeline entry for an alert by ID",
        "tags": [
          "Alerts"
        ]
      }
    },
    "/aiops/api/v2/alerts/{alert_id}/insights": {
      "get": {
        "description": "Retrieve all insights associated with a specific alert. Insights include analysis, correlations, and recommendations produced by AIOps analytics. Optionally filter by insight type.",
        "operationId": "AlertsInsightsControllerV2_findAll_v2",
        "parameters": [
          {
            "name": "alert_id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the alert to retrieve insights for",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": false,
            "in": "query",
            "description": "Filter insights by type. If not specified, all insights are returned. Select from the dropdown to see all available insight types.",
            "schema": {
              "example": "aiops.ibm.com/insight-type/relationship/causal",
              "type": "string",
              "enum": [
                "aiops.ibm.com/insight-type/action/history",
                "aiops.ibm.com/insight-type/anomaly",
                "aiops.ibm.com/insight-type/business/criticality",
                "aiops.ibm.com/insight-type/chatops/metadata",
                "aiops.ibm.com/insight-type/chatops/notification",
                "aiops.ibm.com/insight-type/created-by",
                "aiops.ibm.com/insight-type/deduplication-details",
                "aiops.ibm.com/insight-type/event/related-alert",
                "aiops.ibm.com/insight-type/feedback",
                "aiops.ibm.com/insight-type/golden-signal",
                "aiops.ibm.com/insight-type/incident-summary",
                "aiops.ibm.com/insight-type/incident-title",
                "aiops.ibm.com/insight-type/itsm/metadata",
                "aiops.ibm.com/insight-type/lad/resolutions",
                "aiops.ibm.com/insight-type/lad/templates",
                "aiops.ibm.com/insight-type/log-template",
                "aiops.ibm.com/insight-type/probable-cause",
                "aiops.ibm.com/insight-type/relationship/causal",
                "aiops.ibm.com/insight-type/relationship/causal-union",
                "aiops.ibm.com/insight-type/relationship/third-party-event-correlation",
                "aiops.ibm.com/insight-type/runbook",
                "aiops.ibm.com/insight-type/seasonal-occurrence",
                "aiops.ibm.com/insight-type/similar-incidents",
                "aiops.ibm.com/insight-type/similar-story",
                "aiops.ibm.com/insight-type/story/holdoff",
                "aiops.ibm.com/insight-type/story/proposed-by",
                "aiops.ibm.com/insight-type/suppression",
                "aiops.ibm.com/insight-type/topology/group",
                "aiops.ibm.com/insight-type/topology/resource",
                "aiops.ibm.com/insight-type/topology/statusId",
                "aiops.ibm.com/insight-type/topology/story",
                "aiops.ibm.com/insight-type/verbose-description",
                "aiops.ibm.com/insight-type/xiny"
              ]
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of insights for the alert has been successfully retrieved",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Insight"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Invalid or missing authentication token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AlertInsightUnauthorizedResponse"
                }
              }
            }
          },
          "404": {
            "description": "Alert not found or access denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AlertInsightNotFoundResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get all insights for an alert by ID",
        "tags": [
          "Alerts"
        ]
      },
      "post": {
        "description": "Add a new insight to a specific alert. The insight can include analysis, correlations, or recommendations. A unique insight ID will be generated if not provided. By default, returns 202 Accepted (fire-and-forget). Use wait_for_commit=true for synchronous operation.",
        "operationId": "AlertsInsightsControllerV2_create_v2",
        "parameters": [
          {
            "name": "alert_id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the alert to add the insight to",
            "schema": {
              "example": "alert_id",
              "type": "string"
            }
          },
          {
            "name": "wait_for_commit",
            "required": false,
            "in": "query",
            "description": "If true, waits for the insight to be committed before returning (201 Created). If false, returns immediately after accepting the request (202 Accepted).",
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateInsightDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The insight has been created and committed to the data store (wait_for_commit=true)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Insight"
                }
              }
            }
          },
          "202": {
            "description": "The insight has been accepted and will eventually be processed (wait_for_commit=false)"
          },
          "400": {
            "description": "Invalid request or validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AlertInsightBadRequestResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or missing authentication token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AlertInsightUnauthorizedResponse"
                }
              }
            }
          },
          "404": {
            "description": "Alert not found or access denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AlertInsightNotFoundResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create a new insight for an alert",
        "tags": [
          "Alerts"
        ]
      }
    },
    "/aiops/api/v2/alerts/{alert_id}/insights/{insight_id}/types/{insight_type}": {
      "get": {
        "description": "Retrieve a single insight associated with a specific alert using the insight ID and type. This allows for direct access to a specific insight without retrieving all insights.",
        "operationId": "AlertsInsightsControllerV2_findOneByIdAndType_v2",
        "parameters": [
          {
            "name": "alert_id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the alert",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "insight_id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the insight",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "insight_type",
            "required": true,
            "in": "path",
            "description": "The type of the insight",
            "schema": {
              "$ref": "#/components/schemas/InsightType"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The insight has been successfully retrieved",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Insight"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or missing authentication token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AlertInsightUnauthorizedResponse"
                }
              }
            }
          },
          "404": {
            "description": "Alert or insight not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AlertInsightNotFoundResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get a specific insight for an alert by ID and type",
        "tags": [
          "Alerts"
        ]
      },
      "delete": {
        "description": "Remove a specific insight from an alert using its unique identifier and type. This permanently deletes the insight relationship.",
        "operationId": "AlertsInsightsControllerV2_deleteOneByIdAndType_v2",
        "parameters": [
          {
            "name": "alert_id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the alert",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "insight_id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the insight to delete",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "insight_type",
            "required": true,
            "in": "path",
            "description": "The type of the insight",
            "schema": {
              "$ref": "#/components/schemas/InsightType"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The insight has been successfully deleted"
          },
          "401": {
            "description": "Invalid or missing authentication token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AlertInsightUnauthorizedResponse"
                }
              }
            }
          },
          "404": {
            "description": "Insight not found or access denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AlertInsightNotFoundResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Delete an insight from an alert",
        "tags": [
          "Alerts"
        ]
      }
    },
    "/aiops/api/v2/configuration/algorithms": {
      "get": {
        "description": "Retrieve a list of all registered algorithms from the ai-platform service",
        "operationId": "AlgorithmsController_get_v2",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of all registered algorithms",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/AlgorithmInfoDto"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve all registered algorithms",
        "tags": [
          "Algorithms"
        ]
      },
      "post": {
        "description": "Register a new algorithm with the ai-platform service by providing runtime configuration and algorithm details",
        "operationId": "AlgorithmsController_register_v2",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterAlgorithmDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Algorithm registered successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MutationResultDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Register a new algorithm",
        "tags": [
          "Algorithms"
        ]
      }
    },
    "/aiops/api/v2/configuration/algorithms/{name}": {
      "get": {
        "description": "Retrieve a specific registered algorithm from the ai-platform service",
        "operationId": "AlgorithmsController_getOne_v2",
        "parameters": [
          {
            "name": "name",
            "required": true,
            "in": "path",
            "description": "The name of the algorithm to get",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested algorithm",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AlgorithmInfoDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "404": {
            "description": "Request to find algorithm failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse404Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve a specific algorithm by name",
        "tags": [
          "Algorithms"
        ]
      },
      "delete": {
        "description": "Unregister an algorithm from the ai-platform service",
        "operationId": "AlgorithmsController_unregister_v2",
        "parameters": [
          {
            "name": "name",
            "required": true,
            "in": "path",
            "description": "The name of the algorithm to unregister",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The result of unregistering the algorithm",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MutationResultDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Unregister an algorithm",
        "tags": [
          "Algorithms"
        ]
      }
    },
    "/aiops/api/v2/incidents": {
      "get": {
        "operationId": "IncidentsController_findAll_v2",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of incidents has been successfully retrieved",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Incident"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Invalid or missing authentication token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IncidentUnauthorizedResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get all incidents",
        "tags": [
          "Incidents"
        ]
      }
    },
    "/aiops/api/v2/incidents/{id}": {
      "get": {
        "description": "Retrieve a specific incident using its unique identifier. Returns the complete incident object with current state, details, and associated information.",
        "operationId": "IncidentsController_findOne_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the incident to retrieve",
            "schema": {
              "example": "incident_id",
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The incident has been successfully retrieved",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Incident"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or missing authentication token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IncidentUnauthorizedResponse"
                }
              }
            }
          },
          "404": {
            "description": "Incident not found or access denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IncidentNotFoundResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get incident by ID",
        "tags": [
          "Incidents"
        ]
      },
      "patch": {
        "description": "Update specific fields of an incident. Accepts partial incident object with only the fields to update. Validates field values (e.g., state must be valid enum value).",
        "operationId": "IncidentsController_update_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the incident to update",
            "schema": {
              "example": "incident_id",
              "type": "string"
            }
          },
          {
            "name": "wait_for_commit",
            "required": false,
            "in": "query",
            "description": "If true, the API waits until the change has processed before responding and will return the updated incident.",
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateIncidentDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The incident has been updated and committed to the data store (wait_for_commit=true)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Incident"
                }
              }
            }
          },
          "202": {
            "description": "The incident has been accepted and will eventually be updated (wait_for_commit=false)"
          },
          "400": {
            "description": "Invalid input data or validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IncidentBadRequestResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or missing authentication token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IncidentUnauthorizedResponse"
                }
              }
            }
          },
          "404": {
            "description": "Incident not found or access denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IncidentNotFoundResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IncidentInternalServerErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Update incident by ID",
        "tags": [
          "Incidents"
        ]
      }
    },
    "/aiops/api/v2/incidents/{incident_id}/timeline-entries": {
      "get": {
        "operationId": "IncidentsTimelineController_findAll_v2",
        "parameters": [
          {
            "name": "incident_id",
            "required": true,
            "in": "path",
            "description": "The ID of the incident to retrieve timeline entries for",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of timeline entries for the incident has been successfully retrieved",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/TimelineEntry"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Incident not found or access denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IncidentTimelineNotFoundResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get all timeline entries for an incident by ID",
        "tags": [
          "Incidents"
        ]
      },
      "post": {
        "operationId": "IncidentsTimelineController_createComment_v2",
        "parameters": [
          {
            "name": "incident_id",
            "required": true,
            "in": "path",
            "description": "The ID of the incident to add a timeline entry to",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateIncidentTimelineDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Timeline entry (comment) has been successfully created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The ID of the created timeline entry",
                      "example": "550e8400-e29b-41d4-a716-446655440000"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input data"
          },
          "404": {
            "description": "Incident not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create a `comment` type timeline entry for an incident",
        "tags": [
          "Incidents"
        ]
      }
    },
    "/aiops/api/v2/configuration/filters": {
      "get": {
        "description": "Retrieve visualization filters from the user config service with optional filtering. Admin users can retrieve filters across all users.",
        "operationId": "FiltersController_get_v2",
        "parameters": [
          {
            "name": "all",
            "required": false,
            "in": "query",
            "description": "Admin-only. When set to true, returns filters across all users and the filter query parameter is ignored",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter",
            "required": false,
            "in": "query",
            "description": "A search condition for a particular set of filters",
            "schema": {
              "example": "metatdata.createdBy = 'admin'",
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of filters has been successfully retrieved",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Filter"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve a list of visualization filters",
        "tags": [
          "Filters"
        ]
      },
      "post": {
        "description": "Create a visualization filter in the user config service.",
        "operationId": "FiltersController_create_v2",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFilterDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The new filter has been accepted and created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateFilterResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "409": {
            "description": "Failed to create"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create a visualization filter",
        "tags": [
          "Filters"
        ]
      },
      "delete": {
        "description": "Delete one or more visualization filters in the user config service.",
        "operationId": "FiltersController_delete_v2",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "description": "Visualization filter deletion criteria. Filters can be deleted by id or by a defined search condition. When both conditions are used, filters are deleted by id first.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteFiltersDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Details on what was deleted and what was not deleted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ElementsDeletedDto"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Delete visualization filters",
        "tags": [
          "Filters"
        ]
      }
    },
    "/aiops/api/v2/configuration/filters/{id}": {
      "get": {
        "description": "Retrieve a visualization filter by ID from the user config service.",
        "operationId": "FiltersController_getOne_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The id of the filter to get",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The matching filter",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Filter"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve a visualization filter",
        "tags": [
          "Filters"
        ]
      },
      "patch": {
        "description": "Update a visualization filter by ID in the user config service.",
        "operationId": "FiltersController_update_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The id of the filter to update",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/updateFilterDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated filter definition",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Filter"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "409": {
            "description": "Failed to create"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Update a visualization filter",
        "tags": [
          "Filters"
        ]
      },
      "delete": {
        "description": "Delete a visualization filter by ID from the user config service.",
        "operationId": "FiltersController_deleteOne_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The id of the filter to delete",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Filter has been successfully deleted"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Delete a visualization filter",
        "tags": [
          "Filters"
        ]
      }
    },
    "/aiops/api/v2/configuration/filters/name/{name}": {
      "head": {
        "description": "Check whether a visualization filter with the specified name exists in the user config service.",
        "operationId": "FiltersController_checkName_v2",
        "parameters": [
          {
            "name": "name",
            "required": true,
            "in": "path",
            "description": "The name of the filter to check",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Filter matching name exists"
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Check whether a visualization filter name exists",
        "tags": [
          "Filters"
        ]
      }
    },
    "/aiops/api/v2/configuration/filters/type/{type}/name/{name}": {
      "head": {
        "description": "Check whether a visualization filter with the specified type and name exists in the user config service.",
        "operationId": "FiltersController_checkTypeName_v2",
        "parameters": [
          {
            "name": "name",
            "required": true,
            "in": "path",
            "description": "The name of the filter to check",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": true,
            "in": "path",
            "description": "The type of the filter to check",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Filter matching name and type exists"
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Check whether a visualization filter name exists for a type",
        "tags": [
          "Filters"
        ]
      }
    },
    "/aiops/api/v2/configuration/views": {
      "get": {
        "description": "Retrieve views from the user config service with optional filtering. Admin users can retrieve views across all users.",
        "operationId": "ViewsController_get_v2",
        "parameters": [
          {
            "name": "all",
            "required": false,
            "in": "query",
            "description": "Admin-only. When set to true, returns views across all users and the filter query parameter is ignored",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter",
            "required": false,
            "in": "query",
            "description": "A search condition for a particular set of views",
            "schema": {
              "example": "metatdata.createdBy = 'admin'",
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of views has been successfully retrieved",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/View"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve a list of views",
        "tags": [
          "Views"
        ]
      },
      "post": {
        "description": "Create a view in the user config service.",
        "operationId": "ViewsController_create_v2",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateViewDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The new view has been accepted and created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateViewResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "409": {
            "description": "Failed to create"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create a view",
        "tags": [
          "Views"
        ]
      }
    },
    "/aiops/api/v2/configuration/views/{id}": {
      "get": {
        "description": "Retrieve a view by ID from the user config service.",
        "operationId": "ViewsController_getOne_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The id of the view to get",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The matching view",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/View"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve a view",
        "tags": [
          "Views"
        ]
      },
      "patch": {
        "description": "Update a view by ID in the user config service.",
        "operationId": "ViewsController_update_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The id of the view to update",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateViewDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated view definition",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/View"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "409": {
            "description": "Failed to create"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Update a view",
        "tags": [
          "Views"
        ]
      },
      "delete": {
        "description": "Delete a view by ID from the user config service.",
        "operationId": "ViewsController_deleteOne_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The id of the view to delete",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "View has been successfully deleted"
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Delete a view",
        "tags": [
          "Views"
        ]
      }
    },
    "/aiops/api/v2/configuration/views/name/{name}": {
      "head": {
        "description": "Check whether a view with the specified name exists in the user config service.",
        "operationId": "ViewsController_checkName_v2",
        "parameters": [
          {
            "name": "name",
            "required": true,
            "in": "path",
            "description": "The name of the view to check",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Filter matching name exists"
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Check whether a view name exists",
        "tags": [
          "Views"
        ]
      }
    },
    "/aiops/api/v2/configuration/views/type/{type}/name/{name}": {
      "head": {
        "description": "Check whether a view with the specified type and name exists in the user config service.",
        "operationId": "ViewsController_checkTypeName_v2",
        "parameters": [
          {
            "name": "name",
            "required": true,
            "in": "path",
            "description": "The name of the view to check",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": true,
            "in": "path",
            "description": "The type of the view to check",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Filter matching name and type exists"
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Check whether a view name exists for a type",
        "tags": [
          "Views"
        ]
      }
    },
    "/aiops/api/v2/configuration/menus": {
      "get": {
        "description": "Retrieve menus from the user config service with optional filtering. Admin users can retrieve menus across all users.",
        "operationId": "MenusController_get_v2",
        "parameters": [
          {
            "name": "all",
            "required": false,
            "in": "query",
            "description": "Admin-only. When set to true, returns menus across all users and the filter query parameter is ignored",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter",
            "required": false,
            "in": "query",
            "description": "A search condition for a particular set of menus",
            "schema": {
              "example": "metatdata.createdBy = 'admin'",
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of menus has been successfully retrieved",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Menu"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve a list of menus",
        "tags": [
          "Menus"
        ]
      },
      "post": {
        "description": "Create a menu in the user config service.",
        "operationId": "MenusController_create_v2",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMenuDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The new menu has been accepted and created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateMenuResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "409": {
            "description": "Failed to create"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create a menu",
        "tags": [
          "Menus"
        ]
      }
    },
    "/aiops/api/v2/configuration/menus/{id}": {
      "get": {
        "description": "Retrieve a menu by ID from the user config service.",
        "operationId": "MenusController_getOne_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The id of the menu to get",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The matching menu",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Menu"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve a menu",
        "tags": [
          "Menus"
        ]
      },
      "patch": {
        "description": "Update a menu by ID in the user config service.",
        "operationId": "MenusController_update_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The id of the menu to update",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMenuDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated menu definition",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Menu"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "409": {
            "description": "Failed to create"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Update a menu",
        "tags": [
          "Menus"
        ]
      },
      "delete": {
        "description": "Delete a menu by ID from the user config service.",
        "operationId": "MenusController_deleteOne_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The id of the menu to delete",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Menu has been successfully deleted"
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Delete a menu",
        "tags": [
          "Menus"
        ]
      }
    },
    "/aiops/api/v2/configuration/tools": {
      "get": {
        "description": "Retrieve tools from the user config service with optional filtering. Admin users can retrieve tools across all users.",
        "operationId": "ToolsController_get_v2",
        "parameters": [
          {
            "name": "all",
            "required": false,
            "in": "query",
            "description": "Admin-only. When set to true, returns tools across all users and the filter query parameter is ignored",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter",
            "required": false,
            "in": "query",
            "description": "A search condition for a particular set of tools",
            "schema": {
              "example": "metatdata.createdBy = 'admin'",
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of tools has been successfully retrieved",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Tool"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve a list of tools",
        "tags": [
          "Tools"
        ]
      },
      "post": {
        "description": "Create a tool in the user config service.",
        "operationId": "ToolsController_create_v2",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateToolDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The new tool has been accepted and created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateToolResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "409": {
            "description": "Failed to create"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create a tool",
        "tags": [
          "Tools"
        ]
      }
    },
    "/aiops/api/v2/configuration/tools/{id}": {
      "get": {
        "description": "Retrieve a tool by ID from the user config service.",
        "operationId": "ToolsController_getOne_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The id of the tool to get",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The matching tool",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Tool"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve a tool",
        "tags": [
          "Tools"
        ]
      },
      "patch": {
        "description": "Update a tool by ID in the user config service.",
        "operationId": "ToolsController_update_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The id of the tool to update",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateToolDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated tool definition",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Tool"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "409": {
            "description": "Failed to create"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Update a tool",
        "tags": [
          "Tools"
        ]
      },
      "delete": {
        "description": "Delete a tool by ID from the user config service.",
        "operationId": "ToolsController_deleteOne_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The id of the tool to delete",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Tool has been successfully deleted"
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Delete a tool",
        "tags": [
          "Tools"
        ]
      }
    },
    "/aiops/api/v2/configuration/runbooks": {
      "get": {
        "description": "Retrieve a list of all runbooks available in the system. Returns runbook details including its draft status.",
        "operationId": "RunbookController_get_v2",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of runbooks has been successfully retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/GetRunbookDto"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The request sent to the server to get list of Runbooks was invalid."
          },
          "404": {
            "description": "Runbook items could not be found."
          },
          "500": {
            "description": "An internal error occurred while trying to retrieve the list of runbook."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get all runbooks",
        "tags": [
          "Runbooks"
        ]
      },
      "post": {
        "description": "Create a new runbook with the specified configuration. Create the runbook as a draft or publish immediately. Returns the created runbook details.",
        "operationId": "RunbookController_create_v2",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRunbookDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The new runbook has been created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetRunbookDto"
                }
              }
            }
          },
          "400": {
            "description": "The request sent to the server to create runbook was invalid."
          },
          "409": {
            "description": "The runbook could not be created as a runbook already existed with that id or name."
          },
          "500": {
            "description": "An internal error occurred while trying to create the runbook."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create a new runbook",
        "tags": [
          "Runbooks"
        ]
      }
    },
    "/aiops/api/v2/configuration/runbooks/{id}": {
      "get": {
        "description": "Retrieve detailed information about a specific runbook identified by its ID. Optionally filter the runbook information by fields or specify structure format (original, flat, export, exportKeepId).",
        "operationId": "RunbookController_getRunbookbyId_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the runbook",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "required": false,
            "in": "query",
            "description": "Limit the content of the runbooks to the following fields",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "structure",
            "required": false,
            "in": "query",
            "description": "Define how the runbook should be displayed.",
            "schema": {
              "enum": [
                "original",
                "flat",
                "export",
                "exportKeepId"
              ],
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The runbook has been retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetRunbookDto"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by runbook service."
          },
          "404": {
            "description": "Runbook not found."
          },
          "500": {
            "description": "Request to runbook service failed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get runbook by ID",
        "tags": [
          "Runbooks"
        ]
      },
      "patch": {
        "description": "Update an existing runbook identified by its ID. This may create a new version or modify the existing one depending on the draft parameter. Returns the updated runbook details.",
        "operationId": "RunbookController_updateById_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the runbook",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRunbookDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The runbook has been changed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetRunbookDto"
                }
              }
            }
          },
          "201": {
            "description": "A new version of the runbook has been created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetRunbookDto"
                }
              }
            }
          },
          "400": {
            "description": "The input was invalid. Read the error message and adjust your input before trying again."
          },
          "401": {
            "description": "The request was not authorized. Make sure your API key is valid and the user and password are entered correctly."
          },
          "403": {
            "description": "The user is lacking the appropriate rights to conduct this operation."
          },
          "404": {
            "description": "A runbook with the supplied runbookId cannot be found."
          },
          "409": {
            "description": "The runbook is currently locked by another user."
          },
          "500": {
            "description": "An internal error happened. A correlationId is provided. Include this ID in any request towards IBM support."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Update runbook",
        "tags": [
          "Runbooks"
        ]
      },
      "delete": {
        "description": "Delete a runbook identified by its ID. Optionally force deletion even if the runbook is referenced elsewhere.",
        "operationId": "RunbookController_deleteById_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the runbook",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "force",
            "required": false,
            "in": "query",
            "description": "Force deletion even if the runbook is referenced elsewhere",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The runbook has been deleted successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "example": "Runbook with ID {runbookId} has been deleted successfully"
                    },
                    "runbookId": {
                      "type": "string",
                      "example": "test-runbook-id"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request to delete the runbook is invalid."
          },
          "404": {
            "description": "Runbook with the specified ID was not found."
          },
          "500": {
            "description": "Request to runbook service failed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Delete runbook",
        "tags": [
          "Runbooks"
        ]
      }
    },
    "/aiops/api/v2/configuration/runbooks/{id}/stats": {
      "get": {
        "description": "Retrieve execution statistics for a specific runbook. Optionally include statistics for a specific context, Example - Alerts, etc.",
        "operationId": "RunbookController_getStatsbyId_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the runbook",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "context",
            "required": false,
            "in": "query",
            "description": "Include statistics for specific context. Example - Alerts",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The runbook statistics have been retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunbookStatsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by runbook service."
          },
          "404": {
            "description": "Runbook not found."
          },
          "500": {
            "description": "Request to runbook service failed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get runbook statistics",
        "tags": [
          "Runbooks"
        ]
      }
    },
    "/aiops/api/v2/configuration/runbooks/{id}/references": {
      "get": {
        "description": "Retrieve all references associated with a specific runbook, showing where the runbook is used or referenced.",
        "operationId": "RunbookController_getReferencesbyId_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the runbook",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The runbook references have been successfully retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/GetRunbookReferenceDto"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by runbook service."
          },
          "404": {
            "description": "Runbook not found."
          },
          "500": {
            "description": "Request to runbook service failed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get runbook references",
        "tags": [
          "Runbooks"
        ]
      }
    },
    "/aiops/api/v2/configuration/runbooks/{id}/versions": {
      "get": {
        "description": "Retrieve all versions of a specific runbook, including historical versions and their draft status.",
        "operationId": "RunbookController_getallVersionbyId_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the runbook",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "All versions of the runbook have been successfully retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/GetRunbookDto"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by runbook service."
          },
          "404": {
            "description": "Runbook not found."
          },
          "500": {
            "description": "Request to runbook service failed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get all runbook versions",
        "tags": [
          "Runbooks"
        ]
      }
    },
    "/aiops/api/v2/configuration/runbooks/{id}/version/{version}": {
      "get": {
        "description": "Retrieve a specific version of a runbook identified by runbook ID and version number.",
        "operationId": "RunbookController_getVersionbyId_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the runbook",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "required": true,
            "in": "path",
            "description": "Version of the runbook, for Example - 0, 1, etc",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The runbook has been retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetRunbookDto"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by runbook service."
          },
          "404": {
            "description": "Runbook not found."
          },
          "500": {
            "description": "Request to runbook service failed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get specific runbook version",
        "tags": [
          "Runbooks"
        ]
      }
    },
    "/aiops/api/v2/configuration/runbooks/{id}/run": {
      "post": {
        "description": "Execute a runbook identified by its ID. Creates a runbook execution instance and returns the instance ID for tracking execution status. Optionally specify version, context and other parameters.",
        "operationId": "RunbookController_executeRunbookbyId_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the runbook",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExecuteRunbook"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The call was successful. A runbook execution record has been created. Use the returned runbookInstanceId to check the status of the execution.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "runbookInstanceId": {
                      "type": "string",
                      "example": "instance-123"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The input was invalid. Read the error message and adjust your input before trying again."
          },
          "401": {
            "description": "The request was not authorized. Make sure your API key is valid and the user and password are entered correctly."
          },
          "403": {
            "description": "The user is lacking the appropriate rights to conduct this operation."
          },
          "404": {
            "description": "A runbook with the supplied runbookId cannot be found."
          },
          "500": {
            "description": "An internal error happened. A correlationId is provided. Include this ID in any request towards IBM support."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Execute runbook",
        "tags": [
          "Runbooks"
        ]
      }
    },
    "/aiops/api/v2/configuration/runbooks/{id}/executions": {
      "get": {
        "description": "Retrieve all execution instances for a specific runbook. Returns a list of execution records with their status and other details.",
        "operationId": "RunbookController_getRunbookExecution_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the runbook",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The runbook execution data has been successfully retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/GetRunbookExecutionDto"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The input was invalid. Read the error message and adjust your input before trying again."
          },
          "401": {
            "description": "The request was not authorized. Make sure your API key is valid and the user and password are entered correctly."
          },
          "403": {
            "description": "The user is lacking the appropriate rights to conduct this operation."
          },
          "404": {
            "description": "A runbook instance with the supplied runbook instance id could not be found."
          },
          "500": {
            "description": "An internal error happened. A correlationId is provided. Include this ID in any request towards IBM support."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get runbook executions",
        "tags": [
          "Runbooks"
        ]
      },
      "post": {
        "description": "Create a new manual execution instance for a specific runbook. Allows specifying parameters, version, context, and timeline update preferences.",
        "operationId": "RunbookController_postRunbookExecution_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the runbook",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ManualRunbookExecution"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "A new runbook instance has been created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetRunbookExecutionDto"
                }
              }
            }
          },
          "400": {
            "description": "The input was invalid. Read the error message and adjust your input before trying again."
          },
          "401": {
            "description": "The request was not authorized. Make sure your API key is valid and the user and password are entered correctly."
          },
          "403": {
            "description": "The user is lacking the appropriate rights to conduct this operation."
          },
          "404": {
            "description": "A runbook instance with the supplied runbook instance id could not be found."
          },
          "500": {
            "description": "An internal error happened. A correlationId is provided. Include this ID in any request towards IBM support."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create runbook execution",
        "tags": [
          "Runbooks"
        ]
      }
    },
    "/aiops/api/v2/configuration/runbook-executions": {
      "get": {
        "description": "Retrieve a list of all runbook execution instances with optional filtering by date range, owner, runbook, version, context, name, status, and type. Supports pagination and field selection.",
        "operationId": "RunbookExecutionsController_getAllRunbookExecutions_v2",
        "parameters": [
          {
            "name": "from",
            "required": false,
            "in": "query",
            "description": "Only display runbook instances started after this value. You can use a string representing a time (e.g., \"2022-03-15\") or a timestamp. If no value is set, the default is seven days before the current time.",
            "schema": {
              "example": "2022-03-15",
              "type": "string"
            }
          },
          {
            "name": "to",
            "required": false,
            "in": "query",
            "description": "Only display runbook instances started before this value. You can use a string representing a time (e.g., \"2022-03-15\") or a timestamp. If no value is set, the default is the current time.",
            "schema": {
              "example": "2022-03-20",
              "type": "string"
            }
          },
          {
            "name": "owner",
            "required": false,
            "in": "query",
            "description": "Accepts a user name or a comma-separated list of user names. Restricts the output to runbook instances created by one of the defined users.",
            "schema": {
              "example": "user@example.com,admin@example.com",
              "type": "string"
            }
          },
          {
            "name": "runbook",
            "required": false,
            "in": "query",
            "description": "Accepts a runbookId or a comma-separated list of runbookIds. Will only display the runbook instances matching a supplied runbookId.",
            "schema": {
              "example": "runbook-123,runbook-456",
              "type": "string"
            }
          },
          {
            "name": "version",
            "required": false,
            "in": "query",
            "description": "Accepts a number. Will only display the runbook instances matching the defined version number.",
            "schema": {
              "minimum": 0,
              "example": 1,
              "type": "number"
            }
          },
          {
            "name": "context",
            "required": false,
            "in": "query",
            "description": "Accepts a context string or a comma-separated list of context strings. Will only display the runbook instances matching a supplied context.",
            "schema": {
              "example": "alert-123,incident-456",
              "type": "string"
            }
          },
          {
            "name": "name",
            "required": false,
            "in": "query",
            "description": "Accepts a comma-separated list of Regular Expressions. Restricts the output to runbook instances in which the runbook name matches at least one of the Regular Expressions. Note: As the list is separated by commas, the Regular Expressions for this option cannot use the comma to define quantifiers.",
            "schema": {
              "example": "^Restart.*,.*Database.*",
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "description": "Accepts a status or a comma-separated list of status. Restricts the output to runbook instances matching the status. The following values are allowed: in progress, complete, success, failure, canceled. \"complete\" displays all terminated runbooks, no matter whether they were successful or have been canceled. \"canceled\" covers all canceled runbooks, no matter which cancellation reason was given.",
            "schema": {
              "example": "success,in progress",
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": false,
            "in": "query",
            "description": "Filters the output either to manual or fully automated runbook instances.",
            "schema": {
              "example": "manual",
              "type": "string",
              "enum": [
                "manual",
                "automated"
              ]
            }
          },
          {
            "name": "fields",
            "required": false,
            "in": "query",
            "description": "Use \"fields\" to restrict the output to the properties specified in this query parameter. It accepts a comma separated list. All properties not in the list will not be displayed. This can be used to efficiently reduce the amount of transferred data and makes reading and automated parsing easier.",
            "schema": {
              "example": "_id,status,_runbookName,_createdAt",
              "type": "string"
            }
          },
          {
            "name": "pagination",
            "required": false,
            "in": "query",
            "description": "Use a previously received continuation bookmark or a page index (where pagination=0 identifies the first page).",
            "schema": {
              "example": "0",
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The runbook execution data has been successfully retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/GetRunbookExecutionDto"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "The input was invalid. Read the error message and adjust your input before trying again."
          },
          "401": {
            "description": "The request was not authorized. Make sure your API key is valid and the user and password are entered correctly."
          },
          "403": {
            "description": "The user is lacking the appropriate rights to conduct this operation."
          },
          "404": {
            "description": "A runbook instance with the supplied runbook instance id could not be found."
          },
          "500": {
            "description": "An internal error happened. A correlationId is provided. Include this ID in any request towards IBM support."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get all runbook executions",
        "tags": [
          "Runbooks"
        ]
      },
      "post": {
        "description": "Create a new execution instance for a specified runbook. Allows specifying parameters, version, context, and timeline update preferences.",
        "operationId": "RunbookExecutionsController_createRunbookExecution_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "query",
            "description": "The runbook ID for which to create an execution",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ManualRunbookExecution"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "A new runbook instance has been created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetRunbookExecutionDto"
                }
              }
            }
          },
          "400": {
            "description": "The input was invalid. Read the error message and adjust your input before trying again."
          },
          "401": {
            "description": "The request was not authorized. Make sure your API key is valid and the user and password are entered correctly."
          },
          "403": {
            "description": "The user is lacking the appropriate rights to conduct this operation."
          },
          "404": {
            "description": "A runbook instance with the supplied runbook instance id could not be found."
          },
          "500": {
            "description": "An internal error happened. A correlationId is provided. Include this ID in any request towards IBM support."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create a runbook execution",
        "tags": [
          "Runbooks"
        ]
      }
    },
    "/aiops/api/v2/configuration/runbook-executions/{runbookInstanceId}": {
      "get": {
        "description": "Retrieve detailed information about a specific runbook execution instance. Optionally control the amount of data returned (minimal, runbook, automation, full).",
        "operationId": "RunbookExecutionsController_getRunbookWithInstanceId_v2",
        "parameters": [
          {
            "name": "runbookInstanceId",
            "required": true,
            "in": "path",
            "description": "ID of the runbook instance",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "data",
            "required": false,
            "in": "query",
            "description": "Control the amount of data per instance.",
            "schema": {
              "enum": [
                "minimal",
                "runbook",
                "automation",
                "full"
              ],
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Runbook instance is retrieved succesfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetRunbookExecutionDto"
                }
              }
            }
          },
          "404": {
            "description": "Runbook instance is not found for the given InstanceId."
          },
          "500": {
            "description": "Request to Runbook service failed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get runbook execution by instance ID",
        "tags": [
          "Runbooks"
        ]
      },
      "patch": {
        "description": "Update an existing runbook execution instance identified by its instance ID. Allows modification of execution parameters and status.",
        "operationId": "RunbookExecutionsController_updateRunbookwithInstanceId_v2",
        "parameters": [
          {
            "name": "runbookInstanceId",
            "required": true,
            "in": "path",
            "description": "ID of the runbook instance",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRunbookExecutionDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Runbook instance updated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetRunbookExecutionDto"
                }
              }
            }
          },
          "400": {
            "description": "The input was invalid. Read the error message and adjust your input before trying again."
          },
          "401": {
            "description": "The request was not authorized. Make sure your API key is valid and the user and password are entered correctly."
          },
          "403": {
            "description": "The user is lacking the appropriate rights to conduct this operation."
          },
          "404": {
            "description": "A runbook instance with the supplied runbook instance id could not be found."
          },
          "500": {
            "description": "An internal error happened. A correlationId is provided. Include this ID in any request towards IBM support."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Update runbook execution",
        "tags": [
          "Runbooks"
        ]
      },
      "delete": {
        "description": "Delete a runbook execution instance identified by its instance ID. Optionally cascade delete associated automation instances.",
        "operationId": "RunbookExecutionsController_deleteRunbookwithInstanceId_v2",
        "parameters": [
          {
            "name": "runbookInstanceId",
            "required": true,
            "in": "path",
            "description": "ID of the runbook instance",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cascade",
            "required": false,
            "in": "query",
            "description": "Cascade delete automation instances",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The runbook instance has been deleted successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "example": "Runbook instance with ID {runbookId} has been deleted successfully."
                    },
                    "runbookId": {
                      "type": "string",
                      "example": "test-runbook-id"
                    }
                  }
                }
              }
            }
          },
          "204": {
            "description": "Runbook instance deleted successfully."
          },
          "401": {
            "description": "The request was not authorized. Make sure your API key is valid and the user and password are entered correctly."
          },
          "403": {
            "description": "The user is lacking the appropriate rights to conduct this operation."
          },
          "404": {
            "description": "A runbook instance with the supplied runbook instance id could not be found."
          },
          "409": {
            "description": "Conflict - The resource cannot be deleted due to a conflict."
          },
          "500": {
            "description": "An internal error happened. A correlationId is provided. Include this ID in any request towards IBM support."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Delete runbook execution",
        "tags": [
          "Runbooks"
        ]
      }
    },
    "/aiops/api/v2/configuration/user-preferences/_self": {
      "get": {
        "description": "Retrieve all preferences for the authenticated user. Returns a collection of preference definitions with their current values.",
        "operationId": "UserPreferencesController_getSelf_v2",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The list of preferences for the user",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Preference"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "401": {
            "description": "Unauthorized - Missing or invalid authentication token"
          },
          "403": {
            "description": "Forbidden - Insufficient permissions to access the resource"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve current user preferences",
        "tags": [
          "User Preferences"
        ]
      }
    },
    "/aiops/api/v2/configuration/user-preferences/_self/{key}": {
      "put": {
        "description": "Create or update a user preference by unique key for the authenticated user. If the preference does not exist, it will be created; otherwise, it will be updated with the new value.",
        "operationId": "UserPreferencesController_putSelfByKey_v2",
        "parameters": [
          {
            "name": "key",
            "required": true,
            "in": "path",
            "description": "The unique key for a preference",
            "schema": {
              "example": "MyPreferenceName",
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePreferenceValueDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated preference definition",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Preference"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "401": {
            "description": "Unauthorized - Missing or invalid authentication token"
          },
          "403": {
            "description": "Forbidden - Insufficient permissions to access the resource"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Upsert a user preference by unique key",
        "tags": [
          "User Preferences"
        ]
      },
      "delete": {
        "description": "Delete a specific preference for the authenticated user by its unique key.",
        "operationId": "UserPreferencesController_deleteSelfByKey_v2",
        "parameters": [
          {
            "name": "key",
            "required": true,
            "in": "path",
            "description": "The unique key for a preference",
            "schema": {
              "example": "MyPreferenceName",
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "User preference has been successfully deleted"
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "401": {
            "description": "Unauthorized - Missing or invalid authentication token"
          },
          "403": {
            "description": "Forbidden - Insufficient permissions to access the resource"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Delete a user preference by unique key",
        "tags": [
          "User Preferences"
        ]
      }
    },
    "/aiops/api/v2/configuration/user-preferences": {
      "get": {
        "description": "Admin-only endpoint to retrieve all preferences across all users in the tenant. Returns a collection of all preference definitions.",
        "operationId": "UserPreferencesController_get_v2",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The list of all preferences",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Preference"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "401": {
            "description": "Unauthorized - Missing or invalid authentication token"
          },
          "403": {
            "description": "Forbidden - Insufficient permissions to access the resource"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve all user preferences (Admin)",
        "tags": [
          "User Preferences"
        ]
      }
    },
    "/aiops/api/v2/configuration/user-preferences/{id}": {
      "get": {
        "description": "Admin-only endpoint to retrieve all preferences for a specific user by their user ID. Returns a collection of preference definitions for the specified user.",
        "operationId": "UserPreferencesController_getOne_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The id of the user",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Details on all of the users defined preferences",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Preference"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "401": {
            "description": "Unauthorized - Missing or invalid authentication token"
          },
          "403": {
            "description": "Forbidden - Insufficient permissions to access the resource"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve preferences for a specific user (Admin)",
        "tags": [
          "User Preferences"
        ]
      },
      "delete": {
        "description": "Admin-only endpoint to delete all preferences for a specific user by their user ID.",
        "operationId": "UserPreferencesController_deleteOne_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The id of the user",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "User preferences has been successfully deleted"
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "401": {
            "description": "Unauthorized - Missing or invalid authentication token"
          },
          "403": {
            "description": "Forbidden - Insufficient permissions to access the resource"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Delete all preferences for a user (Admin)",
        "tags": [
          "User Preferences"
        ]
      }
    },
    "/aiops/api/v2/configuration/user-preferences/{id}/keys/{key}": {
      "get": {
        "description": "Admin-only endpoint to retrieve a specific preference for a user by user ID and preference key. Returns the preference definition with its current value.",
        "operationId": "UserPreferencesController_getByKey_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The id of the user",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "required": true,
            "in": "path",
            "description": "The key of the preference",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested preference",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Preference"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "401": {
            "description": "Unauthorized - Missing or invalid authentication token"
          },
          "403": {
            "description": "Forbidden - Insufficient permissions to access the resource"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve a specific user preference by key (Admin)",
        "tags": [
          "User Preferences"
        ]
      },
      "put": {
        "description": "Admin-only endpoint to create or update a user preference by user ID and preference key. If the preference does not exist, it will be created; otherwise, it will be updated with the new value.",
        "operationId": "UserPreferencesController_putByKey_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The id of the user",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "required": true,
            "in": "path",
            "description": "The key of the preference",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePreferenceValueDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated preference definition",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Preference"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "401": {
            "description": "Unauthorized - Missing or invalid authentication token"
          },
          "403": {
            "description": "Forbidden - Insufficient permissions to access the resource"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Upsert a user preference by key (Admin)",
        "tags": [
          "User Preferences"
        ]
      },
      "delete": {
        "description": "Admin-only endpoint to delete a specific preference for a user by user ID and preference key.",
        "operationId": "UserPreferencesController_deleteByKey_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The id of the user",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "required": true,
            "in": "path",
            "description": "The key of the preference",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "User preference has been successfully deleted"
          },
          "400": {
            "description": "Invalid request reported by user-config"
          },
          "401": {
            "description": "Unauthorized - Missing or invalid authentication token"
          },
          "403": {
            "description": "Forbidden - Insufficient permissions to access the resource"
          },
          "404": {
            "description": "Request to find item failed"
          },
          "500": {
            "description": "Request to user-config failed"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Delete a user preference by key (Admin)",
        "tags": [
          "User Preferences"
        ]
      }
    },
    "/aiops/api/v2/configuration/training-definitions": {
      "get": {
        "description": "Retrieve a list of all training definitions from the ai-platform service",
        "operationId": "TrainingDefinitionsController_getAllTrainingDefinitions_v2",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of all training definitions",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/TrainingDefinitionDto"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve all training definitions",
        "tags": [
          "Training Definitions"
        ]
      },
      "post": {
        "description": "Create a new training definition in the ai-platform service",
        "operationId": "TrainingDefinitionsController_createTrainingDefinition_v2",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTrainingDefinitionDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Training definition created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MutationResultDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create a new training definition",
        "tags": [
          "Training Definitions"
        ]
      }
    },
    "/aiops/api/v2/configuration/training-definitions/{name}": {
      "get": {
        "description": "Retrieve a specific training definition from the ai-platform service",
        "operationId": "TrainingDefinitionsController_getTrainingDefinition_v2",
        "parameters": [
          {
            "name": "name",
            "required": true,
            "in": "path",
            "description": "The unique name used to identify the training definition",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of all training definitions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingDefinitionDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "404": {
            "description": "Training definition not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse404Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve a specific training definition by name",
        "tags": [
          "Training Definitions"
        ]
      },
      "patch": {
        "description": "Update an existing training definition in the ai-platform service",
        "operationId": "TrainingDefinitionsController_updateTrainingDefinition_v2",
        "parameters": [
          {
            "name": "name",
            "required": true,
            "in": "path",
            "description": "The unique name used to identify the training definition",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTrainingDefinitionDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Training definition updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MutationResultDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Update an existing training definition",
        "tags": [
          "Training Definitions"
        ]
      },
      "delete": {
        "description": "Delete a training definition from the ai-platform service",
        "operationId": "TrainingDefinitionsController_deleteTrainingDefinition_v2",
        "parameters": [
          {
            "name": "name",
            "required": true,
            "in": "path",
            "description": "The unique name used to identify the training definition",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Training definition deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MutationResultDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Delete a training definition",
        "tags": [
          "Training Definitions"
        ]
      }
    },
    "/aiops/api/v2/configuration/training-definitions/{name}/model-versions": {
      "get": {
        "description": "Retrieve all trained model versions for a training definition from the ai-platform service",
        "operationId": "TrainingDefinitionsController_getTrainedModelVersions_v2",
        "parameters": [
          {
            "name": "name",
            "required": true,
            "in": "path",
            "description": "The unique name used to identify the training definition",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of trained model versions generated by the training definition",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/TrainedModelDto"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve all trained model versions",
        "tags": [
          "Training Definitions"
        ]
      }
    },
    "/aiops/api/v2/configuration/training-definitions/{name}/model-versions/{model_version}": {
      "get": {
        "description": "Retrieve a specific trained model version for a training definition from the ai-platform service",
        "operationId": "TrainingDefinitionsController_getTrainedModelVersion_v2",
        "parameters": [
          {
            "name": "name",
            "required": true,
            "in": "path",
            "description": "The unique name used to identify the training definition",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "model_version",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The trained model version generated by the training definition",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainedModelDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "404": {
            "description": "Training definition or model version could not be found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse404Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve a specific trained model version",
        "tags": [
          "Training Definitions"
        ]
      },
      "delete": {
        "description": "Delete a specific trained model version from the ai-platform service. Cannot be the current deployed model version",
        "operationId": "TrainingDefinitionsController_deleteTrainedModelVersion_v2",
        "parameters": [
          {
            "name": "name",
            "required": true,
            "in": "path",
            "description": "The unique name used to identify the training definition",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "model_version",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The result of deleting the trained model version",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MutationResultDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Delete a trained model version",
        "tags": [
          "Training Definitions"
        ]
      }
    },
    "/aiops/api/v2/configuration/training-definitions/{name}/precheck": {
      "get": {
        "description": "Retrieve the latest precheck run status for a training definition from the ai-platform service",
        "operationId": "TrainingDefinitionsController_getLastPrecheckStatus_v2",
        "parameters": [
          {
            "name": "name",
            "required": true,
            "in": "path",
            "description": "The unique name used to identify the training definition",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Latest precheck run status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrecheckStatusDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "404": {
            "description": "The requested training definition or last precheck status could not be found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse404Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve the latest precheck status",
        "tags": [
          "Training Definitions"
        ]
      },
      "post": {
        "description": "Start a precheck run for a training definition in the ai-platform service to validate data quality",
        "operationId": "TrainingDefinitionsController_startPrecheckRun_v2",
        "parameters": [
          {
            "name": "name",
            "required": true,
            "in": "path",
            "description": "The unique name used to identify the training definition",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Latest precheck run status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MutationResultDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "404": {
            "description": "The requested training definition or last precheck status could not be found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse404Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Start a precheck run",
        "tags": [
          "Training Definitions"
        ]
      },
      "delete": {
        "description": "Stop the current precheck run for a training definition in the ai-platform service",
        "operationId": "TrainingDefinitionsController_stopPrecheckRun_v2",
        "parameters": [
          {
            "name": "name",
            "required": true,
            "in": "path",
            "description": "The unique name used to identify the training definition",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Result of requested update",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MutationResultDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Stop a precheck run",
        "tags": [
          "Training Definitions"
        ]
      }
    },
    "/aiops/api/v2/configuration/training-definitions/{name}/training": {
      "get": {
        "description": "Retrieve the latest training run status for a training definition from the ai-platform service",
        "operationId": "TrainingDefinitionsController_getLastTrainingRunStatus_v2",
        "parameters": [
          {
            "name": "name",
            "required": true,
            "in": "path",
            "description": "The unique name used to identify the training definition",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Latest training status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingStatusDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "404": {
            "description": "The requested training definition or training status could not be found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse404Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve the latest training run status",
        "tags": [
          "Training Definitions"
        ]
      },
      "post": {
        "description": "Start a training run for a training definition in the ai-platform service",
        "operationId": "TrainingDefinitionsController_startTrainingRun_v2",
        "parameters": [
          {
            "name": "name",
            "required": true,
            "in": "path",
            "description": "The unique name used to identify the training definition",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Latest training run status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MutationResultDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Start a training run",
        "tags": [
          "Training Definitions"
        ]
      }
    },
    "/aiops/api/v2/configuration/config/backup": {
      "get": {
        "description": "Executes the BackupTool to export UI configuration settings and returns the backup as a JSON string. This is intended for use by administrators to backup configuration data.",
        "operationId": "TopologyController_getConfig_v2",
        "parameters": [
          {
            "name": "config",
            "required": false,
            "in": "query",
            "description": "Type of configuration to backup",
            "schema": {
              "enum": [
                "all",
                "tools",
                "preferences",
                "types",
                "edges",
                "links",
                "icons",
                "rules",
                "criticality",
                "jobs",
                "settings",
                "templates"
              ],
              "type": "string"
            }
          },
          {
            "name": "verbose",
            "required": false,
            "in": "query",
            "description": "Enable verbose logging",
            "schema": {
              "example": false,
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Trigger a backup of topology UI configuration. Executes the BackupTool to export UI configuration settings and returns the backup as a JSON array.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/TopologyConfigRuleDto"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid parameters provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestErrorResponseDto"
                }
              }
            }
          },
          "500": {
            "description": "Backup failed. The backup tool encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Backup topology UI configuration",
        "tags": [
          "Topology"
        ]
      }
    },
    "/aiops/api/v2/configuration/config/restore": {
      "post": {
        "description": "Executes the ImportTool to import UI configuration settings from the provided backup data. The backup data should be provided in the request body as a JSON string (the same format returned by the backup endpoint). This is intended for use by administrators to restore configuration data.",
        "operationId": "TopologyController_postConfig_v2",
        "parameters": [
          {
            "name": "overwrite",
            "required": false,
            "in": "query",
            "description": "Force overwriting of existing configuration",
            "schema": {
              "example": false,
              "type": "boolean"
            }
          },
          {
            "name": "purge",
            "required": false,
            "in": "query",
            "description": "Purge of existing configuration prior to import",
            "schema": {
              "example": false,
              "type": "boolean"
            }
          },
          {
            "name": "verbose",
            "required": false,
            "in": "query",
            "description": "Enable verbose logging",
            "schema": {
              "example": false,
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "description": "Topology configuration rules to restore",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TopologyRestoreRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Restore topology UI configuration from backup data. Executes the ImportTool to import UI configuration settings from the provided backup data. The backup data should be provided in the request body as a JSON string (the same format returned by the backup endpoint). This is intended for use by administrators to restore configuration data.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TopologyRestoreSuccessDto"
                }
              }
            }
          },
          "400": {
            "description": "Invalid parameters or backup data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestErrorResponseDto"
                }
              }
            }
          },
          "500": {
            "description": "Restore failed. The import tool encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerErrorResponseDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Restore topology UI configuration",
        "tags": [
          "Topology"
        ]
      }
    },
    "/aiops/api/v2/configuration/policies": {
      "get": {
        "description": "Retrieve all policies from the policy registry service with optional filtering and sorting",
        "operationId": "PoliciesController_getAllPolicies_v2",
        "parameters": [
          {
            "name": "createdBy",
            "required": false,
            "in": "query",
            "description": "Filters policies based on who or what created them.\n\n*Example values:* system, temporal-patterns-correlation, any user ID, or any service name",
            "schema": {
              "example": [
                ""
              ],
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "triggerId",
            "required": false,
            "in": "query",
            "description": "Filter policies by trigger ID. Matches policies that respond to specific lifecycle events.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "aiops.ibm.com/trigger/alert-pre-create",
                  "aiops.ibm.com/trigger/alert-created",
                  "aiops.ibm.com/trigger/alert-pre-update",
                  "aiops.ibm.com/trigger/alert-updated",
                  "aiops.ibm.com/trigger/alert-pre-delete",
                  "aiops.ibm.com/trigger/story-pre-create",
                  "aiops.ibm.com/trigger/story-created",
                  "aiops.ibm.com/trigger/story-pre-update",
                  "aiops.ibm.com/trigger/story-updated",
                  "aiops.ibm.com/trigger/story-pre-delete",
                  "aiops.ibm.com/trigger/event-received"
                ]
              }
            }
          },
          {
            "name": "sort",
            "required": false,
            "in": "query",
            "description": "Sort policies by one or more fields.\n\nDefault: executionPriority:asc, lastRun:desc",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "lastRun:asc",
                  "lastRun:desc",
                  "lastFailure:asc",
                  "lastFailure:desc",
                  "policyId:asc",
                  "policyId:desc",
                  "entityId:asc",
                  "entityId:desc",
                  "lastUpdatedBy:asc",
                  "lastUpdatedBy:desc",
                  "lastUpdatedTimestamp:asc",
                  "lastUpdatedTimestamp:desc",
                  "creationTimestamp:asc",
                  "creationTimestamp:desc",
                  "type:asc",
                  "type:desc",
                  "policyName:asc",
                  "policyName:desc",
                  "executionPriority:asc",
                  "executionPriority:desc",
                  "state:asc",
                  "state:desc",
                  "executionState:asc",
                  "executionState:desc",
                  "automaticUpdates:asc",
                  "automaticUpdates:desc"
                ]
              }
            }
          },
          {
            "name": "state",
            "required": false,
            "in": "query",
            "description": "Filter policies by lifecycle state (draft, enabled, disabled, archived)",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "draft",
                  "enabled",
                  "disabled",
                  "archived"
                ]
              }
            }
          },
          {
            "name": "executionState",
            "required": false,
            "in": "query",
            "description": "The execution state of the policy",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "success",
                  "failed",
                  "recentfail",
                  "notrun"
                ]
              }
            }
          },
          {
            "name": "filter",
            "required": false,
            "in": "query",
            "description": "Advanced filter object for complex queries.\n\n**Supported fields:**\n- `entityId`: Filter by entity type (e.g., \"alert\")\n- `policyName`: Prefix search on policy name\n- `policyId`: Comma-separated policy IDs\n- `description`: Match phrase in description\n- `condition`: Prefix search on conditions\n- `type`: Creator type (\"system\" or \"user\")\n- `lastUpdatedBy`: Filter by last updater ID\n- `labels`: Array of label match criteria\n- `startTime`, `endTime`: Time range for last updated\n- `startRunTime`, `endRunTime`: Time range for last run\n- `minExecPriority`, `maxExecPriority`: Execution priority range (0-100)\n- `paginationFrom`, `paginationResponseSize`: Pagination\n- `searchAfter`: Cursor-based pagination array\n- `searchBehavior`: \"and\" or \"or\" for combining criteria",
            "examples": {
              "No filter (default)": {
                "description": "Returns all policies without any filter",
                "value": {}
              },
              "Filter with object": {
                "description": "Example filter object with multiple criteria",
                "value": {
                  "entityId": "alert",
                  "policyName": "Example Policy Name",
                  "labels": [
                    {
                      "match": {
                        "metadata.labels.ibm.com/is-default": "false"
                      }
                    }
                  ],
                  "lastUpdatedBy": "temporal-patterns-correlation",
                  "condition": "ASM Resource Deletion",
                  "type": "system",
                  "paginationFrom": 0,
                  "paginationResponseSize": 1000,
                  "policyId": "1a2a6787-59ad-4acd-bd0d-46c1ddfd8e06,7da7d565-6546-11ec-8507-455c0654654v8",
                  "description": "This is a user defined policy",
                  "startTime": "2021-12-07T19:58:18.033Z",
                  "endTime": "2021-12-07T20:58:18.033Z",
                  "startRunTime": "2021-12-07T19:58:18.033Z",
                  "endRunTime": "2021-12-07T20:58:18.033Z",
                  "minExecPriority": 0,
                  "maxExecPriority": 50,
                  "searchAfter": [
                    120,
                    "f242d2d0-8b7a-11ed-adae-e52275e3e472"
                  ],
                  "searchBehavior": "and"
                }
              }
            },
            "schema": {
              "$ref": "#/components/schemas/GetPoliciesQueryPolicyFilterDto"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved policies",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Policy"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve a list of policies",
        "tags": [
          "Policies"
        ]
      },
      "post": {
        "description": "Create a new policy in the policy registry service",
        "operationId": "PoliciesController_createPolicy_v2",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "description": "Policy data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePolicyDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Policy successfully created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Policy"
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Create a new policy",
        "tags": [
          "Policies"
        ]
      }
    },
    "/aiops/api/v2/configuration/policies/{id}": {
      "get": {
        "description": "Retrieve detailed configuration of a specific automation policy",
        "operationId": "PoliciesController_getPolicyById_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the policy",
            "schema": {
              "example": "550e8400-e29b-41d4-a716-446655440000",
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved policy",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Policy"
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse404Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve a single policy by ID",
        "tags": [
          "Policies"
        ]
      },
      "patch": {
        "description": "Update specific fields of a policy (name, state, and/or add a comment) without replacing the entire policy configuration. At least one query parameter must be provided.",
        "operationId": "PoliciesController_patchPolicyById_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the policy to update",
            "schema": {
              "example": "550e8400-e29b-41d4-a716-446655440000",
              "type": "string"
            }
          },
          {
            "name": "policyname",
            "required": false,
            "in": "query",
            "description": "New name for the policy",
            "schema": {
              "maxLength": 255,
              "example": "Updated Policy Name",
              "type": "string"
            }
          },
          {
            "name": "policystate",
            "required": false,
            "in": "query",
            "description": "New state for the policy",
            "schema": {
              "example": "enabled",
              "type": "string",
              "enum": [
                "draft",
                "enabled",
                "disabled",
                "archived"
              ]
            }
          },
          {
            "name": "commenttext",
            "required": false,
            "in": "query",
            "description": "Comment text to add to the policy timeline",
            "schema": {
              "maxLength": 1000,
              "example": "Updated policy configuration",
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Policy successfully updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Policy"
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse404Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Partially update a policy",
        "tags": [
          "Policies"
        ]
      },
      "delete": {
        "description": "Remove an automation policy that is no longer needed",
        "operationId": "PoliciesController_deletePolicyById_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the policy to delete",
            "schema": {
              "example": "550e8400-e29b-41d4-a716-446655440000",
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Policy successfully deleted"
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse404Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Delete a policy by ID",
        "tags": [
          "Policies"
        ]
      }
    },
    "/aiops/api/v2/configuration/policies/{id}/status": {
      "get": {
        "description": "Retrieve execution statistics including run count, failure count, and last error for a specific policy",
        "operationId": "PoliciesController_getPolicyStatusById_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the policy",
            "schema": {
              "example": "550e8400-e29b-41d4-a716-446655440000",
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved policy status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyStatusResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse404Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve policy execution status by policy ID",
        "tags": [
          "Policies"
        ]
      }
    },
    "/aiops/api/v2/configuration/policies/{id}/timeline-entries": {
      "get": {
        "description": "Retrieve chronological list of policy modifications for audit and configuration history tracking",
        "operationId": "PoliciesController_getPolicyTimelineById_v2",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the policy",
            "schema": {
              "example": "550e8400-e29b-41d4-a716-446655440000",
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "description": "The tenant to access",
            "required": true,
            "schema": {
              "type": "string",
              "default": "cfd95b7e-3bc7-4006-a4a8-a73a79c71255"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved policy timeline entries",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Collection"
                    },
                    {
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/PolicyTimelineEntryResponse"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request - client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse400Dto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse401Dto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse403Dto"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse404Dto"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse500Dto"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway - upstream server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse502Dto"
                }
              }
            }
          },
          "503": {
            "description": "Service is unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse503Dto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Retrieve policy timeline entries by policy ID",
        "tags": [
          "Policies"
        ]
      }
    }
  },
  "info": {
    "title": "IBM Cloud Pak for AIOps API",
    "description": "API for interacting with IBM Cloud Pak for AIOps",
    "version": "2.0",
    "contact": {}
  },
  "tags": [],
  "servers": [],
  "components": {
    "securitySchemes": {
      "bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "type": "http"
      }
    },
    "schemas": {
      "EventType": {
        "type": "object",
        "properties": {
          "eventType": {
            "description": "String description of whether the event is a problem or resolution event. ",
            "enum": [
              "problem",
              "resolution"
            ],
            "type": "string"
          },
          "classification": {
            "type": "string",
            "description": "Describes the type of the event, for example, utilization, system status, threshold breach, and so on. This property is used to determine the golden signals for an alert.",
            "example": "Utilization"
          },
          "condition": {
            "type": "string",
            "description": "The condition/status or threshold causing the event. E.g. Down, 95%, Unavailable"
          }
        },
        "required": [
          "eventType",
          "classification"
        ]
      },
      "Resource": {
        "type": "object",
        "properties": {
          "port": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              }
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of resource",
            "example": "host"
          },
          "name": {
            "type": "string",
            "description": "The name of the resource",
            "example": "myhost.example.com"
          },
          "sourceId": {
            "type": "string",
            "description": "The id the resource is known by in the source system",
            "example": "7045b61d-e59c-4270-b525-545d55ecd06e"
          },
          "hostname": {
            "type": "string",
            "description": "The hostname of the resource",
            "example": "myhost.example.com"
          },
          "ipAddress": {
            "type": "string",
            "description": "The IP address of the resource",
            "example": "9.123.123.1"
          },
          "service": {
            "type": "string",
            "description": "The name of the service that the resource is serving",
            "example": "mobile-app"
          },
          "interface": {
            "type": "string",
            "description": "The interface that is the subject of this event",
            "example": "eth0"
          },
          "application": {
            "type": "string",
            "description": "The application that is the subject of this event",
            "example": "mobile-app-1"
          },
          "controller": {
            "type": "string",
            "description": "The controller that is the subject of this event",
            "example": "controller1"
          },
          "component": {
            "type": "string",
            "description": "The component that is the subject of this event",
            "example": "database"
          },
          "cluster": {
            "type": "string",
            "description": "The cluster that is the subject of this event",
            "example": "staging-cluster"
          },
          "location": {
            "type": "string",
            "description": "The location of the resource"
          },
          "accessScope": {
            "type": "string",
            "description": "The project or namespace the resource is part of",
            "example": "default"
          },
          "connectionId": {
            "type": "string",
            "description": "Configuration unique identifier of the connection this event  came from.",
            "example": "f5aa7fa9-92eb-4bec-942c-37eb3e3e9601"
          },
          "scopeId": {
            "type": "string",
            "description": "The scope identifier value for this event from the originating system",
            "example": "myhost.example.com:location01"
          }
        },
        "required": [
          "name"
        ]
      },
      "Link": {
        "type": "object",
        "properties": {
          "linkType": {
            "type": "string",
            "description": "Describes what type of link this is, giving a hint as to what may consume it.",
            "example": "webpage"
          },
          "name": {
            "type": "string",
            "description": "An identifier for this link that can be referred to programmatically",
            "example": "management-console"
          },
          "description": {
            "type": "string",
            "description": "Descriptive text which defines what the link leads to"
          },
          "url": {
            "type": "string",
            "description": "A fully qualified URL that can be used to locate the target of the link",
            "example": "https://fan-controller.example.com/?fanId=1234"
          }
        },
        "required": [
          "url"
        ]
      },
      "ActionHistory": {
        "type": "object",
        "properties": {
          "policyId": {
            "type": "string",
            "description": "The ID of the policy that triggered the action.",
            "example": "policy1234"
          },
          "actionId": {
            "type": "string",
            "description": "The ID of the action the entity has passed through.",
            "example": "aiops/alerts/deriveFromEvent"
          }
        }
      },
      "AlertResolutionsResolutionLinksInner": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The URL link for the resolution.",
            "example": "null"
          },
          "title": {
            "type": "string",
            "description": "The title for the resolution.",
            "example": "null"
          },
          "content": {
            "type": "string",
            "description": "A content excerpt for the resolution.",
            "example": "null"
          }
        }
      },
      "AlertResolutions": {
        "type": "object",
        "properties": {
          "resolutionLinks": {
            "description": "A list of resolution URL links for the current alert.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlertResolutionsResolutionLinksInner"
            }
          },
          "shortDescription": {
            "type": "string",
            "description": "A short description for the log anomaly alert.",
            "example": "null"
          },
          "description": {
            "type": "string",
            "description": "A description about the current log anomaly alert.",
            "example": "null"
          },
          "category": {
            "type": "string",
            "description": "The detected error category.",
            "example": "null"
          },
          "subCategory": {
            "type": "string",
            "description": "The detected error subcategory.",
            "example": "null"
          }
        }
      },
      "HTTPErrorCodeType": {
        "type": "object",
        "properties": {
          "name": {
            "description": "An HTTP error code.",
            "enum": [
              "400",
              "401",
              "403",
              "408",
              "429",
              "500",
              "502",
              "503",
              "504",
              "5xx"
            ],
            "type": "string"
          },
          "unit": {
            "type": "string",
            "description": "The unit for the HTTP error code KPI.",
            "enum": [
              "count"
            ]
          }
        }
      },
      "ExceptionType": {
        "type": "object",
        "properties": {
          "unit": {
            "type": "string",
            "description": "unit for the exception KPI",
            "enum": [
              "count"
            ]
          },
          "name": {
            "type": "string",
            "description": "The name of the exception, in other words, a token containing the string \\\"exception\\\" found within a log.",
            "example": "[java.net.UnknownHostException,UnknownHostException,kafka.common.FailedToSendMessageException,ioException,java.lang.StringIndexOutOfBoundsException,java.lang.Exception,java.lang.ArithmeticException]"
          }
        }
      },
      "MessageIdType": {
        "type": "object",
        "properties": {
          "unit": {
            "type": "string",
            "description": "The unit for the message ID KPI.",
            "enum": [
              "count"
            ]
          },
          "name": {
            "type": "string",
            "description": "An IBM WebSphere or MQ message ID.",
            "example": "[AMQ90021,AMQ5005E,CWLIB0109E,TRAS3300E,SRVE9969E,WSVR8000E]"
          }
        }
      },
      "MetricType": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The metric name.",
            "example": "null"
          },
          "unit": {
            "type": "string",
            "description": "The unit for the metric KPI. For example, bytes, mb, ms, s, and so on.",
            "example": "null"
          }
        }
      },
      "KPI": {
        "type": "object",
        "properties": {
          "httpErrorCode": {
            "$ref": "#/components/schemas/HTTPErrorCodeType"
          },
          "exception": {
            "$ref": "#/components/schemas/ExceptionType"
          },
          "messageId": {
            "$ref": "#/components/schemas/MessageIdType"
          },
          "metric": {
            "$ref": "#/components/schemas/MetricType"
          }
        }
      },
      "ExpectedRange": {
        "type": "object",
        "properties": {
          "upperThreshold": {
            "type": "number",
            "description": "The expected upper bound of the count/frequency of the KPI in a given time aggregated window"
          },
          "lowerThreshold": {
            "type": "number",
            "description": "The expected lower bound of the count/frequency of the KPI in a given time aggregated window"
          }
        }
      },
      "Anomaly": {
        "type": "object",
        "properties": {
          "kpi": {
            "$ref": "#/components/schemas/KPI"
          },
          "algorithmNames": {
            "description": "A list of the algorithms that triggered an alert.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "expectedRange": {
            "$ref": "#/components/schemas/ExpectedRange"
          },
          "context": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "algorithmNamesString": {
            "type": "string",
            "description": "A comma separated string of the algorithms that triggered an alert.",
            "example": "null"
          },
          "actualValue": {
            "type": "number",
            "description": "The observed value for a KPI."
          },
          "expectedValue": {
            "type": "number",
            "description": "The expected value for a KPI."
          },
          "resourceAggregator": {
            "type": "string",
            "description": "An entity in the underlying client application that can be used to logically aggregate all anomalies related to the same application resource. For example, in the context of metric anomalies, this entity would be a server that could be used to aggregate anomalies across all ports exposed by that server. For log anomalies, this entity might be a Kubernetes ReplicaSet that aggregates all the pods it manages.",
            "example": "[server1,16THWILLIAM-19001,qotd-qrcode,sockshop-part]"
          }
        }
      },
      "AssociatedAlertTemplates": {
        "type": "object",
        "properties": {
          "error_template_list": {
            "description": "A list of error templates.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "error_count_vector": {
            "description": "The count vector corresponding to the error template list.",
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "significant_message_code": {
            "type": "string",
            "description": "The message code for the significant error template.",
            "example": "null"
          },
          "type_window": {
            "type": "string",
            "description": "Indicates the window type, in other words, \\\"liberty_twas\\\"",
            "example": "null"
          }
        }
      },
      "BusinessCriticality": {
        "type": "object",
        "properties": {
          "criticalityLabel": {
            "type": "string",
            "description": "The label of the assigned criticality.",
            "example": "null"
          },
          "criticalityNumber": {
            "type": "number",
            "description": "The numeric value of the criticality."
          }
        }
      },
      "CausalRelationship": {
        "type": "object",
        "properties": {
          "policyId": {
            "type": "string",
            "description": "The id of the policy that added this relationship (where applicable)",
            "example": "null"
          }
        }
      },
      "ChatOpsIntegrators": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for this integrator.",
            "example": "null"
          },
          "channel_name": {
            "type": "string",
            "description": "The ChatOps channel name.",
            "example": "null"
          },
          "name": {
            "type": "string",
            "description": "The specific ChatOps connection, for example, Slack or Microsoft Teams.",
            "example": "null"
          },
          "app_state": {
            "type": "string",
            "description": "The custom state field.",
            "example": "null"
          },
          "permalink": {
            "type": "string",
            "description": "The permalink for integrators.",
            "example": "null"
          }
        }
      },
      "ChatOpsNotificationNotificationInner": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "The type of notification.",
            "example": "slack"
          },
          "name": {
            "type": "string",
            "description": "The name of this notification.",
            "example": "AIOPSSystemDefault"
          },
          "details": {
            "type": "object",
            "description": "Additional information for the notification handler."
          }
        }
      },
      "ChatOpsNotification": {
        "type": "object",
        "properties": {
          "notification": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChatOpsNotificationNotificationInner"
            }
          }
        }
      },
      "CreatedBy": {
        "type": "object",
        "properties": {
          "partitionKey": {
            "type": "string",
            "description": "The flink partitionKey to use for that action.",
            "example": "null"
          },
          "policyId": {
            "type": "string",
            "description": "The ID of the policy that creates the request.",
            "example": "null"
          },
          "actionId": {
            "type": "string",
            "description": "The ID of the action triggered by this request.",
            "example": "null"
          }
        }
      },
      "DeduplicationDetails": {
        "type": "object",
        "properties": {
          "lastProcessedEventOccurrenceTime": {
            "type": "string",
            "description": "The time at which the anomalous condition was last detected by the system. The occurrence time of the most recently processed event that indicated this anomalous condition",
            "example": "null"
          }
        }
      },
      "ThumbsFeedback": {
        "type": "object",
        "properties": {
          "isPositive": {
            "type": "boolean",
            "description": "Defines whether a user agrees with an alert (thumbs up) or not (thumbs down) as expressed via user feedback."
          }
        }
      },
      "ThumbsFeedbackPrediction": {
        "type": "object",
        "properties": {
          "predictionScore": {
            "type": "number",
            "description": "Ranges from 0 to 100. Scores close to 0 mean we are confident alert is a false positive. Scores close to 100 mean we are confident is a true positive. Scores closer to 50 mean that the model prediction was inconclusive."
          }
        }
      },
      "FeedbackType": {
        "type": "object",
        "properties": {
          "thumbsFeedback": {
            "$ref": "#/components/schemas/ThumbsFeedback"
          },
          "thumbsFeedbackPrediction": {
            "$ref": "#/components/schemas/ThumbsFeedbackPrediction"
          }
        }
      },
      "Feedback": {
        "type": "object",
        "properties": {
          "feedback": {
            "$ref": "#/components/schemas/FeedbackType"
          }
        }
      },
      "GoldenSignal": {
        "type": "object",
        "properties": {
          "goldenSignal": {
            "description": "string representing the label",
            "enum": [
              "error",
              "availability",
              "latency",
              "saturation",
              "traffic",
              "information"
            ],
            "type": "string"
          },
          "typeGoldenSignal": {
            "description": "string representing type of golden signal",
            "enum": [
              "effect",
              "cause",
              "none"
            ],
            "type": "string"
          }
        }
      },
      "ITSMIntegrators": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for this platform.",
            "example": "null"
          },
          "ticket_num": {
            "type": "string",
            "description": "The ticket number associated with the ITSM system.",
            "example": "null"
          },
          "name": {
            "type": "string",
            "description": "The type of ITSM, for example, ServiceNow.",
            "example": "null"
          },
          "app_state": {
            "type": "string",
            "description": "The custom state field.",
            "example": "null"
          },
          "permalink": {
            "type": "string",
            "description": "The permalink for the ITSM platform.",
            "example": "null"
          },
          "type": {
            "type": "string",
            "description": "The type of ITSM integrators.",
            "example": "null"
          }
        }
      },
      "IncidentSummary": {
        "type": "object",
        "properties": {
          "summary": {
            "type": "string",
            "description": "The generated summary from the story snapshot at the time of generation. This summary is generated using LLM with predefined prompt. It will take alerts, insights, and runbook history ect. into consideration.",
            "example": "null"
          },
          "createdTime": {
            "type": "string",
            "description": "Represents the time when this incident summarization is generated.",
            "example": "null"
          }
        }
      },
      "IncidentTitle": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "The generated title by example from the story snapshot at the time of generation. This title is generated using LLM with predefined prompt.",
            "example": "null"
          },
          "createdTime": {
            "type": "string",
            "description": "Represents the time when this incident title is generated.",
            "example": "null"
          }
        }
      },
      "LogTemplate": {
        "type": "object",
        "properties": {
          "templateId": {
            "type": "string",
            "description": "Unique identifier for log template associated with log anomaly golden signal metric anomaly",
            "example": "10_latency"
          },
          "templateName": {
            "type": "string",
            "description": "User defined string (set in AI Hub) to characterize template pattern."
          },
          "templatePattern": {
            "type": "string",
            "description": "Template pattern from Log Anomaly Detection algorithm that appeared enough to trigger Metric Anomaly Detection"
          }
        }
      },
      "ProbableCauseRanking": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The correlationId in the alert or the eventId in the story.",
            "example": "null"
          },
          "rank": {
            "type": "number",
            "description": "The rank of the alert."
          },
          "score": {
            "type": "number",
            "description": "The relative score, that leads to the ranking of the alarms, this is the total score, made up of the itnmScore, pathScore, wordScorem, causeScore, severityScore, startTimeScore"
          },
          "itmnScore": {
            "type": "number",
            "description": "The amount the score is effected by the itmn, if turn on"
          },
          "pathScore": {
            "type": "number",
            "description": "The score for the path calculation"
          },
          "causeScore": {
            "type": "number",
            "description": "The amount added to the total score due to population of the cause in the alert"
          },
          "severityScore": {
            "type": "number",
            "description": "The amount added to the total score due to the severity of the alert"
          },
          "startTimeScore": {
            "type": "number",
            "description": "The amount added to the total score due to the alert being the 1st alert in the group"
          }
        }
      },
      "ProposedStory": {
        "type": "object",
        "properties": {
          "policyId": {
            "type": "string",
            "description": "The ID of the policy that proposes this story.",
            "example": "null"
          },
          "delay": {
            "type": "number",
            "description": "The suggested delay in seconds before creating the story."
          },
          "policyExecutionOrder": {
            "type": "number",
            "description": "Execution order of the policy. The lowest in order will be created."
          }
        }
      },
      "RelatedAlert": {
        "type": "object",
        "properties": {
          "alertId": {
            "type": "string",
            "description": "A system-generated unique id for the alert.",
            "example": "1a2a6787-59ad-4acd-bd0d-46c1ddfd8e06"
          }
        }
      },
      "RunbookError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Code representation of error or brief summery of error.",
            "example": "null"
          },
          "description": {
            "type": "string",
            "description": "detail description of error message.",
            "example": "null"
          },
          "occurrenceTime": {
            "type": "string",
            "description": "Time when error occurred.",
            "example": "null"
          }
        }
      },
      "RunbookMappingsInner": {
        "type": "object",
        "properties": {
          "mappingType": {
            "description": "Choose how a parameter is mapped. &#39;parameter&#39; uses a field or property from the story. &#39;fixed&#39; always uses the same value. &#39;useDefault&#39; uses the default from the runbook. &#39;runtime&#39; leaves the entry up to the operator.",
            "enum": [
              "parameter",
              "fixed",
              "useDefault",
              "runtime"
            ],
            "type": "string"
          },
          "runbookParameterName": {
            "type": "string",
            "description": "The name of the runbook parameter that is mapped to, as valued by the mapping type.",
            "example": "null"
          },
          "parameterValue": {
            "type": "object",
            "description": "The value put into the runbook for the parameter. Depending on the \\'mappingType\\' this value is optional (useDefault), represents the name of a story parameter (parameter), or is the value to be entered (fixed)."
          }
        }
      },
      "Runbook": {
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/RunbookError"
          },
          "mappings": {
            "description": "In order to execute a runbook, all required runbook parameters need to be filled out. If the story defines the values based on the policy or on its own attributes, a suitable mapping has to be created. This is required if execution should be triggered automatically.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RunbookMappingsInner"
            }
          },
          "policyId": {
            "type": "string",
            "description": "The ID of the policy that connected this insight.",
            "example": "null"
          },
          "runbookId": {
            "type": "string",
            "description": "The ID of the runbook.",
            "example": "null"
          },
          "runbookVersion": {
            "type": "number",
            "description": "Optional. Defines whether a fixed version of a runbook should be linked. If not, the specified latest version is used."
          },
          "order": {
            "type": "number",
            "description": "Optional. The order for runbook actions. Defines in which order runbooks should be executed."
          },
          "isAutomated": {
            "type": "boolean",
            "description": "Defines whether or not the connected runbook will be automatically executed, once the policy matches."
          }
        },
        "required": [
          "policyId",
          "runbookId",
          "isAutomated"
        ]
      },
      "SeasonalWindow": {
        "type": "object",
        "properties": {
          "dayInWeek": {
            "description": "An optional day of week for this seasonal window.",
            "enum": [
              "Mon",
              "Tue",
              "Wed",
              "Thu",
              "Fri",
              "Sat",
              "Sun"
            ],
            "type": "string"
          },
          "dayInMonth": {
            "type": "number",
            "description": "An optional day of the month for this seasonal window."
          },
          "hourInDay": {
            "type": "number",
            "description": "An optional hour of the day for this seasonal window."
          }
        }
      },
      "SeasonalOccurrence": {
        "type": "object",
        "properties": {
          "timeWindows": {
            "description": "All time windows provided by the originating seasonal rule. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeasonalWindow"
            }
          },
          "matchedWindows": {
            "description": "Active time windows discovered for the given entity. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeasonalWindow"
            }
          },
          "policyId": {
            "type": "string",
            "description": "The ID of the policy that relates to the seasonality insight.",
            "example": "null"
          },
          "isSeasonal": {
            "type": "boolean",
            "description": "Whether this alert falls within a seasonal window listed by the policy."
          }
        },
        "required": [
          "timeWindows",
          "matchedWindows",
          "policyId",
          "isSeasonal"
        ]
      },
      "TextSpan": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "description": "The text for action",
            "example": "null"
          },
          "begin_offset": {
            "type": "number",
            "description": "Beginning offset where the action is extracted in sentence."
          },
          "end_offset": {
            "type": "number",
            "description": "End offset where the action is extracted in sentence."
          }
        }
      },
      "ActionItem": {
        "type": "object",
        "properties": {
          "action": {
            "$ref": "#/components/schemas/TextSpan"
          },
          "components": {
            "description": "A list of componentes upon which the action exerts affect on.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TextSpan"
            }
          }
        }
      },
      "SimilarIncidentItem": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActionItem"
            }
          },
          "incident_id": {
            "type": "string",
            "description": "The id of the incident in system.",
            "example": "null"
          },
          "title": {
            "type": "string",
            "description": "The title to the incident in source system.",
            "example": "null"
          },
          "url": {
            "type": "string",
            "description": "The url link back to the original incident system.",
            "example": "null"
          },
          "resolution": {
            "type": "string",
            "description": "Resolution provided in this incident",
            "example": "null"
          },
          "score": {
            "type": "number",
            "description": "Matching score for this related incident"
          },
          "started_at": {
            "type": "string"
          },
          "closed_by": {
            "type": "string",
            "description": "Name or id who closed the incident.",
            "example": "null"
          }
        }
      },
      "RecommendedActionItem": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActionItem"
            }
          },
          "incident_id": {
            "type": "string",
            "description": "Incident id where action is extracted from.",
            "example": "null"
          },
          "sentence": {
            "type": "string",
            "description": "Sentence in the resolution where action is extracted from.",
            "example": "null"
          }
        }
      },
      "SimilarIncidents": {
        "type": "object",
        "properties": {
          "similar_incidents": {
            "description": "The list of similar incients for the query.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SimilarIncidentItem"
            }
          },
          "recommended_actions": {
            "description": "The list of extracted actions from resolutions in related incidents.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RecommendedActionItem"
            }
          }
        }
      },
      "SimiliarStory": {
        "type": "object",
        "properties": {
          "storyid": {
            "type": "string",
            "description": "The ID of the related story.",
            "example": "null"
          },
          "link": {
            "type": "string",
            "description": "The URL to the story in the source system.",
            "example": "null"
          },
          "distance": {
            "type": "number",
            "description": "Indicates how closely related this story is to the given story."
          }
        }
      },
      "StoryCreationHoldoff": {
        "type": "object",
        "properties": {
          "holdoffSec": {
            "type": "number",
            "description": "The time in seconds to delay creation of the story."
          }
        }
      },
      "StoryTopology": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The topology group ID.",
            "example": "null"
          },
          "time": {
            "type": "number",
            "description": "The time in milliseconds when the last resource in the topology group was added."
          }
        }
      },
      "Suppression": {
        "type": "object",
        "properties": {
          "policyId": {
            "type": "string",
            "description": "The ID of the policy that triggers suppression.",
            "example": "null"
          },
          "condition": {
            "type": "string",
            "description": "The suppression condition.",
            "example": "null"
          }
        }
      },
      "ThirdPartyEventCorrelation": {
        "type": "object",
        "properties": {
          "policyId": {
            "type": "string",
            "description": "The id of the policy that added this relationship (where applicable)",
            "example": "null"
          }
        }
      },
      "TopologicalGroup": {
        "type": "object",
        "properties": {
          "tags": {
            "description": "A list of any tags assigned to the resource group.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "entityTypes": {
            "description": "An array of group types that pertains to this group. For example, waiopsApplication which signifies this resource group represents an application. ",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "name": {
            "type": "string",
            "description": "The human readable name of the resource group.",
            "example": "null"
          }
        }
      },
      "TopologicalResource": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The human-readable name of the resource.",
            "example": "null"
          },
          "compositeOfIds": {
            "type": "string",
            "description": "The list of resource IDs for each resource in a composite of resources.",
            "example": "null"
          },
          "compositeId": {
            "type": "string",
            "description": "The ID of the compositeId.",
            "example": "null"
          }
        }
      },
      "TopologicalStatusId": {
        "type": "object",
        "properties": {
          "nonset": {
            "type": "string",
            "description": "A placeholder property not used in the insight.",
            "example": "null"
          }
        }
      },
      "Union": {
        "type": "object",
        "properties": {
          "subsumedUnions": {
            "description": "An array of IDs of previous union insights which were subsumed by this one, due to the addition of a new entity. ",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "VerboseDescription": {
        "type": "object",
        "properties": {
          "verboseDescription": {
            "type": "string",
            "description": "The extended verbose description of the event. For Log Anomalies, if the event is from MQ or websphere data, then the description of the significant message code is used. For Log Anomalies, if the event is from Natural Language algorithm, then the top 5 template pattern strings are used. Used for golden signal classification at an alert level."
          }
        }
      },
      "XinY": {
        "type": "object",
        "properties": {
          "policyId": {
            "type": "string",
            "description": "The ID of the policy that triggers suppression.",
            "example": "null"
          },
          "state": {
            "type": "string",
            "description": "Whether or not the alert is suppressed.",
            "example": "null"
          },
          "condition": {
            "type": "string",
            "description": "The suppression condition.",
            "example": "null"
          },
          "x": {
            "type": "number",
            "description": "The number of related occurrences."
          },
          "y": {
            "type": "number",
            "description": "The time in seconds that the occurrences need to happen."
          }
        }
      },
      "Insight": {
        "type": "object",
        "properties": {
          "details": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ActionHistory"
              },
              {
                "$ref": "#/components/schemas/AlertResolutions"
              },
              {
                "$ref": "#/components/schemas/Anomaly"
              },
              {
                "$ref": "#/components/schemas/AssociatedAlertTemplates"
              },
              {
                "$ref": "#/components/schemas/BusinessCriticality"
              },
              {
                "$ref": "#/components/schemas/CausalRelationship"
              },
              {
                "$ref": "#/components/schemas/ChatOpsIntegrators"
              },
              {
                "$ref": "#/components/schemas/ChatOpsNotification"
              },
              {
                "$ref": "#/components/schemas/CreatedBy"
              },
              {
                "$ref": "#/components/schemas/DeduplicationDetails"
              },
              {
                "$ref": "#/components/schemas/Feedback"
              },
              {
                "$ref": "#/components/schemas/GoldenSignal"
              },
              {
                "$ref": "#/components/schemas/ITSMIntegrators"
              },
              {
                "$ref": "#/components/schemas/IncidentSummary"
              },
              {
                "$ref": "#/components/schemas/IncidentTitle"
              },
              {
                "$ref": "#/components/schemas/LogTemplate"
              },
              {
                "$ref": "#/components/schemas/ProbableCauseRanking"
              },
              {
                "$ref": "#/components/schemas/ProposedStory"
              },
              {
                "$ref": "#/components/schemas/RelatedAlert"
              },
              {
                "$ref": "#/components/schemas/Runbook"
              },
              {
                "$ref": "#/components/schemas/SeasonalOccurrence"
              },
              {
                "$ref": "#/components/schemas/SimilarIncidents"
              },
              {
                "$ref": "#/components/schemas/SimiliarStory"
              },
              {
                "$ref": "#/components/schemas/StoryCreationHoldoff"
              },
              {
                "$ref": "#/components/schemas/StoryTopology"
              },
              {
                "$ref": "#/components/schemas/Suppression"
              },
              {
                "$ref": "#/components/schemas/ThirdPartyEventCorrelation"
              },
              {
                "$ref": "#/components/schemas/TopologicalGroup"
              },
              {
                "$ref": "#/components/schemas/TopologicalResource"
              },
              {
                "$ref": "#/components/schemas/TopologicalStatusId"
              },
              {
                "$ref": "#/components/schemas/Union"
              },
              {
                "$ref": "#/components/schemas/VerboseDescription"
              },
              {
                "$ref": "#/components/schemas/XinY"
              }
            ]
          },
          "id": {
            "type": "string",
            "description": "The unique identifier for this specific relationship, used to identify other related entities. Entities with the same insight id will participate in the same insight. In other words, this may act as a correlation key.",
            "example": "98aa5f81-7da7-4063-bd66-dccaf59097d1"
          },
          "type": {
            "type": "string",
            "description": "The type of insight being described.",
            "example": "aiops.ibm.com/insight-type/relationship/causal",
            "enum": [
              "aiops.ibm.com/insight-type/action/history",
              "aiops.ibm.com/insight-type/lad/resolutions",
              "aiops.ibm.com/insight-type/anomaly",
              "aiops.ibm.com/insight-type/lad/templates",
              "aiops.ibm.com/insight-type/business/criticality",
              "aiops.ibm.com/insight-type/relationship/causal",
              "aiops.ibm.com/insight-type/chatops/metadata",
              "aiops.ibm.com/insight-type/chatops/notification",
              "aiops.ibm.com/insight-type/created-by",
              "aiops.ibm.com/insight-type/deduplication-details",
              "aiops.ibm.com/insight-type/feedback",
              "aiops.ibm.com/insight-type/golden-signal",
              "aiops.ibm.com/insight-type/itsm/metadata",
              "aiops.ibm.com/insight-type/incident-summary",
              "aiops.ibm.com/insight-type/incident-title",
              "aiops.ibm.com/insight-type/log-template",
              "aiops.ibm.com/insight-type/probable-cause",
              "aiops.ibm.com/insight-type/story/proposed-by",
              "aiops.ibm.com/insight-type/event/related-alert",
              "aiops.ibm.com/insight-type/runbook",
              "aiops.ibm.com/insight-type/seasonal-occurrence",
              "aiops.ibm.com/insight-type/similar-incidents",
              "aiops.ibm.com/insight-type/similar-story",
              "aiops.ibm.com/insight-type/story/holdoff",
              "aiops.ibm.com/insight-type/topology/story",
              "aiops.ibm.com/insight-type/suppression",
              "aiops.ibm.com/insight-type/relationship/third-party-event-correlation",
              "aiops.ibm.com/insight-type/topology/group",
              "aiops.ibm.com/insight-type/topology/resource",
              "aiops.ibm.com/insight-type/topology/statusId",
              "aiops.ibm.com/insight-type/relationship/causal-union",
              "aiops.ibm.com/insight-type/verbose-description",
              "aiops.ibm.com/insight-type/xiny"
            ]
          },
          "source": {
            "type": "string",
            "description": "The source of the insight information.",
            "example": "aiops.ibm.com/insight-source/temporal-analytics"
          }
        }
      },
      "CreateEventDto": {
        "type": "object",
        "properties": {
          "severity": {
            "description": "Indicates the event severity level, which indicates how the perceived capability of the managed object has been affected. 1 - Indeterminate 2 - Information 3 - Warning 4 - Minor 5 - Major 6 - Critical ",
            "enum": [
              1,
              2,
              3,
              4,
              5,
              6
            ],
            "type": "number"
          },
          "type": {
            "$ref": "#/components/schemas/EventType"
          },
          "sender": {
            "$ref": "#/components/schemas/Resource"
          },
          "resource": {
            "$ref": "#/components/schemas/Resource"
          },
          "links": {
            "description": "An optional array of links to external systems which provide addition information or control over the event, or its subject. This may include a management console for the subject resource, or a page containing further event information from the source monitoring system. Each link should be in the form of a fully qualified URL. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Link"
            }
          },
          "details": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "insights": {
            "description": "An array of insights associated with the alert with one or more other entities or groupings. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Insight"
            }
          },
          "id": {
            "type": "string",
            "description": "A system-generated unique id for the event",
            "example": "1a2a6787-59ad-4acd-bd0d-46c1ddfd8e06"
          },
          "occurrenceTime": {
            "type": "string",
            "description": "The time at which this event occurred",
            "example": "2023-01-01T00:00Z"
          },
          "summary": {
            "type": "string",
            "description": "A human-readable description of the event"
          },
          "expirySeconds": {
            "type": "number",
            "description": "The number of seconds before the event should automatically expire. A value of zero indicates that there is no expiration."
          }
        },
        "required": [
          "severity",
          "type",
          "resource",
          "occurrenceTime",
          "summary"
        ]
      },
      "Event": {
        "type": "object",
        "properties": {
          "severity": {
            "description": "Indicates the event severity level, which indicates how the perceived capability of the managed object has been affected. 1 - Indeterminate 2 - Information 3 - Warning 4 - Minor 5 - Major 6 - Critical ",
            "enum": [
              1,
              2,
              3,
              4,
              5,
              6
            ],
            "type": "number"
          },
          "type": {
            "$ref": "#/components/schemas/EventType"
          },
          "sender": {
            "$ref": "#/components/schemas/Resource"
          },
          "resource": {
            "$ref": "#/components/schemas/Resource"
          },
          "links": {
            "description": "An optional array of links to external systems which provide addition information or control over the event, or its subject. This may include a management console for the subject resource, or a page containing further event information from the source monitoring system. Each link should be in the form of a fully qualified URL. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Link"
            }
          },
          "details": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "insights": {
            "description": "An array of insights associated with the alert with one or more other entities or groupings. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Insight"
            }
          },
          "id": {
            "type": "string",
            "description": "A system-generated unique id for the event",
            "example": "1a2a6787-59ad-4acd-bd0d-46c1ddfd8e06"
          },
          "occurrenceTime": {
            "type": "string",
            "description": "The time at which this event occurred",
            "example": "2023-01-01T00:00Z"
          },
          "summary": {
            "type": "string",
            "description": "A human-readable description of the event"
          },
          "expirySeconds": {
            "type": "number",
            "description": "The number of seconds before the event should automatically expire. A value of zero indicates that there is no expiration."
          }
        },
        "required": [
          "severity",
          "type",
          "resource",
          "occurrenceTime",
          "summary"
        ]
      },
      "UnauthorizedResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Unauthorized"
          },
          "statusCode": {
            "type": "number",
            "example": 401
          }
        },
        "required": [
          "message",
          "statusCode"
        ]
      },
      "CreateAlertDto": {
        "type": "object",
        "properties": {
          "state": {
            "description": "The current state of this alert.",
            "enum": [
              "open",
              "clear",
              "closed"
            ],
            "type": "string"
          },
          "severity": {
            "description": "Indicates the alert severity level, which indicates how the perceived capability of the managed object has been affected. 1 - Indeterminate 2 - Information 3 - Warning 4 - Minor 5 - Major 6 - Critical ",
            "enum": [
              1,
              2,
              3,
              4,
              5,
              6
            ],
            "type": "number"
          },
          "type": {
            "$ref": "#/components/schemas/EventType"
          },
          "sender": {
            "$ref": "#/components/schemas/Resource"
          },
          "resource": {
            "$ref": "#/components/schemas/Resource"
          },
          "links": {
            "description": "An optional array of links to external systems which provide addition information or control over the alert, or its subject. This may include a management console for the subject resource, or a page containing further alert information from the source monitoring system. Each link should be in the form of a fully qualified URL. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Link"
            }
          },
          "details": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "insights": {
            "description": "An array of insights associated with the alert with one or more other entities or groupings. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Insight"
            }
          },
          "relatedStoryIds": {
            "description": "The set of story id&#39;s that this alert is a member of as a trigger alert.  ",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "relatedContextualStoryIds": {
            "description": "The set of story id&#39;s that this alert is a member of as a contextual alert.  ",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "id": {
            "type": "string",
            "description": "A system-generated unique id for the alert.",
            "example": "1a2a6787-59ad-4acd-bd0d-46c1ddfd8e06"
          },
          "eventCount": {
            "type": "number",
            "description": "The count of events that have contributed to this alert."
          },
          "acknowledged": {
            "type": "boolean",
            "description": "Flag indicating alert acknowledgement."
          },
          "team": {
            "type": "string",
            "description": "Team with responsibility for the alert.",
            "example": "team123"
          },
          "owner": {
            "type": "string",
            "description": "Individual with responsibility for the alert.",
            "example": "user123"
          },
          "deduplicationKey": {
            "type": "string",
            "description": "The key that uniquely identifies the anomalous condition that this alert represents.",
            "example": "deduplicationKeyExample"
          },
          "signature": {
            "type": "string",
            "description": "The key that uniquely identifies the anomalous condition that this alert represents.",
            "example": "signatureKeyExample"
          },
          "firstOccurrenceTime": {
            "type": "string",
            "description": "The time at which the anomalous condition was first detected, in millisecond granularity. Format: yyyy-mm-ddThh:mm:ss.sssZ (ISO8601)",
            "example": "2023-12-31T04:45:00.005Z"
          },
          "lastOccurrenceTime": {
            "type": "string",
            "description": "The time at which the anomalous condition was last detected, in millisecond granularity. Format: yyyy-mm-ddThh:mm:ss.sssZ (ISO8601)",
            "example": "2023-12-31T04:45:00.005Z"
          },
          "lastStateChangeTime": {
            "type": "string",
            "description": "The time in millisecond granularity for which the alert was last updated. Format: yyyy-mm-ddThh:mm:ss.sssZ (ISO8601)",
            "example": "2023-12-31T04:45:00.005Z"
          },
          "summary": {
            "type": "string",
            "description": "A human-readable description of the alert."
          },
          "langId": {
            "type": "string",
            "description": "ISO 639-3 encoding if not specifed assumption is eng.",
            "example": "eng"
          },
          "suppressed": {
            "type": "boolean",
            "description": "Indicates whether the alert is currently suppressed. Alerts should only be suppressed at creation time. This property can be used as a filter for defining which alerts an operator should see."
          },
          "expirySeconds": {
            "type": "number",
            "description": "The number of seconds before the alert should automatically expire. A value of zero indicates that there is no expiration."
          }
        },
        "required": [
          "severity",
          "type",
          "resource",
          "id",
          "deduplicationKey",
          "summary"
        ]
      },
      "Alert": {
        "type": "object",
        "properties": {
          "state": {
            "description": "The current state of this alert.",
            "enum": [
              "open",
              "clear",
              "closed"
            ],
            "type": "string"
          },
          "severity": {
            "description": "Indicates the alert severity level, which indicates how the perceived capability of the managed object has been affected. 1 - Indeterminate 2 - Information 3 - Warning 4 - Minor 5 - Major 6 - Critical ",
            "enum": [
              1,
              2,
              3,
              4,
              5,
              6
            ],
            "type": "number"
          },
          "type": {
            "$ref": "#/components/schemas/EventType"
          },
          "sender": {
            "$ref": "#/components/schemas/Resource"
          },
          "resource": {
            "$ref": "#/components/schemas/Resource"
          },
          "links": {
            "description": "An optional array of links to external systems which provide addition information or control over the alert, or its subject. This may include a management console for the subject resource, or a page containing further alert information from the source monitoring system. Each link should be in the form of a fully qualified URL. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Link"
            }
          },
          "details": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "insights": {
            "description": "An array of insights associated with the alert with one or more other entities or groupings. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Insight"
            }
          },
          "relatedStoryIds": {
            "description": "The set of story id&#39;s that this alert is a member of as a trigger alert.  ",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "relatedContextualStoryIds": {
            "description": "The set of story id&#39;s that this alert is a member of as a contextual alert.  ",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "id": {
            "type": "string",
            "description": "A system-generated unique id for the alert.",
            "example": "1a2a6787-59ad-4acd-bd0d-46c1ddfd8e06"
          },
          "eventCount": {
            "type": "number",
            "description": "The count of events that have contributed to this alert."
          },
          "acknowledged": {
            "type": "boolean",
            "description": "Flag indicating alert acknowledgement."
          },
          "team": {
            "type": "string",
            "description": "Team with responsibility for the alert.",
            "example": "team123"
          },
          "owner": {
            "type": "string",
            "description": "Individual with responsibility for the alert.",
            "example": "user123"
          },
          "deduplicationKey": {
            "type": "string",
            "description": "The key that uniquely identifies the anomalous condition that this alert represents.",
            "example": "deduplicationKeyExample"
          },
          "signature": {
            "type": "string",
            "description": "The key that uniquely identifies the anomalous condition that this alert represents.",
            "example": "signatureKeyExample"
          },
          "firstOccurrenceTime": {
            "type": "string",
            "description": "The time at which the anomalous condition was first detected, in millisecond granularity. Format: yyyy-mm-ddThh:mm:ss.sssZ (ISO8601)",
            "example": "2023-12-31T04:45:00.005Z"
          },
          "lastOccurrenceTime": {
            "type": "string",
            "description": "The time at which the anomalous condition was last detected, in millisecond granularity. Format: yyyy-mm-ddThh:mm:ss.sssZ (ISO8601)",
            "example": "2023-12-31T04:45:00.005Z"
          },
          "lastStateChangeTime": {
            "type": "string",
            "description": "The time in millisecond granularity for which the alert was last updated. Format: yyyy-mm-ddThh:mm:ss.sssZ (ISO8601)",
            "example": "2023-12-31T04:45:00.005Z"
          },
          "summary": {
            "type": "string",
            "description": "A human-readable description of the alert."
          },
          "langId": {
            "type": "string",
            "description": "ISO 639-3 encoding if not specifed assumption is eng.",
            "example": "eng"
          },
          "suppressed": {
            "type": "boolean",
            "description": "Indicates whether the alert is currently suppressed. Alerts should only be suppressed at creation time. This property can be used as a filter for defining which alerts an operator should see."
          },
          "expirySeconds": {
            "type": "number",
            "description": "The number of seconds before the alert should automatically expire. A value of zero indicates that there is no expiration."
          }
        },
        "required": [
          "severity",
          "type",
          "resource",
          "id",
          "deduplicationKey",
          "summary"
        ]
      },
      "Collection": {
        "type": "object",
        "properties": {}
      },
      "PartialEventType": {
        "type": "object",
        "properties": {
          "eventType": {
            "description": "String description of whether the event is a problem or resolution event. ",
            "enum": [
              "problem",
              "resolution"
            ],
            "type": "string"
          },
          "classification": {
            "type": "string",
            "description": "Describes the type of the event, for example, utilization, system status, threshold breach, and so on. This property is used to determine the golden signals for an alert.",
            "example": "Utilization"
          },
          "condition": {
            "type": "string",
            "description": "The condition/status or threshold causing the event. E.g. Down, 95%, Unavailable"
          }
        }
      },
      "PartialResource": {
        "type": "object",
        "properties": {
          "port": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              }
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of resource",
            "example": "host"
          },
          "name": {
            "type": "string",
            "description": "The name of the resource",
            "example": "myhost.example.com"
          },
          "sourceId": {
            "type": "string",
            "description": "The id the resource is known by in the source system",
            "example": "7045b61d-e59c-4270-b525-545d55ecd06e"
          },
          "hostname": {
            "type": "string",
            "description": "The hostname of the resource",
            "example": "myhost.example.com"
          },
          "ipAddress": {
            "type": "string",
            "description": "The IP address of the resource",
            "example": "9.123.123.1"
          },
          "service": {
            "type": "string",
            "description": "The name of the service that the resource is serving",
            "example": "mobile-app"
          },
          "interface": {
            "type": "string",
            "description": "The interface that is the subject of this event",
            "example": "eth0"
          },
          "application": {
            "type": "string",
            "description": "The application that is the subject of this event",
            "example": "mobile-app-1"
          },
          "controller": {
            "type": "string",
            "description": "The controller that is the subject of this event",
            "example": "controller1"
          },
          "component": {
            "type": "string",
            "description": "The component that is the subject of this event",
            "example": "database"
          },
          "cluster": {
            "type": "string",
            "description": "The cluster that is the subject of this event",
            "example": "staging-cluster"
          },
          "location": {
            "type": "string",
            "description": "The location of the resource"
          },
          "accessScope": {
            "type": "string",
            "description": "The project or namespace the resource is part of",
            "example": "default"
          },
          "connectionId": {
            "type": "string",
            "description": "Configuration unique identifier of the connection this event  came from.",
            "example": "f5aa7fa9-92eb-4bec-942c-37eb3e3e9601"
          },
          "scopeId": {
            "type": "string",
            "description": "The scope identifier value for this event from the originating system",
            "example": "myhost.example.com:location01"
          }
        }
      },
      "UpdateAlertDto": {
        "type": "object",
        "properties": {
          "state": {
            "description": "The current state of this alert.",
            "enum": [
              "open",
              "clear",
              "closed"
            ],
            "type": "string"
          },
          "severity": {
            "description": "Indicates the alert severity level, which indicates how the perceived capability of the managed object has been affected. 1 - Indeterminate 2 - Information 3 - Warning 4 - Minor 5 - Major 6 - Critical ",
            "enum": [
              1,
              2,
              3,
              4,
              5,
              6
            ],
            "type": "number"
          },
          "type": {
            "$ref": "#/components/schemas/PartialEventType"
          },
          "sender": {
            "$ref": "#/components/schemas/PartialResource"
          },
          "resource": {
            "$ref": "#/components/schemas/PartialResource"
          },
          "links": {
            "description": "An optional array of links to external systems which provide addition information or control over the alert, or its subject. This may include a management console for the subject resource, or a page containing further alert information from the source monitoring system. Each link should be in the form of a fully qualified URL. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Link"
            }
          },
          "details": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "insights": {
            "description": "An array of insights associated with the alert with one or more other entities or groupings. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Insight"
            }
          },
          "relatedStoryIds": {
            "description": "The set of story id&#39;s that this alert is a member of as a trigger alert.  ",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "relatedContextualStoryIds": {
            "description": "The set of story id&#39;s that this alert is a member of as a contextual alert.  ",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "id": {
            "type": "string",
            "description": "A system-generated unique id for the alert.",
            "example": "1a2a6787-59ad-4acd-bd0d-46c1ddfd8e06"
          },
          "eventCount": {
            "type": "number",
            "description": "The count of events that have contributed to this alert."
          },
          "acknowledged": {
            "type": "boolean",
            "description": "Flag indicating alert acknowledgement."
          },
          "team": {
            "type": "string",
            "description": "Team with responsibility for the alert.",
            "example": "team123"
          },
          "owner": {
            "type": "string",
            "description": "Individual with responsibility for the alert.",
            "example": "user123"
          },
          "deduplicationKey": {
            "type": "string",
            "description": "The key that uniquely identifies the anomalous condition that this alert represents.",
            "example": "deduplicationKeyExample"
          },
          "signature": {
            "type": "string",
            "description": "The key that uniquely identifies the anomalous condition that this alert represents.",
            "example": "signatureKeyExample"
          },
          "firstOccurrenceTime": {
            "type": "string",
            "description": "The time at which the anomalous condition was first detected, in millisecond granularity. Format: yyyy-mm-ddThh:mm:ss.sssZ (ISO8601)",
            "example": "2023-12-31T04:45:00.005Z"
          },
          "lastOccurrenceTime": {
            "type": "string",
            "description": "The time at which the anomalous condition was last detected, in millisecond granularity. Format: yyyy-mm-ddThh:mm:ss.sssZ (ISO8601)",
            "example": "2023-12-31T04:45:00.005Z"
          },
          "lastStateChangeTime": {
            "type": "string",
            "description": "The time in millisecond granularity for which the alert was last updated. Format: yyyy-mm-ddThh:mm:ss.sssZ (ISO8601)",
            "example": "2023-12-31T04:45:00.005Z"
          },
          "summary": {
            "type": "string",
            "description": "A human-readable description of the alert."
          },
          "langId": {
            "type": "string",
            "description": "ISO 639-3 encoding if not specifed assumption is eng.",
            "example": "eng"
          },
          "suppressed": {
            "type": "boolean",
            "description": "Indicates whether the alert is currently suppressed. Alerts should only be suppressed at creation time. This property can be used as a filter for defining which alerts an operator should see."
          },
          "expirySeconds": {
            "type": "number",
            "description": "The number of seconds before the alert should automatically expire. A value of zero indicates that there is no expiration."
          }
        }
      },
      "ResponseError": {
        "type": "object",
        "properties": {
          "type": {
            "description": "An enumurated indication on the type of error that occurred. bad-request - The request was invalid due to an invalid entity. not-found - The reference entity or parent entity could not be found. conflict - The request could not complete due to conflict. timeout - The request failed to complete due to a timeout. server-error - The request failed due to an internal datalayer issue. ",
            "enum": [
              "bad-request",
              "not-found",
              "conflict",
              "timeout",
              "server-error"
            ],
            "type": "string"
          },
          "message": {
            "type": "string",
            "description": "An explanation message of the error that occurred."
          }
        }
      },
      "ChangeResponse": {
        "type": "object",
        "properties": {
          "requestType": {
            "description": "The original request type of the request. If the response indicates the request failed, this will indicate what action type the original request was for. ",
            "enum": [
              "create",
              "update",
              "delete"
            ],
            "type": "string"
          },
          "type": {
            "description": "The type of action the response is for.",
            "enum": [
              "created",
              "updated",
              "deleted",
              "failed"
            ],
            "type": "string"
          },
          "entityType": {
            "description": "The type of entity that is being notified on.",
            "enum": [
              "event",
              "alert",
              "story",
              "alert-timeline",
              "story-timeline",
              "alert-insight",
              "story-insight"
            ],
            "type": "string"
          },
          "err": {
            "$ref": "#/components/schemas/ResponseError"
          },
          "tenantid": {
            "type": "string",
            "description": "The id of the tenant this response is for.",
            "example": "615e87d2-7d38-4a2e-b63f-e813cbcbedf4"
          },
          "requestid": {
            "type": "string",
            "description": "The id of the request that this response is for.",
            "example": "46c4b4ac-cbfe-45eb-88cb-0b8a04fb6a85"
          },
          "responseTime": {
            "type": "string",
            "description": "The time at which the response was generated.",
            "example": "null"
          },
          "entity": {
            "type": "object"
          }
        },
        "required": [
          "requestType",
          "type",
          "entityType",
          "tenantid",
          "requestid",
          "entity"
        ]
      },
      "NotFoundResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "number",
            "example": 404
          },
          "message": {
            "type": "string",
            "example": "Not Found"
          },
          "level": {
            "type": "string",
            "example": "error"
          },
          "req_id": {
            "type": "string",
            "example": "4f233590-eca2-11f0-84a8-a7f0a516c37b"
          }
        },
        "required": [
          "code",
          "message",
          "level",
          "req_id"
        ]
      },
      "BulkUpdateFailedDetails": {
        "type": "object",
        "properties": {
          "number": {
            "type": "number",
            "description": "Number of failed updates",
            "example": 0
          },
          "details": {
            "type": "array",
            "description": "Array of detailed failure information",
            "items": {
              "type": "object"
            },
            "example": []
          }
        },
        "required": [
          "number",
          "details"
        ]
      },
      "BulkUpdateConflictDetails": {
        "type": "object",
        "properties": {
          "number": {
            "type": "number",
            "description": "Number of conflicting updates",
            "example": 0
          },
          "details": {
            "type": "array",
            "description": "Array of detailed conflict information",
            "items": {
              "type": "object"
            },
            "example": []
          }
        },
        "required": [
          "number",
          "details"
        ]
      },
      "BulkUpdateAlertsResponseDto": {
        "type": "object",
        "properties": {
          "affected": {
            "type": "number",
            "description": "Number of alerts successfully updated",
            "example": 2
          },
          "failed": {
            "description": "Information about failed updates",
            "allOf": [
              {
                "$ref": "#/components/schemas/BulkUpdateFailedDetails"
              }
            ]
          },
          "conflict": {
            "description": "Information about conflicting updates",
            "allOf": [
              {
                "$ref": "#/components/schemas/BulkUpdateConflictDetails"
              }
            ]
          }
        },
        "required": [
          "affected",
          "failed",
          "conflict"
        ]
      },
      "BadRequestResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "number",
            "example": 400
          },
          "message": {
            "type": "string",
            "example": "Bad Request"
          },
          "level": {
            "type": "string",
            "example": "error"
          },
          "req_id": {
            "type": "string",
            "example": "4f233590-eca2-11f0-84a8-a7f0a516c37b"
          }
        },
        "required": [
          "code",
          "message",
          "level",
          "req_id"
        ]
      },
      "InternalServerErrorResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "number",
            "example": 500
          },
          "message": {
            "type": "string",
            "example": "Internal Server Error"
          },
          "level": {
            "type": "string",
            "example": "error"
          },
          "req_id": {
            "type": "string",
            "example": "4f233590-eca2-11f0-84a8-a7f0a516c37b"
          }
        },
        "required": [
          "code",
          "message",
          "level",
          "req_id"
        ]
      },
      "TimelineEntry": {
        "type": "object",
        "properties": {
          "type": {
            "description": "The type of timeline entry that this is.&lt;br&gt;&lt;ul&gt; &lt;li&gt;alertadded - Details on addition of alert to element&lt;/li&gt; &lt;li&gt;automation - Details on runbook action on element&lt;/li&gt; &lt;li&gt;comment - System or operator comment on element&lt;/li&gt; &lt;li&gt;created - Details on element creation&lt;/li&gt; &lt;li&gt;eventadded - Details on addition of event to element&lt;/li&gt; &lt;li&gt;notification - Notification of a timeline entry related to an element.&lt;/li&gt; &lt;li&gt;ownerchange - Details on element ownership change&lt;/li&gt; &lt;li&gt;policy - Details on policy affect on element&lt;/li&gt; &lt;li&gt;statechange - Details on element state change&lt;/li&gt; &lt;li&gt;unknown - Unknown content type for timeline. Used to extend timeline in deployment without type. Onus is on consuming client to handle it.&lt;/li&gt; &lt;li&gt;updated - Details on element update not related to owner or state&lt;/li&gt; ",
            "enum": [
              "alertadded",
              "automation",
              "comment",
              "created",
              "eventadded",
              "notification",
              "ownerchange",
              "policy",
              "statechange",
              "unknown",
              "updated"
            ],
            "type": "string"
          },
          "id": {
            "type": "string",
            "description": "A unique identifier for this timeline",
            "example": "1a2a6787-59ad-4acd-bd0d-46c1ddfd8e06"
          },
          "createdTime": {
            "type": "string",
            "description": "The time at which this timeline was created utc time",
            "example": "null"
          },
          "content": {
            "type": "object"
          }
        }
      },
      "CreateAlertTimelineDto": {
        "type": "object",
        "properties": {
          "comment": {
            "type": "string",
            "description": "The comment text to add to the alert timeline",
            "example": "Investigating the root cause of this alert"
          },
          "metadata": {
            "type": "string",
            "description": "Optional metadata or additional context for the timeline entry",
            "example": "Added by cpadmin"
          }
        },
        "required": [
          "comment"
        ]
      },
      "AlertInsightUnauthorizedResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Unauthorized"
          },
          "statusCode": {
            "type": "number",
            "example": 401
          }
        },
        "required": [
          "message",
          "statusCode"
        ]
      },
      "AlertInsightNotFoundResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "number",
            "example": 404
          },
          "message": {
            "type": "string",
            "example": "Not Found"
          },
          "level": {
            "type": "string",
            "example": "error"
          },
          "req_id": {
            "type": "string",
            "example": "4f233590-eca2-11f0-84a8-a7f0a516c37b"
          }
        },
        "required": [
          "code",
          "message",
          "level",
          "req_id"
        ]
      },
      "InsightType": {
        "type": "string",
        "enum": [
          "aiops.ibm.com/insight-type/action/history",
          "aiops.ibm.com/insight-type/anomaly",
          "aiops.ibm.com/insight-type/business/criticality",
          "aiops.ibm.com/insight-type/chatops/metadata",
          "aiops.ibm.com/insight-type/chatops/notification",
          "aiops.ibm.com/insight-type/created-by",
          "aiops.ibm.com/insight-type/deduplication-details",
          "aiops.ibm.com/insight-type/event/related-alert",
          "aiops.ibm.com/insight-type/feedback",
          "aiops.ibm.com/insight-type/golden-signal",
          "aiops.ibm.com/insight-type/incident-summary",
          "aiops.ibm.com/insight-type/incident-title",
          "aiops.ibm.com/insight-type/itsm/metadata",
          "aiops.ibm.com/insight-type/lad/resolutions",
          "aiops.ibm.com/insight-type/lad/templates",
          "aiops.ibm.com/insight-type/log-template",
          "aiops.ibm.com/insight-type/probable-cause",
          "aiops.ibm.com/insight-type/relationship/causal",
          "aiops.ibm.com/insight-type/relationship/causal-union",
          "aiops.ibm.com/insight-type/relationship/third-party-event-correlation",
          "aiops.ibm.com/insight-type/runbook",
          "aiops.ibm.com/insight-type/seasonal-occurrence",
          "aiops.ibm.com/insight-type/similar-incidents",
          "aiops.ibm.com/insight-type/similar-story",
          "aiops.ibm.com/insight-type/story/holdoff",
          "aiops.ibm.com/insight-type/story/proposed-by",
          "aiops.ibm.com/insight-type/suppression",
          "aiops.ibm.com/insight-type/topology/group",
          "aiops.ibm.com/insight-type/topology/resource",
          "aiops.ibm.com/insight-type/topology/statusId",
          "aiops.ibm.com/insight-type/topology/story",
          "aiops.ibm.com/insight-type/verbose-description",
          "aiops.ibm.com/insight-type/xiny"
        ]
      },
      "CreateInsightDto": {
        "type": "object",
        "properties": {
          "details": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ActionHistory"
              },
              {
                "$ref": "#/components/schemas/AlertResolutions"
              },
              {
                "$ref": "#/components/schemas/Anomaly"
              },
              {
                "$ref": "#/components/schemas/AssociatedAlertTemplates"
              },
              {
                "$ref": "#/components/schemas/BusinessCriticality"
              },
              {
                "$ref": "#/components/schemas/CausalRelationship"
              },
              {
                "$ref": "#/components/schemas/ChatOpsIntegrators"
              },
              {
                "$ref": "#/components/schemas/ChatOpsNotification"
              },
              {
                "$ref": "#/components/schemas/CreatedBy"
              },
              {
                "$ref": "#/components/schemas/DeduplicationDetails"
              },
              {
                "$ref": "#/components/schemas/Feedback"
              },
              {
                "$ref": "#/components/schemas/GoldenSignal"
              },
              {
                "$ref": "#/components/schemas/ITSMIntegrators"
              },
              {
                "$ref": "#/components/schemas/IncidentSummary"
              },
              {
                "$ref": "#/components/schemas/IncidentTitle"
              },
              {
                "$ref": "#/components/schemas/LogTemplate"
              },
              {
                "$ref": "#/components/schemas/ProbableCauseRanking"
              },
              {
                "$ref": "#/components/schemas/ProposedStory"
              },
              {
                "$ref": "#/components/schemas/RelatedAlert"
              },
              {
                "$ref": "#/components/schemas/Runbook"
              },
              {
                "$ref": "#/components/schemas/SeasonalOccurrence"
              },
              {
                "$ref": "#/components/schemas/SimilarIncidents"
              },
              {
                "$ref": "#/components/schemas/SimiliarStory"
              },
              {
                "$ref": "#/components/schemas/StoryCreationHoldoff"
              },
              {
                "$ref": "#/components/schemas/StoryTopology"
              },
              {
                "$ref": "#/components/schemas/Suppression"
              },
              {
                "$ref": "#/components/schemas/ThirdPartyEventCorrelation"
              },
              {
                "$ref": "#/components/schemas/TopologicalGroup"
              },
              {
                "$ref": "#/components/schemas/TopologicalResource"
              },
              {
                "$ref": "#/components/schemas/TopologicalStatusId"
              },
              {
                "$ref": "#/components/schemas/Union"
              },
              {
                "$ref": "#/components/schemas/VerboseDescription"
              },
              {
                "$ref": "#/components/schemas/XinY"
              }
            ]
          },
          "id": {
            "type": "string",
            "description": "The unique identifier for this specific relationship, used to identify other related entities. Entities with the same insight id will participate in the same insight. In other words, this may act as a correlation key.",
            "example": "98aa5f81-7da7-4063-bd66-dccaf59097d1"
          },
          "type": {
            "type": "string",
            "description": "The type of insight being described.",
            "example": "aiops.ibm.com/insight-type/relationship/causal",
            "enum": [
              "aiops.ibm.com/insight-type/action/history",
              "aiops.ibm.com/insight-type/lad/resolutions",
              "aiops.ibm.com/insight-type/anomaly",
              "aiops.ibm.com/insight-type/lad/templates",
              "aiops.ibm.com/insight-type/business/criticality",
              "aiops.ibm.com/insight-type/relationship/causal",
              "aiops.ibm.com/insight-type/chatops/metadata",
              "aiops.ibm.com/insight-type/chatops/notification",
              "aiops.ibm.com/insight-type/created-by",
              "aiops.ibm.com/insight-type/deduplication-details",
              "aiops.ibm.com/insight-type/feedback",
              "aiops.ibm.com/insight-type/golden-signal",
              "aiops.ibm.com/insight-type/itsm/metadata",
              "aiops.ibm.com/insight-type/incident-summary",
              "aiops.ibm.com/insight-type/incident-title",
              "aiops.ibm.com/insight-type/log-template",
              "aiops.ibm.com/insight-type/probable-cause",
              "aiops.ibm.com/insight-type/story/proposed-by",
              "aiops.ibm.com/insight-type/event/related-alert",
              "aiops.ibm.com/insight-type/runbook",
              "aiops.ibm.com/insight-type/seasonal-occurrence",
              "aiops.ibm.com/insight-type/similar-incidents",
              "aiops.ibm.com/insight-type/similar-story",
              "aiops.ibm.com/insight-type/story/holdoff",
              "aiops.ibm.com/insight-type/topology/story",
              "aiops.ibm.com/insight-type/suppression",
              "aiops.ibm.com/insight-type/relationship/third-party-event-correlation",
              "aiops.ibm.com/insight-type/topology/group",
              "aiops.ibm.com/insight-type/topology/resource",
              "aiops.ibm.com/insight-type/topology/statusId",
              "aiops.ibm.com/insight-type/relationship/causal-union",
              "aiops.ibm.com/insight-type/verbose-description",
              "aiops.ibm.com/insight-type/xiny"
            ]
          },
          "source": {
            "type": "string",
            "description": "The source of the insight information.",
            "example": "aiops.ibm.com/insight-source/temporal-analytics"
          }
        }
      },
      "AlertInsightBadRequestResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "number",
            "example": 400
          },
          "message": {
            "type": "string",
            "example": "Bad Request"
          },
          "level": {
            "type": "string",
            "example": "error"
          },
          "req_id": {
            "type": "string",
            "example": "4f233590-eca2-11f0-84a8-a7f0a516c37b"
          }
        },
        "required": [
          "code",
          "message",
          "level",
          "req_id"
        ]
      },
      "AlgorithmInfoDto": {
        "type": "object",
        "properties": {
          "algorithmName": {
            "type": "string",
            "description": "The name of the algorithm",
            "example": "temporal-grouping"
          },
          "algorithmDescription": {
            "type": "string",
            "description": "A description of what the algorithm does",
            "example": "Groups alerts based on temporal patterns"
          },
          "isRegistered": {
            "type": "boolean",
            "description": "Whether the algorithm is registered in the system",
            "example": true
          },
          "lastChange": {
            "type": "string",
            "description": "Timestamp of the last change to the algorithm",
            "example": "2025-01-14T10:30:00Z"
          },
          "runtimeName": {
            "type": "string",
            "description": "The runtime environment name for the algorithm",
            "example": "python-3.9"
          },
          "version": {
            "type": "string",
            "description": "The version of the algorithm",
            "example": "1.0.0"
          },
          "manifestBase64": {
            "type": "string",
            "description": "Base64-encoded manifest of the algorithm configuration",
            "example": "eyJuYW1lIjoidGVtcG9yYWwtZ3JvdXBpbmcifQ=="
          },
          "isEnabled": {
            "type": "boolean",
            "description": "Whether the algorithm is currently enabled",
            "example": true
          },
          "usedStatus": {
            "nullable": true,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "COMPLETED",
                "FAILED",
                "QUEUED",
                "RETRIEVING_DATA",
                "PREPARING_DATA",
                "CHECKING_DATA_QUALITY",
                "TRAINING",
                "EVALUATING_MODELS",
                "SAVING_MODELS"
              ]
            },
            "description": "Current usage status of the algorithm",
            "example": [
              "COMPLETED",
              "TRAINING"
            ]
          }
        },
        "required": [
          "algorithmName",
          "algorithmDescription",
          "isRegistered",
          "lastChange",
          "runtimeName",
          "version",
          "manifestBase64",
          "isEnabled",
          "usedStatus"
        ]
      },
      "ErrorResponse400Dto": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing what went wrong",
            "example": "Invalid request data provided"
          },
          "error": {
            "type": "string",
            "description": "Error type",
            "example": "Bad Request"
          },
          "statusCode": {
            "type": "integer",
            "description": "HTTP status code",
            "format": "int64",
            "example": 400,
            "minimum": 400,
            "maximum": 599
          }
        },
        "required": [
          "message",
          "error",
          "statusCode"
        ]
      },
      "ErrorResponse401Dto": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing what went wrong",
            "example": "Unauthorized - invalid or missing token"
          },
          "error": {
            "type": "string",
            "description": "Error type",
            "example": "Unauthorized"
          },
          "statusCode": {
            "type": "integer",
            "description": "HTTP status code",
            "format": "int64",
            "example": 401,
            "minimum": 400,
            "maximum": 599
          }
        },
        "required": [
          "message",
          "error",
          "statusCode"
        ]
      },
      "ErrorResponse403Dto": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing what went wrong",
            "example": "Forbidden - insufficient permissions"
          },
          "error": {
            "type": "string",
            "description": "Error type",
            "example": "Forbidden"
          },
          "statusCode": {
            "type": "integer",
            "description": "HTTP status code",
            "format": "int64",
            "example": 403,
            "minimum": 400,
            "maximum": 599
          }
        },
        "required": [
          "message",
          "error",
          "statusCode"
        ]
      },
      "ErrorResponse500Dto": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing what went wrong",
            "example": "Internal server error"
          },
          "error": {
            "type": "string",
            "description": "Error type",
            "example": "Internal Server Error"
          },
          "statusCode": {
            "type": "integer",
            "description": "HTTP status code",
            "format": "int64",
            "example": 500,
            "minimum": 400,
            "maximum": 599
          }
        },
        "required": [
          "message",
          "error",
          "statusCode"
        ]
      },
      "ErrorResponse502Dto": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing what went wrong",
            "example": "Invalid response from upstream service"
          },
          "error": {
            "type": "string",
            "description": "Error type",
            "example": "Bad Gateway"
          },
          "statusCode": {
            "type": "integer",
            "description": "HTTP status code",
            "format": "int64",
            "example": 502,
            "minimum": 400,
            "maximum": 599
          }
        },
        "required": [
          "message",
          "error",
          "statusCode"
        ]
      },
      "ErrorResponse503Dto": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing what went wrong",
            "example": "Service is unavailable"
          },
          "error": {
            "type": "string",
            "description": "Error type",
            "example": "Service Unavailable"
          },
          "statusCode": {
            "type": "integer",
            "description": "HTTP status code",
            "format": "int64",
            "example": 503,
            "minimum": 400,
            "maximum": 599
          }
        },
        "required": [
          "message",
          "error",
          "statusCode"
        ]
      },
      "ErrorResponse404Dto": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing what went wrong",
            "example": "Resource not found"
          },
          "error": {
            "type": "string",
            "description": "Error type",
            "example": "Not Found"
          },
          "statusCode": {
            "type": "integer",
            "description": "HTTP status code",
            "format": "int64",
            "example": 404,
            "minimum": 400,
            "maximum": 599
          }
        },
        "required": [
          "message",
          "error",
          "statusCode"
        ]
      },
      "RegisterAlgorithmDto": {
        "type": "object",
        "properties": {
          "algorithmName": {
            "type": "string",
            "description": "The name of the algorithm to register",
            "example": "temporal-grouping"
          },
          "runtimeName": {
            "enum": [
              "SPARK",
              "LUIGI"
            ],
            "type": "string",
            "description": "The runtime environment for the algorithm",
            "example": "SPARK"
          },
          "configBase64": {
            "type": "string",
            "description": "Base64-encoded configuration for the algorithm",
            "example": "eyJjb25maWciOiAidmFsdWUifQ=="
          },
          "configType": {
            "enum": [
              "JSON",
              "YAML"
            ],
            "type": "string",
            "description": "The type of configuration format",
            "example": "JSON"
          },
          "algorithmDescription": {
            "type": "string",
            "description": "A description of what the algorithm does",
            "example": "Groups alerts based on temporal patterns"
          },
          "version": {
            "type": "string",
            "description": "The version of the algorithm",
            "example": "1.0.0"
          },
          "isEnabled": {
            "type": "boolean",
            "description": "Whether the algorithm should be enabled upon registration",
            "example": true
          },
          "usedStatus": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "COMPLETED",
                "FAILED",
                "QUEUED",
                "RETRIEVING_DATA",
                "PREPARING_DATA",
                "CHECKING_DATA_QUALITY",
                "TRAINING",
                "EVALUATING_MODELS",
                "SAVING_MODELS"
              ]
            },
            "description": "Initial usage status of the algorithm",
            "example": [
              "QUEUED"
            ]
          }
        },
        "required": [
          "algorithmName",
          "runtimeName",
          "configBase64",
          "configType",
          "algorithmDescription"
        ]
      },
      "MutationResultDto": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Success or error details",
            "example": "Operation completed successfully"
          },
          "status": {
            "type": "string",
            "description": "Whether or not the mutation succeeded (e.g. SUCCEEDED, FAILED)",
            "example": "SUCCEEDED"
          },
          "precheckCompleted": {
            "type": "boolean",
            "description": "Whether the associated precheck run is complete. Used for pop up notification in the UI after clicking 'Train models'",
            "example": true
          }
        },
        "required": [
          "message",
          "status"
        ]
      },
      "CreateIncidentDto": {
        "type": "object",
        "properties": {
          "priority": {
            "description": "An indication of the relative impact of the issue that caused this incident to be raised. 1 - Priority 1 (Highest), 2 - Priority 2, 3 - Priority 3, 4 - Priority 4, 5 - Priority 5 ",
            "enum": [
              1,
              2,
              3,
              4,
              5
            ],
            "type": "number"
          },
          "state": {
            "description": "The current state of the incident",
            "enum": [
              "unassigned",
              "assignedToTeam",
              "assignedToIndividual",
              "inProgress",
              "onHold",
              "resolved",
              "closed"
            ],
            "type": "string"
          },
          "alertIds": {
            "description": "The set of related alert id&#39;s that have triggered the creation of the incident. These alerts affect and are affected by the lifecycle of the incident. The incident will only be automatically resolved if all of the alerts are cleared. When the incident is resolved all of these alerts will be cleared. ",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "contextualAlertIds": {
            "description": "The set of alert id&#39;s that provide additional context to the incident due to relationships with the triggering alerts or other contextual alerts. These alerts do not affect or are affected by the lifecycle of the incident. ",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "insights": {
            "description": "An array of insights associated with the incident with one or more other entities or groupings. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Insight"
            }
          },
          "id": {
            "type": "string",
            "description": "A unique identifier for the incident",
            "example": "1a2a6787-59ad-4acd-bd0d-46c1ddfd8e06"
          },
          "createdTime": {
            "type": "string",
            "description": "The time at which the incident was created",
            "example": "2023-12-31T04:45:00.005Z"
          },
          "createdBy": {
            "type": "string",
            "description": "The actor who created the incident",
            "example": "user123"
          },
          "title": {
            "type": "string",
            "description": "A short description of the incident"
          },
          "description": {
            "type": "string",
            "description": "A longer description of the incident"
          },
          "langId": {
            "type": "string",
            "description": "ISO 639-3 language id",
            "example": "eng"
          },
          "externalEndPoint": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "lastChangedTime": {
            "type": "string",
            "description": "The time at which the incident last changed",
            "example": "2023-12-31T04:45:00.005Z"
          },
          "owner": {
            "type": "string",
            "description": "The owner who is assigned to the incident",
            "example": "user123"
          },
          "team": {
            "type": "string",
            "description": "The team who is assigned to the incident",
            "example": "team123"
          },
          "custom": {
            "type": "object",
            "description": "The best practice documented location for user defined custom properties."
          }
        }
      },
      "Incident": {
        "type": "object",
        "properties": {
          "priority": {
            "description": "An indication of the relative impact of the issue that caused this incident to be raised. 1 - Priority 1 (Highest), 2 - Priority 2, 3 - Priority 3, 4 - Priority 4, 5 - Priority 5 ",
            "enum": [
              1,
              2,
              3,
              4,
              5
            ],
            "type": "number"
          },
          "state": {
            "description": "The current state of the incident",
            "enum": [
              "unassigned",
              "assignedToTeam",
              "assignedToIndividual",
              "inProgress",
              "onHold",
              "resolved",
              "closed"
            ],
            "type": "string"
          },
          "alertIds": {
            "description": "The set of related alert id&#39;s that have triggered the creation of the incident. These alerts affect and are affected by the lifecycle of the incident. The incident will only be automatically resolved if all of the alerts are cleared. When the incident is resolved all of these alerts will be cleared. ",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "contextualAlertIds": {
            "description": "The set of alert id&#39;s that provide additional context to the incident due to relationships with the triggering alerts or other contextual alerts. These alerts do not affect or are affected by the lifecycle of the incident. ",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "insights": {
            "description": "An array of insights associated with the incident with one or more other entities or groupings. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Insight"
            }
          },
          "id": {
            "type": "string",
            "description": "A unique identifier for the incident",
            "example": "1a2a6787-59ad-4acd-bd0d-46c1ddfd8e06"
          },
          "createdTime": {
            "type": "string",
            "description": "The time at which the incident was created",
            "example": "2023-12-31T04:45:00.005Z"
          },
          "createdBy": {
            "type": "string",
            "description": "The actor who created the incident",
            "example": "user123"
          },
          "title": {
            "type": "string",
            "description": "A short description of the incident"
          },
          "description": {
            "type": "string",
            "description": "A longer description of the incident"
          },
          "langId": {
            "type": "string",
            "description": "ISO 639-3 language id",
            "example": "eng"
          },
          "externalEndPoint": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "lastChangedTime": {
            "type": "string",
            "description": "The time at which the incident last changed",
            "example": "2023-12-31T04:45:00.005Z"
          },
          "owner": {
            "type": "string",
            "description": "The owner who is assigned to the incident",
            "example": "user123"
          },
          "team": {
            "type": "string",
            "description": "The team who is assigned to the incident",
            "example": "team123"
          },
          "custom": {
            "type": "object",
            "description": "The best practice documented location for user defined custom properties."
          }
        }
      },
      "UpdateIncidentDto": {
        "type": "object",
        "properties": {
          "priority": {
            "description": "An indication of the relative impact of the issue that caused this incident to be raised. 1 - Priority 1 (Highest), 2 - Priority 2, 3 - Priority 3, 4 - Priority 4, 5 - Priority 5 ",
            "enum": [
              1,
              2,
              3,
              4,
              5
            ],
            "type": "number"
          },
          "state": {
            "description": "The current state of the incident",
            "enum": [
              "unassigned",
              "assignedToTeam",
              "assignedToIndividual",
              "inProgress",
              "onHold",
              "resolved",
              "closed"
            ],
            "type": "string"
          },
          "alertIds": {
            "description": "The set of related alert id&#39;s that have triggered the creation of the incident. These alerts affect and are affected by the lifecycle of the incident. The incident will only be automatically resolved if all of the alerts are cleared. When the incident is resolved all of these alerts will be cleared. ",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "contextualAlertIds": {
            "description": "The set of alert id&#39;s that provide additional context to the incident due to relationships with the triggering alerts or other contextual alerts. These alerts do not affect or are affected by the lifecycle of the incident. ",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "insights": {
            "description": "An array of insights associated with the incident with one or more other entities or groupings. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Insight"
            }
          },
          "id": {
            "type": "string",
            "description": "A unique identifier for the incident",
            "example": "1a2a6787-59ad-4acd-bd0d-46c1ddfd8e06"
          },
          "createdTime": {
            "type": "string",
            "description": "The time at which the incident was created",
            "example": "2023-12-31T04:45:00.005Z"
          },
          "createdBy": {
            "type": "string",
            "description": "The actor who created the incident",
            "example": "user123"
          },
          "title": {
            "type": "string",
            "description": "A short description of the incident"
          },
          "description": {
            "type": "string",
            "description": "A longer description of the incident"
          },
          "langId": {
            "type": "string",
            "description": "ISO 639-3 language id",
            "example": "eng"
          },
          "externalEndPoint": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "lastChangedTime": {
            "type": "string",
            "description": "The time at which the incident last changed",
            "example": "2023-12-31T04:45:00.005Z"
          },
          "owner": {
            "type": "string",
            "description": "The owner who is assigned to the incident",
            "example": "user123"
          },
          "team": {
            "type": "string",
            "description": "The team who is assigned to the incident",
            "example": "team123"
          },
          "custom": {
            "type": "object",
            "description": "The best practice documented location for user defined custom properties."
          }
        }
      },
      "IncidentUnauthorizedResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Unauthorized"
          },
          "statusCode": {
            "type": "number",
            "example": 401
          }
        },
        "required": [
          "message",
          "statusCode"
        ]
      },
      "IncidentNotFoundResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "number",
            "example": 404
          },
          "message": {
            "type": "string",
            "example": "Not Found"
          },
          "level": {
            "type": "string",
            "example": "error"
          },
          "req_id": {
            "type": "string",
            "example": "4f233590-eca2-11f0-84a8-a7f0a516c37b"
          }
        },
        "required": [
          "code",
          "message",
          "level",
          "req_id"
        ]
      },
      "IncidentBadRequestResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "number",
            "example": 400
          },
          "message": {
            "example": [
              "state must be a valid StoryState value"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "level": {
            "type": "string",
            "example": "error"
          },
          "req_id": {
            "type": "string",
            "example": "4f233590-eca2-11f0-84a8-a7f0a516c37b"
          }
        },
        "required": [
          "code",
          "message",
          "level",
          "req_id"
        ]
      },
      "IncidentInternalServerErrorResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "number",
            "example": 500
          },
          "message": {
            "type": "string",
            "example": "Internal Server Error"
          },
          "level": {
            "type": "string",
            "example": "error"
          },
          "req_id": {
            "type": "string",
            "example": "4f233590-eca2-11f0-84a8-a7f0a516c37b"
          }
        },
        "required": [
          "code",
          "message",
          "level",
          "req_id"
        ]
      },
      "CreateIncidentTimelineDto": {
        "type": "object",
        "properties": {
          "comment": {
            "type": "string",
            "description": "The comment text to add to the incident timeline",
            "example": "Escalating to senior engineer for further investigation"
          },
          "metadata": {
            "type": "string",
            "description": "Optional metadata or additional context for the timeline entry",
            "example": "Added by cpadmin"
          }
        },
        "required": [
          "comment"
        ]
      },
      "IncidentTimelineNotFoundResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "number",
            "example": 404
          },
          "message": {
            "type": "string",
            "example": "Error return from remote server"
          },
          "level": {
            "type": "string",
            "example": "error"
          },
          "req_id": {
            "type": "string",
            "example": "4f233590-eca2-11f0-84a8-a7f0a516c37b"
          }
        },
        "required": [
          "code",
          "message",
          "level",
          "req_id"
        ]
      },
      "AccessDetails": {
        "type": "object",
        "properties": {
          "users": {
            "description": "The users that should have access to the entity defined by the entity creator. ",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "teams": {
            "description": "The teams of users that should have access to the entity defined by the entity creator. ",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "AccessControlList": {
        "type": "object",
        "properties": {
          "admin": {
            "$ref": "#/components/schemas/AccessDetails"
          },
          "write": {
            "$ref": "#/components/schemas/AccessDetails"
          },
          "read": {
            "$ref": "#/components/schemas/AccessDetails"
          }
        }
      },
      "Condition": {
        "type": "object",
        "properties": {
          "operator": {
            "description": "The operator that connects multiple conditions",
            "enum": [
              "and",
              "or",
              "=",
              "!=",
              ">",
              "<",
              ">=",
              "<=",
              "matches",
              "!matches",
              "contains",
              "!contains",
              "isEmpty",
              "!isEmpty",
              "includesAny",
              "includesAll",
              "excludesAny",
              "excludesAll",
              "startsWith",
              "endsWith"
            ],
            "type": "string"
          },
          "additionalfields": {
            "description": "Additional fields to be included in filter evaluation",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "id": {
            "type": "string",
            "description": "Optionally assigned id for the condition",
            "example": "null"
          },
          "field": {
            "type": "string",
            "description": "The name of the property/field in the given structure",
            "example": "insights"
          },
          "value": {
            "type": "object"
          },
          "type": {
            "type": "string",
            "description": "Indicates the type of this condition.",
            "example": "null"
          }
        },
        "required": [
          "operator",
          "type"
        ]
      },
      "FilterConditionSet": {
        "type": "object",
        "properties": {
          "operator": {
            "description": "The operator that connects multiple conditions ",
            "enum": [
              "and",
              "or"
            ],
            "type": "string"
          },
          "conditions": {
            "description": "The conditions that will be used to select the alerts or stories ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Condition"
            }
          }
        }
      },
      "FilterMetadata": {
        "type": "object",
        "properties": {
          "creationTimestamp": {
            "type": "string",
            "description": "The time this filter was first created",
            "example": "null"
          },
          "lastUpdatedTimestamp": {
            "type": "string",
            "description": "The time this filter was last updated",
            "example": "null"
          },
          "createdBy": {
            "type": "string",
            "description": "Unique ID of the user that created this filter.",
            "example": "null"
          },
          "lastUpdatedBy": {
            "type": "string",
            "description": "Unique ID of the user that last updated this filter.",
            "example": "null"
          }
        }
      },
      "FilterStatistics": {
        "type": "object",
        "properties": {
          "lastUsedTimestamp": {
            "type": "string",
            "description": "The time this filter was last used",
            "example": "null"
          },
          "lastUsedBy": {
            "type": "string",
            "description": "Unique ID of the user that last used this filter.",
            "example": "null"
          }
        }
      },
      "Filter": {
        "type": "object",
        "properties": {
          "mode": {
            "description": "The mode type of the filter. There could be more modes added in the future. ",
            "enum": [
              "basic",
              "advanced"
            ],
            "type": "string"
          },
          "type": {
            "description": "The type of elements the filter can be used, such as alerts, stoires, inventory or topology. ",
            "enum": [
              "alert",
              "story",
              "inventory",
              "topology",
              "metric"
            ],
            "type": "string"
          },
          "subType": {
            "description": "The subtype for the filter. This indicates what the filter is to be used for. ",
            "enum": [
              "restriction",
              "ai"
            ],
            "type": "string"
          },
          "tags": {
            "description": "A list of tags associated to the filter for grouping ",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "accessControlList": {
            "$ref": "#/components/schemas/AccessControlList"
          },
          "conditionSet": {
            "$ref": "#/components/schemas/FilterConditionSet"
          },
          "metadata": {
            "$ref": "#/components/schemas/FilterMetadata"
          },
          "statistics": {
            "$ref": "#/components/schemas/FilterStatistics"
          },
          "id": {
            "type": "string",
            "description": "A unique, immutable id for the filter. This will likely be a system-generated UUID or similar.",
            "example": "null"
          },
          "name": {
            "type": "string",
            "description": "The name of the filter defined by the filter creator or editors. Support special characters. Editable.",
            "example": "null"
          },
          "description": {
            "type": "string",
            "description": "A descriptin of what this filter does, provided by the filter creator or editors.",
            "example": "null"
          },
          "whereClause": {
            "type": "string",
            "description": "Query predicate string used when filter mode is advanced.",
            "example": "null"
          }
        }
      },
      "CreateFilterDto": {
        "type": "object",
        "properties": {
          "mode": {
            "description": "The mode type of the filter. There could be more modes added in the future. ",
            "enum": [
              "basic",
              "advanced"
            ],
            "type": "string"
          },
          "type": {
            "description": "The type of elements the filter can be used, such as alerts, stoires, inventory or topology. ",
            "enum": [
              "alert",
              "story",
              "inventory",
              "topology",
              "metric"
            ],
            "type": "string"
          },
          "subType": {
            "description": "The subtype for the filter. This indicates what the filter is to be used for. ",
            "enum": [
              "restriction",
              "ai"
            ],
            "type": "string"
          },
          "tags": {
            "description": "A list of tags associated to the filter for grouping ",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "accessControlList": {
            "$ref": "#/components/schemas/AccessControlList"
          },
          "conditionSet": {
            "$ref": "#/components/schemas/FilterConditionSet"
          },
          "metadata": {
            "$ref": "#/components/schemas/FilterMetadata"
          },
          "statistics": {
            "$ref": "#/components/schemas/FilterStatistics"
          },
          "id": {
            "type": "string",
            "description": "A unique, immutable id for the filter. This will likely be a system-generated UUID or similar.",
            "example": "null"
          },
          "name": {
            "type": "string",
            "description": "The name of the filter defined by the filter creator or editors. Support special characters. Editable.",
            "example": "null"
          },
          "description": {
            "type": "string",
            "description": "A descriptin of what this filter does, provided by the filter creator or editors.",
            "example": "null"
          },
          "whereClause": {
            "type": "string",
            "description": "Query predicate string used when filter mode is advanced.",
            "example": "null"
          }
        }
      },
      "CreateFilterResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID of the newly created filter",
            "example": "1b0a852b-79b1-428e-849a-214716cb3e0a"
          }
        },
        "required": [
          "id"
        ]
      },
      "updateFilterDto": {
        "type": "object",
        "properties": {
          "mode": {
            "description": "The mode type of the filter. There could be more modes added in the future. ",
            "enum": [
              "basic",
              "advanced"
            ],
            "type": "string"
          },
          "type": {
            "description": "The type of elements the filter can be used, such as alerts, stoires, inventory or topology. ",
            "enum": [
              "alert",
              "story",
              "inventory",
              "topology",
              "metric"
            ],
            "type": "string"
          },
          "subType": {
            "description": "The subtype for the filter. This indicates what the filter is to be used for. ",
            "enum": [
              "restriction",
              "ai"
            ],
            "type": "string"
          },
          "tags": {
            "description": "A list of tags associated to the filter for grouping ",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "accessControlList": {
            "$ref": "#/components/schemas/AccessControlList"
          },
          "conditionSet": {
            "$ref": "#/components/schemas/FilterConditionSet"
          },
          "metadata": {
            "$ref": "#/components/schemas/FilterMetadata"
          },
          "statistics": {
            "$ref": "#/components/schemas/FilterStatistics"
          },
          "id": {
            "type": "string",
            "description": "A unique, immutable id for the filter. This will likely be a system-generated UUID or similar.",
            "example": "null"
          },
          "name": {
            "type": "string",
            "description": "The name of the filter defined by the filter creator or editors. Support special characters. Editable.",
            "example": "null"
          },
          "description": {
            "type": "string",
            "description": "A descriptin of what this filter does, provided by the filter creator or editors.",
            "example": "null"
          },
          "whereClause": {
            "type": "string",
            "description": "Query predicate string used when filter mode is advanced.",
            "example": "null"
          }
        }
      },
      "DeleteFiltersDto": {
        "type": "object",
        "properties": {
          "condition": {
            "type": "string",
            "minLength": 1,
            "description": "A search condition for particular set of items",
            "example": "metadata.createdBy = 'admin'"
          },
          "ids": {
            "description": "A list of ids to delete.",
            "example": [
              "1b0a852b-79b1-428e-849a-214716cb3e0a"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ElementsDeletedDto": {
        "type": "object",
        "properties": {
          "deleted": {
            "description": "A list of the element ids that were deleted.",
            "example": [
              "1b0a852b-79b1-428e-849a-214716cb3e0a"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "notfound": {
            "description": "A list of element ids that were not found.",
            "example": [
              "2c1b963c-80c2-539f-950b-325827dc4f1b"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "failed": {
            "description": "A list of element ids that were not deleted.",
            "example": [
              "3d2c074d-91d3-640g-a61c-436938ed5g2c"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "deleted",
          "notfound",
          "failed"
        ]
      },
      "ViewColumnsInner": {
        "type": "object",
        "properties": {
          "fieldType": {
            "description": "The type of data for the column ",
            "enum": [
              "string",
              "integer",
              "date-time",
              "custom",
              "boolean"
            ],
            "type": "string"
          },
          "dataJustify": {
            "description": "Where to justify the data in the data cells ",
            "enum": [
              "left",
              "center",
              "right"
            ],
            "type": "string"
          },
          "titleType": {
            "description": "The type of title for the column to display in the header ",
            "enum": [
              "String",
              "Icon"
            ],
            "type": "string"
          },
          "titleJustify": {
            "description": "Where to justify the title in the header cell ",
            "enum": [
              "left",
              "center",
              "right"
            ],
            "type": "string"
          },
          "fieldExpression": {
            "type": "string",
            "description": "The field expression for the column, as a JSONPath statement",
            "example": "null"
          },
          "fieldTitle": {
            "type": "string",
            "description": "The title for the column in the alert details",
            "example": "null"
          },
          "titleText": {
            "type": "string",
            "description": "The title for the column to display in the header",
            "example": "null"
          },
          "columnWidth": {
            "type": "number",
            "description": "The width of the column"
          },
          "frozen": {
            "type": "boolean",
            "description": "States whether this column should be frozen"
          },
          "html": {
            "type": "boolean",
            "description": "States whether this column should render the content as html"
          },
          "hidden": {
            "type": "boolean",
            "description": "States whether this column is hidden"
          }
        }
      },
      "ViewGrouping": {
        "type": "object",
        "properties": {
          "columns": {
            "description": "The set of columns, by id, to perform groupings on. Max 3. ",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sortOn": {
            "description": "The values on which to sort the groups. Either on the group itself (default) or the count. ",
            "enum": [
              "group",
              "count"
            ],
            "type": "string"
          }
        }
      },
      "ViewMetadata": {
        "type": "object",
        "properties": {
          "creationTimestamp": {
            "type": "string",
            "description": "The time this view was first created",
            "example": "null"
          },
          "lastUpdatedTimestamp": {
            "type": "string",
            "description": "The time this view was last updated",
            "example": "null"
          },
          "createdBy": {
            "type": "string",
            "description": "Unique ID of the user that created this view.",
            "example": "null"
          },
          "lastUpdatedBy": {
            "type": "string",
            "description": "Unique ID of the user that last updated this view.",
            "example": "null"
          }
        }
      },
      "ViewStatistics": {
        "type": "object",
        "properties": {
          "lastUsedTimestamp": {
            "type": "string",
            "description": "The time this view was last used",
            "example": "null"
          },
          "lastUsedBy": {
            "type": "string",
            "description": "Unique ID of the user that last used this view.",
            "example": "null"
          }
        }
      },
      "View": {
        "type": "object",
        "properties": {
          "type": {
            "description": "The type of the view. whether its the alert or story view ",
            "enum": [
              "alert",
              "story"
            ],
            "type": "string"
          },
          "tags": {
            "description": "A list of tags for grouping views ",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "accessControlList": {
            "$ref": "#/components/schemas/AccessControlList"
          },
          "columns": {
            "description": "The columns, and their properties, that will be displayed in this view. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ViewColumnsInner"
            }
          },
          "grouping": {
            "$ref": "#/components/schemas/ViewGrouping"
          },
          "metadata": {
            "$ref": "#/components/schemas/ViewMetadata"
          },
          "statistics": {
            "$ref": "#/components/schemas/ViewStatistics"
          },
          "id": {
            "type": "string",
            "description": "A unique, immutable id for the view. This will likely be a system-generated UUID or similar.",
            "example": "null"
          },
          "name": {
            "type": "string",
            "description": "The name of the view defined by the view creator or editors. Support special characters. Editable.",
            "example": "null"
          },
          "description": {
            "type": "string",
            "description": "A description of what this view does, provided by the view creator or editors.",
            "example": "null"
          },
          "sortColumns": {
            "description": "The columns, in order, and their sort direction to sort by.",
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        }
      },
      "CreateViewDto": {
        "type": "object",
        "properties": {
          "type": {
            "description": "The type of the view. whether its the alert or story view ",
            "enum": [
              "alert",
              "story"
            ],
            "type": "string"
          },
          "tags": {
            "description": "A list of tags for grouping views ",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "accessControlList": {
            "$ref": "#/components/schemas/AccessControlList"
          },
          "columns": {
            "description": "The columns, and their properties, that will be displayed in this view. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ViewColumnsInner"
            }
          },
          "grouping": {
            "$ref": "#/components/schemas/ViewGrouping"
          },
          "metadata": {
            "$ref": "#/components/schemas/ViewMetadata"
          },
          "statistics": {
            "$ref": "#/components/schemas/ViewStatistics"
          },
          "id": {
            "type": "string",
            "description": "A unique, immutable id for the view. This will likely be a system-generated UUID or similar.",
            "example": "null"
          },
          "name": {
            "type": "string",
            "description": "The name of the view defined by the view creator or editors. Support special characters. Editable.",
            "example": "null"
          },
          "description": {
            "type": "string",
            "description": "A description of what this view does, provided by the view creator or editors.",
            "example": "null"
          },
          "sortColumns": {
            "description": "The columns, in order, and their sort direction to sort by.",
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        }
      },
      "CreateViewResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID of the newly created view",
            "example": "1b0a852b-79b1-428e-849a-214716cb3e0a"
          }
        },
        "required": [
          "id"
        ]
      },
      "UpdateViewDto": {
        "type": "object",
        "properties": {
          "type": {
            "description": "The type of the view. whether its the alert or story view ",
            "enum": [
              "alert",
              "story"
            ],
            "type": "string"
          },
          "tags": {
            "description": "A list of tags for grouping views ",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "accessControlList": {
            "$ref": "#/components/schemas/AccessControlList"
          },
          "columns": {
            "description": "The columns, and their properties, that will be displayed in this view. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ViewColumnsInner"
            }
          },
          "grouping": {
            "$ref": "#/components/schemas/ViewGrouping"
          },
          "metadata": {
            "$ref": "#/components/schemas/ViewMetadata"
          },
          "statistics": {
            "$ref": "#/components/schemas/ViewStatistics"
          },
          "id": {
            "type": "string",
            "description": "A unique, immutable id for the view. This will likely be a system-generated UUID or similar.",
            "example": "null"
          },
          "name": {
            "type": "string",
            "description": "The name of the view defined by the view creator or editors. Support special characters. Editable.",
            "example": "null"
          },
          "description": {
            "type": "string",
            "description": "A description of what this view does, provided by the view creator or editors.",
            "example": "null"
          },
          "sortColumns": {
            "description": "The columns, in order, and their sort direction to sort by.",
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        }
      },
      "MenuItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Reference to a remote identifier of the action called from the menu item. Currently, these actions exist in RBA-AS and IR UI.",
            "example": "1b0a852b-79b1-428e-849a-214716cb3e0a"
          },
          "hidden": {
            "type": "boolean",
            "description": "Indicates whether the menu item is visible in the menu."
          }
        }
      },
      "MenuItemOrSubmenu": {
        "type": "object",
        "properties": {
          "menuItems": {
            "description": "A list of submenu items. Order is implicit, i.e. the order of the array is the order in which the submenu items are displayed. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MenuItem"
            }
          },
          "id": {
            "type": "string",
            "description": "Reference to a remote identifier of the action called from the menu item. Currently, these actions exist in RBA-AS and IR UI.",
            "example": "1b0a852b-79b1-428e-849a-214716cb3e0a"
          },
          "hidden": {
            "type": "boolean",
            "description": "Indicates whether the menu item is visible in the menu."
          },
          "name": {
            "type": "string",
            "description": "The name of the submenu. This is a display label used in the  menu and does not need to be unique.",
            "example": "default"
          }
        }
      },
      "MenuMetadata": {
        "type": "object",
        "properties": {
          "creationTimestamp": {
            "type": "string",
            "description": "The time this menu was first created.",
            "example": "null"
          },
          "lastUpdatedTimestamp": {
            "type": "string",
            "description": "The time this menu was last updated.",
            "example": "null"
          },
          "createdBy": {
            "type": "string",
            "description": "Unique ID of the user that created this menu.",
            "example": "null"
          },
          "lastUpdatedBy": {
            "type": "string",
            "description": "Unique ID of the user that last updated this menu.",
            "example": "null"
          }
        }
      },
      "Menu": {
        "type": "object",
        "properties": {
          "type": {
            "description": "The type of menu. ",
            "enum": [
              "alert",
              "story"
            ],
            "type": "string"
          },
          "menuItems": {
            "description": "A list of menu items. Order is implicit, i.e. the order of the array is the order in which the menu items are displayed. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MenuItemOrSubmenu"
            }
          },
          "accessControlList": {
            "$ref": "#/components/schemas/AccessControlList"
          },
          "metadata": {
            "$ref": "#/components/schemas/MenuMetadata"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the menu.",
            "example": "null"
          },
          "name": {
            "type": "string",
            "description": "The name of the menu. This is a display label for use in a menu manager and does not need to be unique.",
            "example": "default"
          },
          "description": {
            "type": "string",
            "description": "A description of the menu, intended for use in a menu manager to provide more detail on menu content and target users.",
            "example": "null"
          },
          "editable": {
            "type": "boolean",
            "description": "Is the menu editable."
          }
        }
      },
      "CreateMenuDto": {
        "type": "object",
        "properties": {
          "type": {
            "description": "The type of menu. ",
            "enum": [
              "alert",
              "story"
            ],
            "type": "string"
          },
          "menuItems": {
            "description": "A list of menu items. Order is implicit, i.e. the order of the array is the order in which the menu items are displayed. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MenuItemOrSubmenu"
            }
          },
          "accessControlList": {
            "$ref": "#/components/schemas/AccessControlList"
          },
          "metadata": {
            "$ref": "#/components/schemas/MenuMetadata"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the menu.",
            "example": "null"
          },
          "name": {
            "type": "string",
            "description": "The name of the menu. This is a display label for use in a menu manager and does not need to be unique.",
            "example": "default"
          },
          "description": {
            "type": "string",
            "description": "A description of the menu, intended for use in a menu manager to provide more detail on menu content and target users.",
            "example": "null"
          },
          "editable": {
            "type": "boolean",
            "description": "Is the menu editable."
          }
        }
      },
      "CreateMenuResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID of the newly created menu",
            "example": "1b0a852b-79b1-428e-849a-214716cb3e0a"
          }
        },
        "required": [
          "id"
        ]
      },
      "UpdateMenuDto": {
        "type": "object",
        "properties": {
          "type": {
            "description": "The type of menu. ",
            "enum": [
              "alert",
              "story"
            ],
            "type": "string"
          },
          "menuItems": {
            "description": "A list of menu items. Order is implicit, i.e. the order of the array is the order in which the menu items are displayed. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MenuItemOrSubmenu"
            }
          },
          "accessControlList": {
            "$ref": "#/components/schemas/AccessControlList"
          },
          "metadata": {
            "$ref": "#/components/schemas/MenuMetadata"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the menu.",
            "example": "null"
          },
          "name": {
            "type": "string",
            "description": "The name of the menu. This is a display label for use in a menu manager and does not need to be unique.",
            "example": "default"
          },
          "description": {
            "type": "string",
            "description": "A description of the menu, intended for use in a menu manager to provide more detail on menu content and target users.",
            "example": "null"
          },
          "editable": {
            "type": "boolean",
            "description": "Is the menu editable."
          }
        }
      },
      "ToolMappingsInner": {
        "type": "object",
        "properties": {
          "mappingType": {
            "description": "How an action parameter is mapped: &#39;parameter&#39; uses a field or property from the target. &#39;fixed&#39; always uses the same value. &#39;useDefault&#39; uses the default from the action. &#39;runtime&#39; leaves the entry up to the operator. ",
            "enum": [
              "parameter",
              "fixed",
              "useDefault",
              "runtime"
            ],
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "The name of the parameter of the underlying implementation (RBA action, IR UI).",
            "example": "null"
          },
          "value": {
            "type": "object",
            "nullable": true,
            "description": "The value of the parameter as a string potentially with property placeholders for the item in context."
          }
        }
      },
      "ToolImplementation": {
        "type": "object",
        "properties": {
          "type": {
            "description": "The type of implementation. ",
            "enum": [
              "rba",
              "irui"
            ],
            "type": "string"
          },
          "rid": {
            "type": "string",
            "description": "Reference to a remote identifier of the action called from the tool item. Currently, these actions exist in RBA-AS and IR UI.",
            "example": "1b0a852b-79b1-428e-849a-214716cb3e0a"
          },
          "version": {
            "type": "number",
            "description": "The version of the underlying implementation."
          }
        }
      },
      "ToolConditionSet": {
        "type": "object",
        "properties": {
          "operator": {
            "description": "The operator that connects multiple conditions ",
            "enum": [
              "and",
              "or"
            ],
            "type": "string"
          },
          "conditions": {
            "description": "The conditions that will be used to determine the relevance to the item in context.",
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        }
      },
      "ToolMetadata": {
        "type": "object",
        "properties": {
          "creationTimestamp": {
            "type": "string",
            "description": "The time this tool was first created.",
            "example": "null"
          },
          "lastUpdatedTimestamp": {
            "type": "string",
            "description": "The time this tool was last updated.",
            "example": "null"
          },
          "createdBy": {
            "type": "string",
            "description": "Unique ID of the user that created this tool.",
            "example": "null"
          },
          "lastUpdatedBy": {
            "type": "string",
            "description": "Unique ID of the user that last updated this tool.",
            "example": "null"
          }
        }
      },
      "Tool": {
        "type": "object",
        "properties": {
          "type": {
            "description": "The type of tool. ",
            "enum": [
              "alert",
              "story"
            ],
            "type": "string"
          },
          "tags": {
            "description": "A list of tags assigned to the tool.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "mappings": {
            "description": "Mapping of parameter names to string template values passed to the underlying  implementation when a tool is executed. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ToolMappingsInner"
            }
          },
          "implementation": {
            "$ref": "#/components/schemas/ToolImplementation"
          },
          "conditionSet": {
            "$ref": "#/components/schemas/ToolConditionSet"
          },
          "accessControlList": {
            "$ref": "#/components/schemas/AccessControlList"
          },
          "metadata": {
            "$ref": "#/components/schemas/ToolMetadata"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the tool.",
            "example": "1b0a852b-79b1-428e-849a-214716cb3e0a"
          },
          "name": {
            "type": "string",
            "description": "The name of the tool. This is a display label for use in the tool runtime UI and does not need to be unique.",
            "example": "default"
          },
          "description": {
            "type": "string",
            "description": "A description of the tool, intended for use in a tool editor to provide more detail on tool content and target users.",
            "example": "null"
          },
          "timelineEntry": {
            "type": "string",
            "description": "A timeline entry to be logged to the target entity\\'s timeline upon successful execution of the tool.",
            "example": "null"
          },
          "multiTarget": {
            "type": "boolean",
            "description": "A flag to indicate whether the tool supports multiple targets."
          },
          "shortcut": {
            "type": "string",
            "description": "A key combination that can be used to invoke the tool. Format must be compatible with react-hotkeys.",
            "example": "ctrl+t"
          }
        }
      },
      "CreateToolDto": {
        "type": "object",
        "properties": {
          "type": {
            "description": "The type of tool. ",
            "enum": [
              "alert",
              "story"
            ],
            "type": "string"
          },
          "tags": {
            "description": "A list of tags assigned to the tool.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "mappings": {
            "description": "Mapping of parameter names to string template values passed to the underlying  implementation when a tool is executed. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ToolMappingsInner"
            }
          },
          "implementation": {
            "$ref": "#/components/schemas/ToolImplementation"
          },
          "conditionSet": {
            "$ref": "#/components/schemas/ToolConditionSet"
          },
          "accessControlList": {
            "$ref": "#/components/schemas/AccessControlList"
          },
          "metadata": {
            "$ref": "#/components/schemas/ToolMetadata"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the tool.",
            "example": "1b0a852b-79b1-428e-849a-214716cb3e0a"
          },
          "name": {
            "type": "string",
            "description": "The name of the tool. This is a display label for use in the tool runtime UI and does not need to be unique.",
            "example": "default"
          },
          "description": {
            "type": "string",
            "description": "A description of the tool, intended for use in a tool editor to provide more detail on tool content and target users.",
            "example": "null"
          },
          "timelineEntry": {
            "type": "string",
            "description": "A timeline entry to be logged to the target entity\\'s timeline upon successful execution of the tool.",
            "example": "null"
          },
          "multiTarget": {
            "type": "boolean",
            "description": "A flag to indicate whether the tool supports multiple targets."
          },
          "shortcut": {
            "type": "string",
            "description": "A key combination that can be used to invoke the tool. Format must be compatible with react-hotkeys.",
            "example": "ctrl+t"
          }
        }
      },
      "CreateToolResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID of the newly created tool",
            "example": "1b0a852b-79b1-428e-849a-214716cb3e0a"
          }
        },
        "required": [
          "id"
        ]
      },
      "UpdateToolDto": {
        "type": "object",
        "properties": {
          "type": {
            "description": "The type of tool. ",
            "enum": [
              "alert",
              "story"
            ],
            "type": "string"
          },
          "tags": {
            "description": "A list of tags assigned to the tool.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "mappings": {
            "description": "Mapping of parameter names to string template values passed to the underlying  implementation when a tool is executed. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ToolMappingsInner"
            }
          },
          "implementation": {
            "$ref": "#/components/schemas/ToolImplementation"
          },
          "conditionSet": {
            "$ref": "#/components/schemas/ToolConditionSet"
          },
          "accessControlList": {
            "$ref": "#/components/schemas/AccessControlList"
          },
          "metadata": {
            "$ref": "#/components/schemas/ToolMetadata"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the tool.",
            "example": "1b0a852b-79b1-428e-849a-214716cb3e0a"
          },
          "name": {
            "type": "string",
            "description": "The name of the tool. This is a display label for use in the tool runtime UI and does not need to be unique.",
            "example": "default"
          },
          "description": {
            "type": "string",
            "description": "A description of the tool, intended for use in a tool editor to provide more detail on tool content and target users.",
            "example": "null"
          },
          "timelineEntry": {
            "type": "string",
            "description": "A timeline entry to be logged to the target entity\\'s timeline upon successful execution of the tool.",
            "example": "null"
          },
          "multiTarget": {
            "type": "boolean",
            "description": "A flag to indicate whether the tool supports multiple targets."
          },
          "shortcut": {
            "type": "string",
            "description": "A key combination that can be used to invoke the tool. Format must be compatible with react-hotkeys.",
            "example": "ctrl+t"
          }
        }
      },
      "RunbookParameterArrayItems": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Optional. Define the type for each array item. If no value is set, \"string\" is assumed.",
            "enum": [
              "string",
              "integer",
              "boolean"
            ],
            "default": "string"
          },
          "enum": {
            "description": "Optional. Limit the potential input to a set of allowed values. If no value is set, the input is not limited.",
            "anyOf": [
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64",
                  "minimum": -9007199254740991,
                  "maximum": 9007199254740991
                }
              }
            ]
          },
          "enumLabels": {
            "description": "Optional. Contains human readable labels for enumerations, for example, if the base enumeration consists of ID numbers. Requires \"enum\" to be defined.",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "RunbookParameter": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "pattern": "^[^\\<>\\s&]+$",
            "description": "The name of the parameter."
          },
          "description": {
            "type": "string",
            "description": "An optional description, explaining the purpose of this."
          },
          "type": {
            "type": "string",
            "description": "Define the type for this parameter. If no value is set, \"string\" is assumed.",
            "enum": [
              "string",
              "integer",
              "array",
              "boolean"
            ],
            "default": "string"
          },
          "enum": {
            "description": "Optional. Limit the potential input to a set of allowed values. If no value is set, the input is not limited.",
            "anyOf": [
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64",
                  "minimum": -9007199254740991,
                  "maximum": 9007199254740991
                }
              }
            ]
          },
          "enumLabels": {
            "description": "Optional. Contains human readable labels for enumerations, for example, if the base enumeration consists of ID numbers. Requires \"enum\" to be defined.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "default": {
            "type": "object",
            "description": "Defines a default value, which will be used, if no other input is made."
          },
          "minLength": {
            "type": "number",
            "minimum": 0,
            "description": "Optional. Define a minimum length for a parameter of type \"string\". If no value is set, the string doesn't have a minimum length and becomes optional."
          },
          "maxLength": {
            "type": "number",
            "minimum": 0,
            "description": "Optional. Define a maximum length for a parameter of type \"string\". If no value is set, the length of a string parameter is unlimited."
          },
          "minimum": {
            "type": "number",
            "description": "Optional. Define a minimum value for a parameter of type \"integer\". If no value is set, the minimum of an integer parameter is boundless."
          },
          "maximum": {
            "type": "number",
            "description": "Optional. Define a maximum value for a parameter of type \"integer\". If no value is set, the maximum of an integer parameter is boundless."
          },
          "minItems": {
            "type": "number",
            "minimum": 0,
            "description": "Optional. Define a minimum array length for a parameter of type \"array\". If no value is set, the minimum size of an array parameter is '0'."
          },
          "maxItems": {
            "type": "number",
            "minimum": 0,
            "description": "Optional. Define a maximum array length for a parameter of type \"array\". If no value is set, the maximum size of an array parameter is boundless."
          },
          "items": {
            "description": "Optional. Define the schema for each array item. If no value is set, each item will be of type \"string\".",
            "allOf": [
              {
                "$ref": "#/components/schemas/RunbookParameterArrayItems"
              }
            ]
          },
          "format": {
            "type": "string",
            "description": "Optional. Define a specific format for a parameter to narrow down content and format. If no value is set, no additional format is used.",
            "enum": [
              "password",
              "multiline"
            ]
          }
        },
        "required": [
          "name"
        ]
      },
      "RunbookRuns": {
        "type": "object",
        "properties": {
          "success": {
            "type": "number",
            "description": "This value shows the number of runbook executions for this runbook with a successful conclusion."
          },
          "failure": {
            "type": "number",
            "description": "This value shows the number of runbook executions for this runbook indicating a failure."
          },
          "cancel": {
            "type": "number",
            "description": "This value shows the number of runbook executions for this runbook that have been canceled before finishing."
          },
          "inprogress": {
            "type": "number",
            "description": "This value shows the number of runbook executions for this runbook currently in progress."
          },
          "paused": {
            "type": "number",
            "description": "This value shows the number of runbook executions for this runbook that have been paused."
          },
          "total": {
            "type": "number",
            "description": "This value shows the number of runbook executions for this runbook independently of the state."
          }
        }
      },
      "RunbookStatistics": {
        "type": "object",
        "properties": {
          "runs": {
            "description": "Runbook execution statistics",
            "allOf": [
              {
                "$ref": "#/components/schemas/RunbookRuns"
              }
            ]
          },
          "comments": {
            "type": "number",
            "description": "This value shows the number of comments on execution records of this object."
          },
          "ratingavg": {
            "type": "number",
            "description": "Shows the average rating of this rating. Ratings go from *1* (worst) to *5* (best)."
          },
          "runspercent": {
            "type": "number",
            "description": "Runs percentage"
          },
          "approxTime": {
            "type": "number",
            "description": "Approximate time"
          }
        },
        "required": [
          "runs",
          "comments"
        ]
      },
      "GetRunbookReferenceDto": {
        "type": "object",
        "properties": {
          "runbookId": {
            "type": "string",
            "description": "The ID of the runbook.",
            "example": "ee4dc9a1-13a6-40df-a38b-1e286099111c"
          },
          "runbookVersion": {
            "type": "number",
            "description": "The version of the runbook being referenced.",
            "example": 3
          },
          "stepNumber": {
            "type": "number",
            "description": "The step number in the runbook where this reference occurs.",
            "example": 2
          }
        },
        "required": [
          "runbookId",
          "runbookVersion",
          "stepNumber"
        ]
      },
      "GetRunbookDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the runbook",
            "example": "Generic runbook example"
          },
          "description": {
            "type": "string",
            "description": "The description of the runbook",
            "example": "A generic example for a runbook."
          },
          "steps": {
            "type": "array",
            "description": "The steps of the runbook"
          },
          "parameters": {
            "description": "Parameters for the runbook",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RunbookParameter"
            }
          },
          "tags": {
            "description": "Tags for the runbook",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "stats": {
            "description": "Statistics for the runbook",
            "allOf": [
              {
                "$ref": "#/components/schemas/RunbookStatistics"
              }
            ]
          },
          "contextStats": {
            "description": "Context statistics for the runbook",
            "allOf": [
              {
                "$ref": "#/components/schemas/RunbookStatistics"
              }
            ]
          },
          "references": {
            "description": "References to other runbooks that reference this runbook",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetRunbookReferenceDto"
            }
          },
          "readOnly": {
            "type": "object",
            "properties": {
              "_id": {
                "type": "string"
              },
              "_createdAt": {
                "type": "string"
              },
              "_modifiedAt": {
                "type": "string"
              },
              "_createdBy": {
                "type": "string"
              },
              "_modifiedBy": {
                "type": "string"
              },
              "_type": {
                "type": "object"
              },
              "_version": {
                "type": "number"
              },
              "_runbookId": {
                "type": "string"
              },
              "_tenantId": {
                "type": "string"
              },
              "_state": {
                "type": "object"
              },
              "_canBeAutomated": {
                "type": "boolean"
              },
              "_isLatest": {
                "type": "boolean"
              }
            },
            "required": [
              "_id"
            ]
          },
          "_createdAt": {
            "type": "string",
            "description": "Creation timestamp"
          },
          "_modifiedAt": {
            "type": "string",
            "description": "Last modification timestamp"
          },
          "_createdBy": {
            "type": "string",
            "description": "Creator user ID"
          },
          "_modifiedBy": {
            "type": "string",
            "description": "Last modifier user ID"
          },
          "_type": {
            "type": "string",
            "description": "Document type"
          },
          "_version": {
            "type": "number",
            "description": "Version number"
          },
          "runbookId": {
            "type": "string",
            "description": "Runbook ID"
          },
          "_id": {
            "type": "string",
            "description": "The internal database ID of the runbook"
          },
          "_tenantId": {
            "type": "string",
            "description": "Tenant ID"
          },
          "_state": {
            "type": "string",
            "description": "State of the runbook",
            "enum": [
              "draft",
              "pending",
              "rejected",
              "approved"
            ]
          },
          "_canBeAutomated": {
            "type": "boolean",
            "description": "Whether the runbook can be automated"
          },
          "_isLatest": {
            "type": "boolean",
            "description": "Whether this is the latest version"
          },
          "draft": {
            "type": "string",
            "description": "The draft status derived from _state",
            "example": "false"
          },
          "context": {
            "type": "string",
            "description": "The context scope for the statistics"
          }
        },
        "required": [
          "name",
          "description",
          "steps"
        ]
      },
      "BranchingDto": {
        "type": "object",
        "properties": {
          "condition": {
            "type": "string",
            "description": "Condition statement for branching"
          },
          "target": {
            "type": "number",
            "description": "Target step number (-1 for end)"
          }
        },
        "required": [
          "condition",
          "target"
        ]
      },
      "StepMappingDto": {
        "type": "object",
        "properties": {
          "automationParameterName": {
            "type": "string",
            "description": "Automation parameter name"
          },
          "nestedRunbookParameterName": {
            "type": "string",
            "description": "Nested runbook parameter name"
          },
          "parameterMappingType": {
            "enum": [
              "parameter",
              "fixed",
              "useDefaultFromAutomation",
              "useDefaultFromNestedRunbook",
              "automationOutput",
              "userName"
            ],
            "type": "string",
            "description": "Parameter mapping type"
          },
          "parameterValue": {
            "description": "Parameter value",
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              },
              {
                "type": "boolean"
              },
              {
                "type": "array",
                "items": {}
              }
            ]
          }
        },
        "required": [
          "parameterMappingType"
        ]
      },
      "RunbookStepDto": {
        "type": "object",
        "properties": {
          "number": {
            "type": "number",
            "minimum": 1,
            "description": "Step number (must start at 1 and be consecutive)"
          },
          "title": {
            "type": "string",
            "description": "Step title"
          },
          "type": {
            "enum": [
              "manual",
              "runbook",
              "automation"
            ],
            "type": "string",
            "description": "Step type"
          },
          "description": {
            "type": "string",
            "description": "Step description (for manual steps)"
          },
          "runbookId": {
            "type": "string",
            "description": "Runbook ID (for runbook steps)"
          },
          "runbookVersion": {
            "type": "number",
            "description": "Runbook version (for runbook steps)"
          },
          "automationId": {
            "type": "string",
            "description": "Automation ID (for automation steps)"
          },
          "branching": {
            "description": "Conditional branching definitions",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BranchingDto"
            }
          },
          "mappings": {
            "description": "Parameter mappings for manual/runbook/automation steps",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StepMappingDto"
            }
          }
        },
        "required": [
          "number"
        ]
      },
      "ApprovalDto": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "enum": [
              "submit"
            ],
            "description": "Approval action (only \"submit\" allowed for creation)"
          },
          "comment": {
            "type": "string",
            "description": "Comment (ignored on creation)"
          },
          "email": {
            "type": "string",
            "description": "Approver email address"
          }
        },
        "required": [
          "action",
          "email"
        ]
      },
      "ParameterItemsDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Type of array items",
            "enum": [
              "string",
              "integer",
              "boolean"
            ]
          },
          "enum": {
            "type": "array",
            "description": "Restrict allowed values",
            "items": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "enumLabels": {
            "type": "array",
            "description": "Descriptive labels for enum values",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "RunbookParameterDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Parameter name (mandatory)"
          },
          "description": {
            "type": "string",
            "description": "Parameter description"
          },
          "default": {
            "type": "object",
            "description": "Default value"
          },
          "type": {
            "enum": [
              "string",
              "integer",
              "boolean",
              "array"
            ],
            "type": "string",
            "description": "Parameter type",
            "default": "string"
          },
          "enum": {
            "type": "array",
            "description": "Restrict allowed values",
            "items": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "enumLabels": {
            "type": "array",
            "description": "Descriptive labels for enum values",
            "items": {
              "type": "string"
            }
          },
          "minLength": {
            "type": "number",
            "minimum": 0,
            "description": "Minimum string length"
          },
          "maxLength": {
            "type": "number",
            "minimum": 0,
            "description": "Maximum string length"
          },
          "minimum": {
            "type": "number",
            "description": "Minimum integer value"
          },
          "maximum": {
            "type": "number",
            "description": "Maximum integer value"
          },
          "minItems": {
            "type": "number",
            "minimum": 0,
            "description": "Minimum array items"
          },
          "maxItems": {
            "type": "number",
            "minimum": 0,
            "description": "Maximum array items"
          },
          "items": {
            "description": "Array item definition",
            "allOf": [
              {
                "$ref": "#/components/schemas/ParameterItemsDto"
              }
            ]
          },
          "format": {
            "enum": [
              "password",
              "multiline"
            ],
            "type": "string",
            "description": "Parameter format (password, multiline)"
          }
        },
        "required": [
          "name"
        ]
      },
      "CreateRunbookDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 200,
            "description": "Runbook name (mandatory, max 200 characters)"
          },
          "exampleName": {
            "type": "string",
            "description": "Example name (if set, runbook is treated as example)"
          },
          "description": {
            "type": "string",
            "description": "Runbook description"
          },
          "tags": {
            "type": "array",
            "maxLength": 30,
            "description": "Tags (array of strings, max 30 chars each)",
            "items": {
              "type": "string"
            }
          },
          "steps": {
            "description": "Runbook steps (mandatory)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RunbookStepDto"
            }
          },
          "approval": {
            "description": "Approval configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/ApprovalDto"
              }
            ]
          },
          "parameters": {
            "description": "Runbook parameters",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RunbookParameterDto"
            }
          },
          "automations": {
            "type": "object",
            "description": "Previously exported runbooks may contain automation definitions"
          },
          "_runbookId": {
            "type": "string",
            "description": "Previously exported runbooks may try to set their runbook id"
          },
          "draft": {
            "type": "boolean",
            "description": "If true, the runbook will be saved as a draft and not published. If false, the runbook will be published directly. Defaults to publishing directly.",
            "default": false
          }
        },
        "required": [
          "name",
          "steps"
        ]
      },
      "RunbookStatsResponse": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the runbook",
            "example": "Generic runbook example"
          },
          "_id": {
            "type": "string",
            "description": "The internal database ID of the runbook",
            "example": "507f1f77bcf86cd799439011"
          },
          "runbookId": {
            "type": "string",
            "description": "The id of the runbook",
            "example": "ee4dc9a1-13a6-40df-a38b-1e286099111c"
          },
          "context": {
            "type": "string",
            "description": "The context scope for the statistics",
            "example": "incident-123"
          },
          "stats": {
            "description": "Runbook execution statistics",
            "allOf": [
              {
                "$ref": "#/components/schemas/RunbookStatistics"
              }
            ]
          }
        },
        "required": [
          "name",
          "runbookId"
        ]
      },
      "UpdateRunbookDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 200,
            "description": "Runbook name (mandatory, max 200 characters)"
          },
          "exampleName": {
            "type": "string",
            "description": "Example name (if set, runbook is treated as example)"
          },
          "description": {
            "type": "string",
            "description": "Runbook description"
          },
          "tags": {
            "type": "array",
            "maxLength": 30,
            "description": "Tags (array of strings, max 30 chars each)",
            "items": {
              "type": "string"
            }
          },
          "steps": {
            "description": "Runbook steps (mandatory)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RunbookStepDto"
            }
          },
          "approval": {
            "description": "Approval configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/ApprovalDto"
              }
            ]
          },
          "parameters": {
            "description": "Runbook parameters",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RunbookParameterDto"
            }
          },
          "automations": {
            "type": "object",
            "description": "Previously exported runbooks may contain automation definitions"
          },
          "_runbookId": {
            "type": "string",
            "description": "Previously exported runbooks may try to set their runbook id"
          },
          "draft": {
            "type": "boolean",
            "description": "If true, the runbook will be saved as a draft and not published. If false, the runbook will be published directly. Defaults to publishing directly.",
            "default": false
          }
        }
      },
      "ExecutionParameterDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "The name of the runbook parameter.",
            "example": "hostname"
          },
          "value": {
            "type": "string",
            "description": "The value of the runbook parameter for this runbook execution.",
            "example": "server01.example.com"
          }
        },
        "required": [
          "name"
        ]
      },
      "ExecuteRunbook": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "description": "Specify the version number to execute. Leaving this option empty or specifying the keyword \"latest\", will execute the latest published/approved version of this runbook"
          },
          "parameters": {
            "description": "Define the values of the parameters for this runbook execution. Each parameter must have a name (required) and can optionally have a value.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExecutionParameterDto"
            }
          },
          "context": {
            "type": "string",
            "description": "Execute this runbook in a specific context. This context can later be used for more fine-grained analysis of runbook execution and tie it to specific other elements like Alerts or Stories in AIManager. Calculating statistics for a specific runbook and context is also possible."
          }
        }
      },
      "RunbookInstanceParameter": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Parameter name"
          },
          "value": {
            "type": "string",
            "description": "Parameter value"
          }
        }
      },
      "HistoryItem": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "description": "Action performed",
            "enum": [
              "complete",
              "back"
            ]
          },
          "step": {
            "type": "number",
            "description": "Step number"
          },
          "processedAt": {
            "type": "number",
            "description": "Timestamp when processed"
          },
          "processedBy": {
            "type": "string",
            "description": "User who processed this step"
          },
          "parameters": {
            "type": "object",
            "description": "Parameters for this history item"
          }
        },
        "required": [
          "action",
          "step"
        ]
      },
      "GetRunbookExecutionDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Database document ID"
          },
          "_rev": {
            "type": "string",
            "description": "Database document revision"
          },
          "_type": {
            "type": "string",
            "description": "Type of the document, in this case runbookInstance"
          },
          "_dataModel": {
            "type": "number",
            "description": "Version of the data model"
          },
          "_runbookId": {
            "type": "string",
            "description": "ID of executed runbook"
          },
          "_runbookVersion": {
            "type": "number",
            "description": "Version of executed runbook"
          },
          "_runbookName": {
            "type": "string",
            "description": "Name of executed runbook"
          },
          "_context": {
            "type": "string",
            "description": "Context for this runbook instance"
          },
          "_createdAt": {
            "type": "number",
            "description": "Timestamp when the runbook instance was created"
          },
          "_createdBy": {
            "type": "string",
            "description": "User ID which created this runbook instance"
          },
          "_modifiedAt": {
            "type": "number",
            "description": "Timestamp when the runbook instance was last changed"
          },
          "_modifiedBy": {
            "type": "string",
            "description": "User ID which last changed this runbook instance"
          },
          "_triggeredAutomatically": {
            "type": "boolean",
            "description": "Signals if this instance has been triggered automatically"
          },
          "_automationErrors": {
            "type": "string",
            "description": "For automated runs, error messages of executed automations will be written here"
          },
          "automationInformation": {
            "type": "object",
            "description": "Object with step number as key and automation details inside an object"
          },
          "parameters": {
            "description": "Parameters for the runbook instance",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RunbookInstanceParameter"
            }
          },
          "history": {
            "description": "Array with the history of changes to this runbook instance",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HistoryItem"
            }
          },
          "status": {
            "type": "string",
            "description": "Status of the runbook execution",
            "enum": [
              "in progress",
              "success",
              "failure",
              "paused",
              "have errors",
              "wrong runbook",
              "resolved before end",
              "not needed",
              "other"
            ]
          },
          "rating": {
            "type": "number",
            "description": "The rating of the runbook by the user",
            "minimum": 1,
            "maximum": 5
          },
          "comment": {
            "type": "string",
            "description": "A comment on the runbook by the user"
          },
          "note": {
            "type": "string",
            "description": "Notes of the operator during execution"
          },
          "runbook": {
            "type": "object",
            "description": "Complete runbook data (when data=runbook or data=full)"
          },
          "automation": {
            "type": "object",
            "description": "Automation data (when data=automation or data=full)"
          }
        }
      },
      "ManualRunbookExecution": {
        "type": "object",
        "properties": {
          "version": {
            "type": "number",
            "description": "Version to execute."
          },
          "context": {
            "type": "string",
            "description": "Specify the context this runbook is executed in."
          },
          "updateTimeline": {
            "type": "boolean",
            "description": "Specify whether this instance should update the alert/story timeline."
          },
          "parameters": {
            "description": "Define the values of the parameters for this runbook execution. Each parameter must have a name (required) and can optionally have a value.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExecutionParameterDto"
            }
          }
        }
      },
      "UpdateExecutionParameterDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "The name of the runbook parameter.",
            "example": "hostname"
          },
          "value": {
            "type": "object",
            "description": "The value of the runbook parameter for this runbook execution.",
            "example": "server01.example.com"
          }
        },
        "required": [
          "name"
        ]
      },
      "AutomationParameterMapping": {
        "type": "object",
        "properties": {
          "automationParameterName": {
            "type": "string",
            "description": "Runbook Automation Parameter name",
            "example": "hostname"
          },
          "parameterMappingType": {
            "type": "string",
            "description": "Runbook Automation Parameter mapping type",
            "enum": [
              "parameter",
              "fixed",
              "useDefaultFromAutomation",
              "automationOutput",
              "userName"
            ],
            "example": "parameter"
          },
          "parameterValue": {
            "type": "object",
            "description": "The value of the parameter mapping",
            "example": "server01.example.com"
          }
        },
        "required": [
          "automationParameterName",
          "parameterMappingType"
        ]
      },
      "AutomationMappingDto": {
        "type": "object",
        "properties": {
          "mappingId": {
            "type": "string",
            "description": "Mapping ID"
          },
          "parameterMappings": {
            "description": "Runbook parameter Mappings",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AutomationParameterMapping"
            }
          }
        }
      },
      "AutomationResultDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Status of the automation execution",
            "enum": [
              "successful",
              "unsuccessful",
              "failed",
              "executing",
              "unknown"
            ]
          },
          "startTime": {
            "type": "string",
            "description": "Start time of the automation"
          },
          "output": {
            "type": "string",
            "description": "Output from the automation"
          },
          "data": {
            "type": "string",
            "description": "Data from the automation"
          },
          "returnCode": {
            "type": "number",
            "description": "Return code from the automation"
          },
          "executionTime": {
            "type": "number",
            "description": "Execution time in milliseconds"
          }
        }
      },
      "AutomationInformationDto": {
        "type": "object",
        "properties": {
          "automationId": {
            "type": "string",
            "description": "ID of the automation"
          },
          "automationInstanceId": {
            "type": "string",
            "description": "ID of the automation instance"
          },
          "parameterMappings": {
            "description": "Parameter mappings for the automation",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AutomationMappingDto"
            }
          },
          "result": {
            "description": "Result of the automation execution",
            "allOf": [
              {
                "$ref": "#/components/schemas/AutomationResultDto"
              }
            ]
          }
        },
        "required": [
          "automationId",
          "automationInstanceId"
        ]
      },
      "UpdateRunbookExecutionDto": {
        "type": "object",
        "properties": {
          "parameters": {
            "description": "Redefine the runbook parameters for this runbook execution. Array of name/value objects.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateExecutionParameterDto"
            }
          },
          "completeStep": {
            "type": "boolean",
            "description": "If set to true, the runbook will advance by one step. Cannot be combined with previousStep or goToStep."
          },
          "previousStep": {
            "type": "boolean",
            "description": "If set to true, the runbook will go back one step. Cannot be combined with completeStep or goToStep. Cannot be used if on the first step."
          },
          "goToStep": {
            "type": "number",
            "description": "Set the current active step to the specified number. Cannot be combined with completeStep or previousStep. Specify the number of runbook steps + 1 to go to the end."
          },
          "pause": {
            "type": "boolean",
            "description": "Pause this runbook instance."
          },
          "resume": {
            "type": "boolean",
            "description": "Resume this runbook instance."
          },
          "status": {
            "type": "string",
            "description": "Terminates the runbook with the provided status. Must be one of the allowed values. The last five values indicate cancellation.",
            "enum": [
              "success",
              "failure",
              "have errors",
              "wrong runbook",
              "resolved before end",
              "not needed",
              "other"
            ]
          },
          "note": {
            "type": "string",
            "description": "Set a personal note attached to this runbook execution. Can only be set when the last step has been executed."
          },
          "comment": {
            "type": "string",
            "description": "Provide a comment upon runbook completion. May only be set if status is also set."
          },
          "rating": {
            "type": "number",
            "minimum": 1,
            "maximum": 5,
            "description": "Provide a rating between 1-5 upon runbook completion. May only be set if status is also set."
          },
          "automationInformation": {
            "description": "Passes information about automations executed within the scope of this runbook instance.",
            "allOf": [
              {
                "$ref": "#/components/schemas/AutomationInformationDto"
              }
            ]
          },
          "automationErrors": {
            "type": "string",
            "description": "Reserved keyword for automated runbook execution. Do not specify this manually. May only be set if the type of execution is automated."
          }
        }
      },
      "ConnectionDto": {
        "type": "object",
        "properties": {
          "connectionConfig": {
            "type": "object",
            "description": "Connection configuration",
            "additionalProperties": {
              "type": "object"
            }
          },
          "connectionType": {
            "type": "string",
            "description": "Type of the connection",
            "example": "ansible"
          },
          "connectorUID": {
            "type": "string",
            "description": "UID of the connector",
            "example": "abc-123"
          },
          "deploymentType": {
            "type": "string",
            "description": "Deployment type of the connection",
            "example": "local"
          },
          "displayName": {
            "type": "string",
            "description": "Display name of the connection",
            "example": "My Ansible Connection"
          },
          "name": {
            "type": "string",
            "description": "Name of the connection",
            "example": "my-ansible-connection"
          },
          "status": {
            "type": "string",
            "description": "Status phase of the connection",
            "example": "Running"
          },
          "statusDetails": {
            "type": "object",
            "description": "Status details of the connection",
            "additionalProperties": {
              "type": "object"
            }
          }
        }
      },
      "ConnectionsListResponseDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "description": "HTTP status code",
            "format": "int64",
            "example": 200
          },
          "data": {
            "description": "Array of connections",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConnectionDto"
            }
          }
        },
        "required": [
          "code",
          "data"
        ]
      },
      "BadRequestErrorResponseDto": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Detailed error message",
            "example": "Invalid request data provided"
          },
          "error": {
            "type": "string",
            "description": "Error type",
            "example": "Bad Request"
          },
          "statusCode": {
            "type": "integer",
            "description": "HTTP status code 400 - BadRequest",
            "format": "int64",
            "example": 400,
            "minimum": 400,
            "maximum": 400
          }
        },
        "required": [
          "message",
          "error",
          "statusCode"
        ]
      },
      "StatusNotFoundResponseDto": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Detailed error message",
            "example": "Resource not found"
          },
          "error": {
            "type": "string",
            "description": "Error type",
            "example": "Not Found"
          },
          "statusCode": {
            "type": "integer",
            "description": "HTTP status code 404 - NotFound",
            "format": "int64",
            "example": 404,
            "minimum": 404,
            "maximum": 404
          }
        },
        "required": [
          "message",
          "error",
          "statusCode"
        ]
      },
      "InternalServerErrorResponseDto": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Detailed error message",
            "example": "An internal server error occurred"
          },
          "error": {
            "type": "string",
            "description": "Error type",
            "example": "Internal Server Error"
          },
          "statusCode": {
            "type": "integer",
            "description": "HTTP status code 500 - InternalServerError",
            "format": "int64",
            "example": 500,
            "minimum": 500,
            "maximum": 500
          }
        },
        "required": [
          "message",
          "error",
          "statusCode"
        ]
      },
      "CreateConnectionDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the connection",
            "example": "testingnetcool"
          },
          "displayName": {
            "type": "string",
            "description": "Display name of the connection",
            "example": "testingnetcool"
          },
          "deploymentType": {
            "type": "string",
            "description": "DeploymentType for the connection",
            "example": "local"
          },
          "connectorState": {
            "type": "string",
            "description": "Connector state (enabled/disabled)",
            "example": "disabled"
          },
          "connectionConfig": {
            "type": "object",
            "description": "ConnectionConfig json containing connection-specific configuration",
            "example": {
              "backup_objectserver": {
                "api_port": 4200
              },
              "collectAlerts": true,
              "filter": "Severity >= 3",
              "mapping": "(\n  $isIPAddr := function($i){ $contains($i,/^[0-9]+.[0-9]+.[0-9]+.[0-9]+$/)};...",
              "password": "testing",
              "primary_objectserver": {
                "api_port": 5432,
                "url": "example.com"
              },
              "tls": false,
              "username": "root2"
            }
          }
        },
        "required": [
          "name",
          "deploymentType",
          "connectionConfig"
        ]
      },
      "ConnectionCreationSuccessResponseDto": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Detailed message",
            "example": "Connection created successfully"
          },
          "statusCode": {
            "type": "integer",
            "description": "HTTP status code 201 - Created",
            "example": 201,
            "format": "int64",
            "minimum": 201,
            "maximum": 201
          }
        },
        "required": [
          "message",
          "statusCode"
        ]
      },
      "UnauthorizedResponseDto": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Detailed error message",
            "example": "Unauthorized access"
          },
          "error": {
            "type": "string",
            "description": "Error type",
            "example": "Unauthorized"
          },
          "statusCode": {
            "type": "integer",
            "description": "HTTP status code 401 - Unauthorized",
            "format": "int64",
            "example": 401,
            "minimum": 401,
            "maximum": 401
          }
        },
        "required": [
          "message",
          "error",
          "statusCode"
        ]
      },
      "ConflictErrorResponseDto": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Detailed error message",
            "example": "Connection with the same name already exists"
          },
          "error": {
            "type": "string",
            "description": "Error type",
            "example": "Conflict"
          },
          "statusCode": {
            "type": "integer",
            "description": "HTTP status code 409 - Conflict",
            "format": "int64",
            "example": 409,
            "minimum": 409,
            "maximum": 409
          }
        },
        "required": [
          "message",
          "error",
          "statusCode"
        ]
      },
      "ConnectionSuccessResponseDto": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Detailed message",
            "example": "Connection for the given type is retrieved successfully."
          },
          "statusCode": {
            "type": "integer",
            "description": "HTTP status code 200 - OK",
            "example": 200,
            "format": "int64",
            "minimum": 200,
            "maximum": 200
          }
        },
        "required": [
          "message",
          "statusCode"
        ]
      },
      "ConnectionDeleteResponseDto": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Detailed message",
            "example": "The connection is being terminated. The deletion process has been accepted and is in progress."
          },
          "statusCode": {
            "type": "integer",
            "description": "HTTP status code 202 - Accepted",
            "example": 202,
            "format": "int64",
            "minimum": 202,
            "maximum": 202
          }
        },
        "required": [
          "message",
          "statusCode"
        ]
      },
      "UpdateConnectionDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the connection",
            "example": "testingnetcool"
          },
          "displayName": {
            "type": "string",
            "description": "Display name of the connection",
            "example": "testingnetcool"
          },
          "deploymentType": {
            "type": "string",
            "description": "DeploymentType for the connection",
            "example": "local"
          },
          "connectorState": {
            "type": "string",
            "description": "Connector state (enabled/disabled)",
            "example": "disabled"
          },
          "connectionConfig": {
            "type": "object",
            "description": "ConnectionConfig json containing connection-specific configuration",
            "example": {
              "backup_objectserver": {
                "api_port": 4200
              },
              "collectAlerts": true,
              "filter": "Severity >= 3",
              "mapping": "(\n  $isIPAddr := function($i){ $contains($i,/^[0-9]+.[0-9]+.[0-9]+.[0-9]+$/)};...",
              "password": "testing",
              "primary_objectserver": {
                "api_port": 5432,
                "url": "example.com"
              },
              "tls": false,
              "username": "root2"
            }
          },
          "connectionType": {
            "type": "string",
            "description": "Type of the connection"
          }
        },
        "required": [
          "name",
          "deploymentType",
          "connectionConfig",
          "connectionType"
        ]
      },
      "Preference": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "A key under which the value of the preference is stored",
            "example": "alerts-page-preference-object"
          }
        }
      },
      "UpdatePreferenceValueDto": {
        "type": "object",
        "properties": {
          "value": {
            "type": "object",
            "description": "The preference value object containing key-value pairs for the preference settings",
            "additionalProperties": true,
            "example": {
              "useRowColoring": true,
              "fontSize": 16
            }
          }
        },
        "required": [
          "value"
        ]
      },
      "PrecheckVersionPerRunDto": {
        "type": "object",
        "properties": {
          "prRun": {
            "type": "string",
            "description": "Precheck Version per precheck run"
          },
          "prVersion": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "prRun",
          "prVersion"
        ]
      },
      "ModelVersionPerRunDto": {
        "type": "object",
        "properties": {
          "trRun": {
            "type": "string",
            "description": "Training Model Version per training run"
          },
          "trModelVersion": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "trRun",
          "trModelVersion"
        ]
      },
      "PrVersionPerTrainingRunDto": {
        "type": "object",
        "properties": {
          "trRun": {
            "type": "string",
            "description": "Precheck Version per training run"
          },
          "prVersion": {
            "type": "string"
          },
          "prRunVersion": {
            "type": "string"
          }
        },
        "required": [
          "trRun",
          "prVersion",
          "prRunVersion"
        ]
      },
      "TrainingScheduleDto": {
        "type": "object",
        "properties": {
          "frequency": {
            "enum": [
              "manual",
              "scheduled"
            ],
            "type": "string",
            "description": "How often should this training be repeated. Not applicable if 'repeat' is 'once'."
          },
          "repeat": {
            "enum": [
              "daily",
              "weekly",
              "biweekly",
              "monthly"
            ],
            "type": "string",
            "description": "Whether or not this training should be repeated."
          },
          "atTimeHour": {
            "type": "number",
            "description": "What hour of the day training should happen"
          },
          "atTimeMinute": {
            "type": "number",
            "description": "What minute of the hour training should happen"
          },
          "timeRangeValidStart": {
            "type": "string",
            "description": "The starting range of when the training should start."
          },
          "timeRangeValidEnd": {
            "type": "string",
            "description": "The ending range of when the training should start."
          },
          "noEndDate": {
            "type": "boolean",
            "description": "Should training repeat forever?"
          },
          "nextScheduledRun": {
            "type": "string",
            "description": "The next time training is scheduled for. Only applicable if 'TrainingFrequency' is 'scheduled'."
          }
        }
      },
      "DataSetDto": {
        "type": "object",
        "properties": {
          "dataSetId": {
            "type": "string"
          },
          "startTimestamp": {
            "type": "string",
            "description": "Start timestamp of data to use"
          },
          "endTimestamp": {
            "type": "string",
            "description": "End timestamp of data to use"
          },
          "rollingDaysBack": {
            "type": "number",
            "description": "Option to train on the last x days of data"
          },
          "rollingWeeksBack": {
            "type": "number",
            "description": "Option to train on the last x weeks of data"
          },
          "connections": {
            "type": "string",
            "description": "A comma separated string of connections. Specific to Change Risk"
          },
          "exclusionStartTimestamps": {
            "description": "Exclude these time ranges from training. Specific to Log Anomaly",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "exclusionEndTimestamps": {
            "description": "Exclude these time ranges from training. Specific to Log Anomaly",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "notes": {
            "type": "string",
            "description": "Custom note/comment about this data set"
          },
          "automaticDataSelection": {
            "type": "boolean",
            "description": "Sets whether the automatic data selection feature is enabled"
          }
        }
      },
      "PrecheckRunDto": {
        "type": "object",
        "properties": {
          "definitionName": {
            "type": "string"
          },
          "algorithmName": {
            "type": "string"
          },
          "runtimeName": {
            "type": "string"
          },
          "precheckRunVersion": {
            "type": "string"
          },
          "precheckId": {
            "type": "string"
          },
          "startTimestamp": {
            "type": "string",
            "description": "Start timestamp for precheck"
          },
          "endTimestamp": {
            "type": "string",
            "description": "End timestamp for precheck"
          }
        }
      },
      "AppStatusDto": {
        "type": "object",
        "properties": {
          "app": {
            "type": "string",
            "description": "App Status for Data Quality"
          },
          "status": {
            "enum": [
              "COMPLETED",
              "FAILED",
              "QUEUED",
              "RETRIEVING_DATA",
              "PREPARING_DATA",
              "CHECKING_DATA_QUALITY",
              "TRAINING",
              "EVALUATING_MODELS",
              "SAVING_MODELS"
            ],
            "type": "string"
          }
        },
        "required": [
          "app"
        ]
      },
      "PrecheckStatusDto": {
        "type": "object",
        "properties": {
          "definitionName": {
            "type": "string"
          },
          "precheckRunVersion": {
            "type": "string"
          },
          "precheckVersion": {
            "type": "string"
          },
          "currentStatus": {
            "type": "string"
          },
          "appStatuses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppStatusDto"
            }
          },
          "workDone": {
            "type": "number"
          },
          "workTotal": {
            "type": "number"
          },
          "failureCause": {
            "type": "string"
          },
          "failureNextSteps": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "precheckEndTimestamp": {
            "type": "string"
          }
        }
      },
      "PostcheckTrainingDetailsDto": {
        "type": "object",
        "properties": {
          "postcheckStartTimestamp": {
            "type": "string"
          },
          "postcheckEndTimestamp": {
            "type": "string"
          },
          "overallModelQuality": {
            "type": "string",
            "description": "Quality of the model, EXCELLENT/GOOD/SATISFACTORY"
          },
          "aiCoverage": {
            "type": "number",
            "description": "Percentage of AI coverage"
          }
        }
      },
      "TrainedModelDto": {
        "type": "object",
        "properties": {
          "trainingRunVersion": {
            "type": "string",
            "description": "The training run version"
          },
          "version": {
            "type": "string",
            "description": "The model version"
          },
          "modelStatus": {
            "type": "string",
            "description": "The status of training this model"
          },
          "latestPrecheckVersion": {
            "type": "string",
            "description": "The latest precheck run version"
          },
          "trainingStartTimestamp": {
            "type": "string",
            "description": "The time this training ended. It's the same as precheckStartTimestamp"
          },
          "trainingEndTimestamp": {
            "type": "string",
            "description": "The time this training ended. It's the same as postcheckEndTimestamp"
          },
          "postcheckTrainingDetails": {
            "description": "Details about this training after the last run",
            "allOf": [
              {
                "$ref": "#/components/schemas/PostcheckTrainingDetailsDto"
              }
            ]
          }
        }
      },
      "TrainingStatusDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "statusMessage": {
            "type": "string"
          },
          "startTime": {
            "type": "string"
          },
          "endTime": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "workDone": {
            "type": "number"
          },
          "workTotal": {
            "type": "number"
          },
          "statusCode": {
            "type": "number"
          },
          "failureCause": {
            "type": "string"
          },
          "failureNextSteps": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "automaticDataSelection": {
            "type": "boolean"
          }
        }
      },
      "TrainingDefinitionDto": {
        "type": "object",
        "properties": {
          "definitionName": {
            "type": "string",
            "description": "This is a unique name used to identify this training definition"
          },
          "algorithmName": {
            "type": "string",
            "description": "The name of the ai algorithm being run"
          },
          "precheckRunVersion": {
            "type": "string",
            "description": "The precheck run version"
          },
          "prVersionPerPrRun": {
            "description": "The precheck version for a precheck run version",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrecheckVersionPerRunDto"
            }
          },
          "precheckVersion": {
            "type": "string",
            "description": "The precheck version"
          },
          "trainingRunVersion": {
            "type": "string",
            "description": "The training run version"
          },
          "trainModelPerTrainRun": {
            "description": "The model version for a training run version",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ModelVersionPerRunDto"
            }
          },
          "prVersionPerTrainRun": {
            "description": "The precheck version for a training run version",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrVersionPerTrainingRunDto"
            }
          },
          "version": {
            "type": "string",
            "description": "The model version. The first version is 'v1' and incremented from there."
          },
          "deployedVersion": {
            "type": "string",
            "description": "The latest version of the training model that was deployed. It is null if no model has ever been deployed."
          },
          "modelDeploymentDate": {
            "type": "string",
            "description": "When the model was deployed"
          },
          "dateCreated": {
            "type": "string",
            "description": "When the definition was created:"
          },
          "createdBy": {
            "type": "string",
            "description": "Optional. Who created this training definition?"
          },
          "trainingSchedule": {
            "description": "When do we want this training to run?",
            "allOf": [
              {
                "$ref": "#/components/schemas/TrainingScheduleDto"
              }
            ]
          },
          "promoteOption": {
            "enum": [
              "manual",
              "whenTrainingComplete",
              "lowRisk"
            ],
            "type": "string",
            "description": "Should the model be automatically or manually promoted after training"
          },
          "dataSets": {
            "description": "All associated data sets",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DataSetDto"
            }
          },
          "precheckRuns": {
            "description": "Details about precheck run under this training definition",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrecheckRunDto"
            }
          },
          "precheckStatus": {
            "description": "Details about precheck status under this training definition",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrecheckStatusDto"
            }
          },
          "trainedModels": {
            "description": "Details about models trained under this training definition",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TrainedModelDto"
            }
          },
          "lastTraining": {
            "type": "string",
            "description": "The last time this training definition was run"
          },
          "trainingStatuses": {
            "description": "List of the latest trainings",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TrainingStatusDto"
            }
          },
          "description": {
            "type": "string",
            "description": "Description of the training definition"
          },
          "usedStatus": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "COMPLETED",
                "FAILED",
                "QUEUED",
                "RETRIEVING_DATA",
                "PREPARING_DATA",
                "CHECKING_DATA_QUALITY",
                "TRAINING",
                "EVALUATING_MODELS",
                "SAVING_MODELS"
              ]
            },
            "description": "List of the possible statuses this definition may encounter"
          },
          "precheckAutoRun": {
            "type": "boolean"
          },
          "enableSelectiveTraining": {
            "type": "boolean"
          },
          "enableLADGoldenSignal": {
            "type": "boolean"
          },
          "integrationGenAI": {
            "type": "string"
          },
          "enableGenAI": {
            "type": "boolean"
          }
        }
      },
      "TrainingScheduleInputDto": {
        "type": "object",
        "properties": {
          "frequency": {
            "enum": [
              "manual",
              "scheduled"
            ],
            "type": "string",
            "example": "scheduled"
          },
          "repeat": {
            "enum": [
              "daily",
              "weekly",
              "biweekly",
              "monthly"
            ],
            "type": "string",
            "example": "daily"
          },
          "atTimeHour": {
            "type": "number",
            "minimum": 0,
            "maximum": 23,
            "description": "What hour of the day training should happen"
          },
          "atTimeMinute": {
            "type": "number",
            "minimum": 0,
            "maximum": 59,
            "description": "What minute of the hour training should happen"
          },
          "timeRangeValidStart": {
            "type": "string",
            "description": "The starting range of when the training should start.",
            "example": "2026-03-01T00:00:00Z"
          },
          "timeRangeValidEnd": {
            "type": "string",
            "description": "The ending range of when the training should start.",
            "example": "2026-12-31T23:59:59Z"
          },
          "noEndDate": {
            "type": "boolean",
            "description": "Should training repeat forever?"
          }
        }
      },
      "CreateTrainingDefinitionDto": {
        "type": "object",
        "properties": {
          "definitionName": {
            "type": "string",
            "description": "This is a unique name used to identify this training definition",
            "example": "my-log-anomaly-training"
          },
          "algorithmName": {
            "type": "string",
            "description": "The name of the ai algorithm being run",
            "example": "log-anomaly-detection"
          },
          "createdBy": {
            "type": "string",
            "description": "Optional. Who created this training definition?",
            "example": "user@example.com"
          },
          "trainingSchedule": {
            "description": "When do we want this training to run?",
            "allOf": [
              {
                "$ref": "#/components/schemas/TrainingScheduleInputDto"
              }
            ]
          },
          "promoteOption": {
            "enum": [
              "manual",
              "whenTrainingComplete",
              "lowRisk"
            ],
            "type": "string",
            "description": "Should the model be automatically or manually promoted after training",
            "example": "manual"
          },
          "dataSetIds": {
            "description": "Array of dataset IDs to use for training",
            "example": [
              "dataset-123",
              "dataset-456"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "description": {
            "type": "string",
            "description": "Description of the training definition",
            "example": "Daily automated training for log anomaly detection"
          },
          "enableSelectiveTraining": {
            "type": "boolean"
          },
          "enableLADGoldenSignal": {
            "type": "boolean"
          },
          "integrationGenAI": {
            "type": "string",
            "example": "watsonx-assistant"
          },
          "enableGenAI": {
            "type": "boolean"
          },
          "filterId": {
            "type": "string",
            "example": "filter-789"
          }
        },
        "required": [
          "definitionName",
          "algorithmName",
          "trainingSchedule",
          "promoteOption"
        ]
      },
      "UpdateTrainingDefinitionDto": {
        "type": "object",
        "properties": {
          "trainingSchedule": {
            "description": "When do we want this training to run?",
            "allOf": [
              {
                "$ref": "#/components/schemas/TrainingScheduleInputDto"
              }
            ]
          },
          "promoteOption": {
            "enum": [
              "manual",
              "whenTrainingComplete",
              "lowRisk"
            ],
            "type": "string",
            "description": "Should the model be automatically or manually promoted after training",
            "example": "manual"
          },
          "dataSetIds": {
            "description": "Array of dataset IDs to use for training",
            "example": [
              "dataset-123",
              "dataset-456"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "description": {
            "type": "string",
            "description": "Description of the training definition",
            "example": "Daily automated training for log anomaly detection"
          },
          "enableSelectiveTraining": {
            "type": "boolean"
          },
          "enableLADGoldenSignal": {
            "type": "boolean"
          },
          "integrationGenAI": {
            "type": "string",
            "example": "watsonx-assistant"
          },
          "enableGenAI": {
            "type": "boolean"
          },
          "filterId": {
            "type": "string",
            "example": "filter-789"
          }
        }
      },
      "TopologyConfigRuleDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the rule",
            "example": "sevoneHostTokens"
          },
          "keyIndexName": {
            "type": "string",
            "description": "Key index name",
            "example": "sevoneHostTokens"
          },
          "ruleType": {
            "type": "string",
            "description": "Type of rule",
            "example": "matchTokensRule"
          },
          "entityTypes": {
            "description": "Entity types this rule applies to",
            "example": [
              "server"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "tokens": {
            "description": "Tokens used in the rule",
            "example": [
              "ipAddress",
              "name",
              "sysName"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ruleStatus": {
            "type": "string",
            "description": "Status of the rule",
            "example": "enabled"
          },
          "observers": {
            "description": "Observers this rule applies to",
            "example": [
              "sevone-observer"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "providers": {
            "description": "Providers this rule applies to",
            "example": [
              "*"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "databaseSource": {
            "type": "string",
            "description": "Database source",
            "example": "rules"
          }
        },
        "required": [
          "name",
          "keyIndexName",
          "ruleType",
          "tokens",
          "ruleStatus",
          "observers",
          "providers",
          "databaseSource"
        ]
      },
      "TopologyRestoreRequestDto": {
        "type": "object",
        "properties": {
          "rules": {
            "description": "Array of topology configuration rules to restore",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TopologyConfigRuleDto"
            }
          }
        },
        "required": [
          "rules"
        ]
      },
      "TopologyRestoreSuccessDto": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Configuration restored successfully"
          },
          "statusCode": {
            "type": "integer",
            "description": "HTTP status code 200 - OK",
            "example": 200,
            "format": "int64",
            "minimum": 200,
            "maximum": 200
          }
        },
        "required": [
          "message",
          "statusCode"
        ]
      },
      "Trigger": {
        "type": "object",
        "properties": {
          "arguments": {
            "type": "object",
            "additionalProperties": {}
          },
          "entityId": {
            "type": "string",
            "description": "The id of the entity that this policy will be triggered on",
            "example": "event"
          },
          "triggerId": {
            "type": "string",
            "description": "The id of the trigger that, when fired, will cause this policy to be evaluated",
            "example": "pre-insert"
          }
        },
        "required": [
          "entityId",
          "triggerId"
        ]
      },
      "Action": {
        "type": "object",
        "properties": {
          "arguments": {
            "type": "object",
            "additionalProperties": {}
          },
          "actionId": {
            "type": "string",
            "description": "The ID of the action that should be executed",
            "example": "null"
          },
          "output": {
            "type": "string",
            "description": "The name of the variable that any output should be stored within. May also be expressed as an argument binding, allowing for a dynamic variable name.",
            "example": "null"
          }
        }
      },
      "PolicySpec": {
        "type": "object",
        "properties": {
          "constants": {
            "type": "object",
            "additionalProperties": {}
          },
          "trigger": {
            "$ref": "#/components/schemas/Trigger"
          },
          "triggers": {
            "description": "The set of triggers for a policy ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Trigger"
            }
          },
          "actions": {
            "description": "Defines a rule that specifies a set of actions to take when a trigger fires ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Action"
            }
          }
        }
      },
      "PolicyMetadataCreatedBy": {
        "type": "object",
        "properties": {
          "type": {
            "description": "The type of entity that created this policy",
            "enum": [
              "user",
              "system"
            ],
            "type": "string"
          },
          "id": {
            "type": "string",
            "description": "The unique id of the entity that created the policy. For a user this will be their user ID.",
            "example": "com.ibm.hdm.temporal-correlation@1.0.0"
          }
        }
      },
      "PolicyMetadataLastUpdatedBy": {
        "type": "object",
        "properties": {
          "type": {
            "description": "The type of entity that created this policy",
            "enum": [
              "user",
              "system"
            ],
            "type": "string"
          },
          "id": {
            "type": "string",
            "description": "The unique id of the entity that last updated the policy. For a user this will be their user ID.",
            "example": "annette@example.com"
          },
          "changeDetails": {
            "type": "string",
            "description": "The purpose/description of the update request",
            "example": "null"
          }
        }
      },
      "PolicyMetadata": {
        "type": "object",
        "properties": {
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "createdBy": {
            "$ref": "#/components/schemas/PolicyMetadataCreatedBy"
          },
          "lastUpdatedBy": {
            "$ref": "#/components/schemas/PolicyMetadataLastUpdatedBy"
          },
          "name": {
            "type": "string",
            "description": "A human-readable name for this policy. Note that this may be updated and may not be unique (unlike the policy ID).",
            "example": "null"
          },
          "description": {
            "type": "string",
            "description": "Describes the purpose of the policy",
            "example": "null"
          },
          "creationTimestamp": {
            "type": "string",
            "description": "The time this policy was first created",
            "example": "null"
          },
          "lastUpdatedTimestamp": {
            "type": "string",
            "description": "The time this policy was last updated",
            "example": "null"
          }
        }
      },
      "PolicyStatusStatistics": {
        "type": "object",
        "properties": {
          "executionCount": {
            "type": "number",
            "description": "The number of times this policy has executed"
          },
          "firstExecuted": {
            "type": "string",
            "description": "The time this policy was first executed",
            "example": "null"
          },
          "lastExecuted": {
            "type": "string",
            "description": "The time this policy was last executed",
            "example": "null"
          }
        }
      },
      "PolicyStatus": {
        "type": "object",
        "properties": {
          "statistics": {
            "$ref": "#/components/schemas/PolicyStatusStatistics"
          }
        }
      },
      "Policy": {
        "type": "object",
        "properties": {
          "state": {
            "description": "The state of the policy, this is used to determine if the policy should be executed. COMMENT: Open question - can archived policies be recovered, or           do they have some level of eventual garbage collection            - What more fields do we need for TTL etc? ",
            "enum": [
              "draft",
              "enabled",
              "disabled",
              "archived"
            ],
            "type": "string"
          },
          "spec": {
            "$ref": "#/components/schemas/PolicySpec"
          },
          "metadata": {
            "$ref": "#/components/schemas/PolicyMetadata"
          },
          "status": {
            "$ref": "#/components/schemas/PolicyStatus"
          },
          "id": {
            "type": "string",
            "description": "A unique, immutable id for the policy. This will likely be a system-generated UUID or similar.",
            "example": "1a2a6787-59ad-4acd-bd0d-46c1ddfd8e06"
          },
          "revision": {
            "type": "string",
            "description": "An identifier which distinguishes this version of the policy. Changing the content of the policy will create a new policy revision. In future this can be used to support versioning / rollback.",
            "example": "null"
          },
          "hash": {
            "type": "string",
            "description": "A hash of the policy spec which uniquely identifies the trigger/condition set. This is used to identify identical policies. COMMENT: Tied somewhat to requirements for policy reconcilliation Assumption of this specific field is it is owned and calculated by the policy system. If analytics have a hash too that is owned by the analytics - that would be stored in a label. Primary purpose of this is to find duplicate / unique policies.",
            "example": "null"
          },
          "executionPriority": {
            "type": "number",
            "description": "The execution priority for this policy. Policies with a higher priority will be executed first. Policies with the same priority will be executed in an indeterminate order. COMMENT: What should the max priority be? COMMENT: Probably needs to be indexed for UI"
          }
        }
      },
      "GetPoliciesQueryPolicyFilterDto": {
        "type": "object",
        "properties": {
          "entityId": {
            "type": "string",
            "description": "Filter by entity type",
            "example": "alert"
          },
          "policyName": {
            "type": "string",
            "description": "Prefix search on policy name",
            "example": "Example Policy Name"
          },
          "labels": {
            "description": "Array of label match criteria",
            "example": [
              {
                "match": {
                  "metadata.labels.ibm.com/is-default": "false"
                }
              }
            ],
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "lastUpdatedBy": {
            "type": "string",
            "description": "Filter by last updater ID",
            "example": "temporal-patterns-correlation"
          },
          "condition": {
            "type": "string",
            "description": "Prefix search on conditions",
            "example": "ASM Resource Deletion"
          },
          "type": {
            "type": "string",
            "description": "Creator type",
            "example": "system"
          },
          "paginationFrom": {
            "type": "number",
            "description": "Pagination offset",
            "example": 0
          },
          "paginationResponseSize": {
            "type": "number",
            "description": "Number of results to return",
            "example": 1000
          },
          "policyId": {
            "type": "string",
            "description": "Comma-separated policy IDs",
            "example": "1a2a6787-59ad-4acd-bd0d-46c1ddfd8e06,7da7d565-6546-11ec-8507-455c0654654v8"
          },
          "description": {
            "type": "string",
            "description": "Match phrase in description",
            "example": "This is a user defined policy"
          },
          "startTime": {
            "type": "string",
            "description": "Beginning UTC timestamp in ISO format",
            "example": "2021-12-07T19:58:18.033Z"
          },
          "endTime": {
            "type": "string",
            "description": "End UTC timestamp in ISO format",
            "example": "2021-12-07T20:58:18.033Z"
          },
          "startRunTime": {
            "type": "string",
            "description": "Beginning UTC timestamp in ISO format for last run",
            "example": "2021-12-07T19:58:18.033Z"
          },
          "endRunTime": {
            "type": "string",
            "description": "End UTC timestamp in ISO format for last run",
            "example": "2021-12-07T20:58:18.033Z"
          },
          "minExecPriority": {
            "type": "number",
            "description": "Lower inclusive limit for the range of execution priorities being searched",
            "example": 0
          },
          "maxExecPriority": {
            "type": "number",
            "description": "Upper inclusive limit for the range of execution priorities being searched",
            "example": 50
          },
          "searchAfter": {
            "type": "array",
            "description": "An array contains policy info based on sort parameters to find policies after this policy",
            "example": [
              120,
              "f242d2d0-8b7a-11ed-adae-e52275e3e472"
            ],
            "items": {
              "oneOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          "searchBehavior": {
            "enum": [
              "and",
              "or"
            ],
            "type": "string",
            "description": "Toggle and/or condition search",
            "example": "and"
          }
        }
      },
      "PolicyStatusResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "60e7e0a0-2f0f-11f1-b203-2fc22466362e",
            "description": "The policy ID"
          },
          "executions": {
            "type": "number",
            "example": 4,
            "description": "The number of times this policy has executed"
          },
          "failures": {
            "type": "number",
            "example": 0,
            "description": "The number of times this policy has failed"
          },
          "lastRun": {
            "type": "number",
            "example": 1775205163844,
            "description": "The timestamp (in milliseconds) when this policy was last run"
          },
          "lastRaise": {
            "type": "number",
            "example": 1775205163844,
            "description": "The timestamp (in milliseconds) when this policy last raised an alert/action"
          },
          "raises": {
            "type": "number",
            "example": 4,
            "description": "The number of times this policy has raised an alert/action"
          },
          "lastFailure": {
            "type": "number",
            "example": 0,
            "description": "The timestamp (in milliseconds) when this policy last failed"
          },
          "executionState": {
            "type": "number",
            "example": 1,
            "description": "The current execution state of the policy (0=idle, 1=running, etc.)"
          }
        },
        "required": [
          "id",
          "executions",
          "failures",
          "lastRun",
          "lastRaise",
          "raises",
          "lastFailure",
          "executionState"
        ]
      },
      "PolicyTimelineEntryResponse": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "example": "2026-04-03T03:44:12.342Z",
            "description": "The timestamp when this timeline entry was created (UTC time)"
          },
          "type": {
            "type": "string",
            "example": "update",
            "description": "The type of timeline entry"
          },
          "comment": {
            "type": "string",
            "example": "Created",
            "description": "Comment describing the change"
          },
          "commentby": {
            "type": "string",
            "example": "system",
            "description": "User or system that made the change"
          }
        },
        "required": [
          "timestamp",
          "type",
          "comment",
          "commentby"
        ]
      },
      "CreatePolicyDto": {
        "type": "object",
        "properties": {
          "state": {
            "description": "The state of the policy, this is used to determine if the policy should be executed. COMMENT: Open question - can archived policies be recovered, or           do they have some level of eventual garbage collection            - What more fields do we need for TTL etc? ",
            "enum": [
              "draft",
              "enabled",
              "disabled",
              "archived"
            ],
            "type": "string"
          },
          "spec": {
            "$ref": "#/components/schemas/PolicySpec"
          },
          "metadata": {
            "$ref": "#/components/schemas/PolicyMetadata"
          },
          "status": {
            "$ref": "#/components/schemas/PolicyStatus"
          },
          "id": {
            "type": "string",
            "description": "A unique, immutable id for the policy. This will likely be a system-generated UUID or similar.",
            "example": "1a2a6787-59ad-4acd-bd0d-46c1ddfd8e06"
          },
          "revision": {
            "type": "string",
            "description": "An identifier which distinguishes this version of the policy. Changing the content of the policy will create a new policy revision. In future this can be used to support versioning / rollback.",
            "example": "null"
          },
          "hash": {
            "type": "string",
            "description": "A hash of the policy spec which uniquely identifies the trigger/condition set. This is used to identify identical policies. COMMENT: Tied somewhat to requirements for policy reconcilliation Assumption of this specific field is it is owned and calculated by the policy system. If analytics have a hash too that is owned by the analytics - that would be stored in a label. Primary purpose of this is to find duplicate / unique policies.",
            "example": "null"
          },
          "executionPriority": {
            "type": "number",
            "description": "The execution priority for this policy. Policies with a higher priority will be executed first. Policies with the same priority will be executed in an indeterminate order. COMMENT: What should the max priority be? COMMENT: Probably needs to be indexed for UI"
          }
        }
      }
    }
  }
}