{
    "openapi": "3.0.1",
    "info": {
        "title": "ilert REST API",
        "description": "# Introduction\nThe ilert API is a [RESTful](https://en.wikipedia.org/wiki/Representational_state_transfer) API and provides programmatic access to entities in ilert and lets you easily integrate ilert with 3rd party tools. If you are looking to develop an inbound integration (e.g. for a monitoring tool), please use our [Events API](#tag/events). \n\nThe API supports the JSON content type for requests and responses. The response content type is requested via the HTTP Accept header (`application/json`). All resources are accessible via https and are located at `api.ilert.com/api`. \n\n You may download ilert's latest [OpenAPI.json {...} here](https://api.ilert.com/api-docs/openapi.json).\n\n If you are looking for a classic Swagger-UI view you may also open [this link](https://api.ilert.com/api-docs/swagger-ui). \n\n ## Authentication\nThe REST API accepts bearer API tokens. Each user may create API keys using the ilert web application. Note: Make sure to send the `Bearer ` prefix e.g. `Bearer APIKEY` when sending api key requests. By default, access to all resources (using any method) requires the client to be authenticated.\n\n ## Team Context\n When using API tokens, the currently selected team context of the user will not be taken into account, i.e. list results will always return all entities to which the user has a view permission. When using basic auth credentials the currently selected team context of the user will be used to filter resource results. The context may be overwritten for API key calls using the `team-context` HTTP header. Specifying `0` for ALL teams, `-1` for MY teams or a specific team id e.g. `team-context=901` to fetch results for a certain team.  \n\n ## Errors\nilert uses HTTP response codes to indicate success or failure of an API request. Codes in the 2xx range indicate success, codes in the 4xx range indicate a client error (e.g. a missing required parameter) and codes in the 5xx range indicate an error with ilert's servers. In case of an error, the response body contains the following information:\n\n Attribute     | Description \n ------------- | ------------- \n status  | the corresponsing HTTP status code  \n message  | a human readable description of the error \n code  | error code, used to identify error type  \n\n ## API Versioning\nChanges to our API are always backwards-compatible. To get more information about our API versioning and historical changes, please <a href='https://docs.ilert.com/rest-api/api-version-history' target='_blank'>take a look here</a>.",
        "version": "v2.2026.5-r.3",
        "x-logo": {
            "url": "./ilert-logo-spaced.png",
            "backgroundColor": "#fafafa",
            "altText": "ilert documentation logo"
        }
    },
    "servers": [
        {
            "url": "/api"
        }
    ],
    "security": [
        {
            "apiKey": []
        }
    ],
    "tags": [
        {
            "name": "Numbers"
        },
        {
            "name": "Integrations"
        },
        {
            "name": "Events"
        },
        {
            "name": "Series"
        },
        {
            "name": "Deployment Events"
        },
        {
            "name": "Users"
        },
        {
            "name": "Contacts"
        },
        {
            "name": "Notification Preferences"
        },
        {
            "name": "Escalation Policies"
        },
        {
            "name": "Schedules"
        },
        {
            "name": "Alert Sources"
        },
        {
            "name": "Heartbeat Monitors"
        },
        {
            "name": "Alerts"
        },
        {
            "name": "Alert Actions"
        },
        {
            "name": "Support Hours"
        },
        {
            "name": "Log-Entries"
        },
        {
            "name": "Notifications"
        },
        {
            "name": "Connectors"
        },
        {
            "name": "Teams"
        },
        {
            "name": "On-Calls"
        },
        {
            "name": "Maintenance Windows"
        },
        {
            "name": "Incident Templates"
        },
        {
            "name": "Services"
        },
        {
            "name": "Service Outages"
        },
        {
            "name": "Incidents"
        },
        {
            "name": "Metrics"
        },
        {
            "name": "Metric Data Sources"
        },
        {
            "name": "Status Pages"
        },
        {
            "name": "Deployment Pipelines"
        },
        {
            "name": "Event Flows"
        },
        {
            "name": "Call Flows"
        },
        {
            "name": "Call Flow Numbers"
        },
        {
            "name": "Reports"
        }
    ],
    "paths": {
        "/users/{user-id}": {
            "get": {
                "tags": [
                    "Users"
                ],
                "summary": "Get the specified user.",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the user object",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Users"
                ],
                "summary": "Update an existing user.",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "the user object",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/User"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "200": {
                        "description": "the updated user",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "user"
            },
            "delete": {
                "tags": [
                    "Users"
                ],
                "summary": "Delete the specified user.",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "if deletion was successful",
                        "content": {}
                    }
                }
            }
        },
        "/users/{user-id}/contacts/emails": {
            "get": {
                "tags": [
                    "Contacts"
                ],
                "summary": "Get a user's emails",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ContactEmail"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Contacts"
                ],
                "summary": "Create a new email",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ContactEmailPost"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ContactEmail"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "user email contact"
            }
        },
        "/users/{user-id}/contacts/emails/{id}": {
            "get": {
                "tags": [
                    "Contacts"
                ],
                "summary": "Get a specific email",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ContactEmail"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Contacts"
                ],
                "summary": "Update a user's email",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ContactEmailPost"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "200": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ContactEmail"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "user email contact"
            },
            "delete": {
                "tags": [
                    "Contacts"
                ],
                "summary": "Delete the user's specified email",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "if deletion was successful",
                        "content": {}
                    }
                }
            }
        },
        "/users/{user-id}/contacts/phone-numbers": {
            "get": {
                "tags": [
                    "Contacts"
                ],
                "summary": "Get a user's phone numbers",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ContactPhoneNumber"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Contacts"
                ],
                "summary": "Create a phone number",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ContactPhoneNumberPost"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ContactPhoneNumber"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "user phone number contact"
            }
        },
        "/users/{user-id}/contacts/phone-numbers/{id}": {
            "get": {
                "tags": [
                    "Contacts"
                ],
                "summary": "Get specific phone number",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ContactPhoneNumber"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Contacts"
                ],
                "summary": "Update a user's phone number",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ContactPhoneNumberPost"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "200": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ContactPhoneNumber"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "user phone number contact"
            },
            "delete": {
                "tags": [
                    "Contacts"
                ],
                "summary": "Delete the user's specified phone number",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "if deletion was successful",
                        "content": {}
                    }
                }
            }
        },
        "/users/{user-id}/notification-preferences/alerts": {
            "get": {
                "tags": [
                    "Notification Preferences"
                ],
                "summary": "Get alert notification preferences of a user",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/NotificationPreferencesAlert"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Notification Preferences"
                ],
                "summary": "Create an alert notification preference",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/NotificationPreferencesAlertPost"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/NotificationPreferencesAlert"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "alert notification preference"
            }
        },
        "/users/{user-id}/notification-preferences/alerts/{id}": {
            "get": {
                "tags": [
                    "Notification Preferences"
                ],
                "summary": "Get specific notification preferences alert",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/NotificationPreferencesAlert"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Notification Preferences"
                ],
                "summary": "Update a user's alert notification preference",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/NotificationPreferencesAlertPost"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "200": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/NotificationPreferencesAlert"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "alert notification preference"
            },
            "delete": {
                "tags": [
                    "Notification Preferences"
                ],
                "summary": "Delete the user's specified notification preferences alert",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "if deletion was successful",
                        "content": {}
                    }
                }
            }
        },
        "/users/{user-id}/notification-preferences/duties": {
            "get": {
                "tags": [
                    "Notification Preferences"
                ],
                "summary": "Get duty notification preferences of a user",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/NotificationPreferencesDuty"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Notification Preferences"
                ],
                "summary": "Create a duty notification preference",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/NotificationPreferencesDutyPost"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/NotificationPreferencesDuty"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "duty notification preference"
            }
        },
        "/users/{user-id}/notification-preferences/duties/{id}": {
            "get": {
                "tags": [
                    "Notification Preferences"
                ],
                "summary": "Get specific notification preferences duty",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/NotificationPreferencesDuty"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Notification Preferences"
                ],
                "summary": "Update a user's duty notification preference",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/NotificationPreferencesDutyPost"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "200": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/NotificationPreferencesDuty"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "duty notification preference"
            },
            "delete": {
                "tags": [
                    "Notification Preferences"
                ],
                "summary": "Delete the user's specified notification preferences duty",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "if deletion was successful",
                        "content": {}
                    }
                }
            }
        },
        "/users/{user-id}/notification-preferences/updates": {
            "get": {
                "tags": [
                    "Notification Preferences"
                ],
                "summary": "Get update notification preferences of a user",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/NotificationPreferencesUpdate"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Notification Preferences"
                ],
                "summary": "Create an update notification preference",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/NotificationPreferencesUpdatePost"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/NotificationPreferencesUpdate"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "update notification preference"
            }
        },
        "/users/{user-id}/notification-preferences/updates/{id}": {
            "get": {
                "tags": [
                    "Notification Preferences"
                ],
                "summary": "Get specific notification preferences update",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/NotificationPreferencesUpdate"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Notification Preferences"
                ],
                "summary": "Update a user's update notification preference",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/NotificationPreferencesUpdatePost"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "200": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/NotificationPreferencesUpdate"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "update notification preference"
            },
            "delete": {
                "tags": [
                    "Notification Preferences"
                ],
                "summary": "Delete the user's specified notification preferences update",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "if deletion was successful",
                        "content": {}
                    }
                }
            }
        },
        "/users/{user-id}/notification-preferences/subscriptions": {
            "get": {
                "tags": [
                    "Notification Preferences"
                ],
                "summary": "Get subscription notification preferences of a user",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/NotificationPreferencesSubscription"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Notification Preferences"
                ],
                "summary": "Create a subscription notification preference",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/NotificationPreferencesSubscriptionPost"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/NotificationPreferencesSubscription"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "subscription notification preference"
            }
        },
        "/users/{user-id}/notification-preferences/subscriptions/{id}": {
            "get": {
                "tags": [
                    "Notification Preferences"
                ],
                "summary": "Get specific notification preferences subscription",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/NotificationPreferencesSubscription"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Notification Preferences"
                ],
                "summary": "Update a user's subscription notification preference",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/NotificationPreferencesSubscriptionPost"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "200": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/NotificationPreferencesSubscription"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "subscription notification preference"
            },
            "delete": {
                "tags": [
                    "Notification Preferences"
                ],
                "summary": "Delete the user's specified notification preferences subscription",
                "parameters": [
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "if deletion was successful",
                        "content": {}
                    }
                }
            }
        },
        "/numbers": {
            "get": {
                "tags": [
                    "Numbers"
                ],
                "summary": "List available phone numbers that ilert uses to send voice and SMS notifications",
                "responses": {
                    "200": {
                        "description": "List of phone numbers",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/OutboundNumber"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": []
            }
        },
        "/integrations": {
            "get": {
                "tags": [
                    "Integrations"
                ],
                "summary": "List available inbound and outbound integrations. Note: this resource is paginated.",
                "parameters": [
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of entities.",
                        "schema": {
                            "maximum": 100,
                            "type": "integer",
                            "format": "int32",
                            "default": 50
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of integrations",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Integration"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": []
            }
        },
        "/users": {
            "get": {
                "tags": [
                    "Users"
                ],
                "summary": "List existing users.",
                "parameters": [
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of entities.",
                        "schema": {
                            "maximum": 100,
                            "type": "integer",
                            "format": "int32",
                            "default": 50
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of users",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/User"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Users"
                ],
                "summary": "Create a new user. Requires ADMIN privileges.",
                "parameters": [
                    {
                        "name": "send-no-invitation",
                        "in": "query",
                        "description": "Provide ?send-no-invitation=true if you do not wish to send an invitation email.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "description": "**Sample request**\n\n```json\nRequest URL: https://api.ilert.com/api/users\n\n{\n  \"firstName\": \"John\",\n  \"lastName\": \"Doe\",\n  \"email\": \"john@acme.com\",\n  \"position\": \"Software Engineer\",\n}\n```\n\n**Response**\n\n````json\n{\n  \"id\": 2188373,\n  \"firstName\": \"John\",\n  \"lastName\": \"Doe\",\n  \"email\": \"john@acme.com\",\n  \"position\": \"Software Engineer\",\n  \"timezone\": \"Europe/Berlin\",\n  \"language\": \"de\",\n  \"role\": \"RESPONDER\",\n }\n````\n",
                "requestBody": {
                    "description": "the user object",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UserPost"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "201": {
                        "description": "Created. The URI of the created user entity is included in the Location header and the user object is included in the body.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "user"
            }
        },
        "/users/search-email": {
            "post": {
                "tags": [
                    "Users"
                ],
                "summary": "Find a user by email address.",
                "description": "Search for a user by their email address within the scope of the current account. This endpoint uses POST instead of GET to prevent email addresses from being exposed in URLs, server access logs, and browser history.",
                "requestBody": {
                    "description": "the email to search for",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "email"
                                ],
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "description": "the email address of the user to find"
                                    }
                                }
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "the matching user object",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "no user found with the given email address"
                    }
                }
            }
        },
        "/users/current": {
            "get": {
                "tags": [
                    "Users"
                ],
                "summary": "Get the currently authenticated user.",
                "responses": {
                    "200": {
                        "description": "user object",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Users"
                ],
                "summary": "Update the current user.",
                "requestBody": {
                    "description": "user object",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UserPost"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "200": {
                        "description": "the updated user",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "user"
            }
        },
        "/alerts": {
            "get": {
                "tags": [
                    "Alerts"
                ],
                "summary": "List alerts (optionally matching certain criteria that are specified by query parameters).",
                "description": "**Sample URLs**\n* List only alerts that are either in state `PENDING` or `ACCEPTED`: <br /> https://api.ilert.com/api/alerts?states=PENDING&states=ACCEPTED\n* List only alerts that belong to the alert source with ID `1243` or `1743` and where user `jd` is a responder: <br />\n  https://api.ilert.com/api/alerts?sources=1243&sources=1743&responders=jd\n* Paginate first batch for a range of alerts (note: query parameters should be url encoded): <br />\n https://api.ilert.com/api/alerts?start-index=0&max-results=100&from=2021-03-01T21:24:56.771Z&until=2021-04-01T21:24:56.771Z\n* Fetch next page, assuming equal to max-results were returned: <br/>\n https://api.ilert.com/api/alerts?start-index=100&max-results=100&from=2021-03-01T21:24:56.771Z&until=2021-04-01T21:24:56.771Z\n* Pagination should be done based on the `reportTime` field using the parameters `from` and `until` as well as `start-index`. When building a local alert state store the `id` field should be used as identifier. The `alertKey` field is not suitable for this, as it is used to group related alerts to each other.",
                "parameters": [
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of entities.",
                        "schema": {
                            "maximum": 100,
                            "type": "integer",
                            "format": "int32",
                            "default": 50
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Describes optional properties that should be included in the response. You may declare multiple. (nextEscalationUser)",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "nextEscalationUser"
                                ]
                            }
                        }
                    },
                    {
                        "name": "states",
                        "in": "query",
                        "description": "state of the alert",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "PENDING",
                                    "ACCEPTED",
                                    "RESOLVED"
                                ]
                            }
                        }
                    },
                    {
                        "name": "sources",
                        "in": "query",
                        "description": "alert source IDs of the alert's alert source",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer",
                                "format": "int64"
                            }
                        }
                    },
                    {
                        "name": "policies",
                        "in": "query",
                        "description": "escalation policy IDs of the alert's escalation policy",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer",
                                "format": "int64"
                            }
                        }
                    },
                    {
                        "name": "responders",
                        "in": "query",
                        "description": "user ids of the user that is a responder of the alert",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "description": "from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z, based on reportTime",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "until",
                        "in": "query",
                        "description": "until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z, based on reportTime",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Alert"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Alerts"
                ],
                "summary": "Create alerts with customised parameters without requiring events from monitoring tools that use our Events API.",
                "description": "ATTENTION: do not use this endpoint to create monitoring related (or high volumes of) alerts, use '/api/events' instead, you have been warned! Escalation of the alert will be based on the alert source's escalation policy or may be overridden by providing a specific escalation policy or lastly specific set of responders (users), latter will only notify the user(s) and will not escalate any further.",
                "requestBody": {
                    "description": "the alert",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ManualAlert"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "the created and freshly escalated alert",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Alert"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "alert"
            }
        },
        "/alerts/count": {
            "get": {
                "tags": [
                    "Alerts"
                ],
                "summary": "Get the alert count matching the specified criteria.",
                "parameters": [
                    {
                        "name": "states",
                        "in": "query",
                        "description": "state of the alert",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "PENDING",
                                    "ACCEPTED",
                                    "RESOLVED"
                                ]
                            }
                        }
                    },
                    {
                        "name": "sources",
                        "in": "query",
                        "description": "alert source IDs of the alert's alert source",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer",
                                "format": "int64"
                            }
                        }
                    },
                    {
                        "name": "responders",
                        "in": "query",
                        "description": "user ids of the user that is a responder of the alert",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "description": "from date",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "until",
                        "in": "query",
                        "description": "until date",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the number of alerts matching the specified criteria",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CountResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/alerts/{id}": {
            "get": {
                "tags": [
                    "Alerts"
                ],
                "summary": "Get the alert with the specified id.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Describes optional properties that should be included in the response. You may declare multiple. (escalationRules, nextEscalationUser)",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "escalationRules",
                                    "nextEscalationUser"
                                ]
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "alert object",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Alert"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/alerts/{id}/suggested-responders": {
            "get": {
                "tags": [
                    "Alerts"
                ],
                "summary": "Get available (assignable) responders for the alert with the specified id.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "lang",
                        "in": "query",
                        "description": "locale for response text eg. 'en' or 'de'",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the list of alert responders",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/SuggestedResponder"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/alerts/{id}/responders": {
            "post": {
                "tags": [
                    "Alerts"
                ],
                "summary": "Add an additional responder to the alert.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "the created alert responder object",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AlertResponder"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Responder did not exist",
                        "content": {}
                    },
                    "405": {
                        "description": "Responder is already present on the alert",
                        "content": {}
                    }
                }
            }
        },
        "/alerts/{id}/responders/{user-id}": {
            "delete": {
                "tags": [
                    "Alerts"
                ],
                "summary": "Remove a responder from the alert.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "user-id",
                        "in": "path",
                        "description": "numeric user id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Responder has been removed",
                        "content": {}
                    },
                    "404": {
                        "description": "Responder did not exist",
                        "content": {}
                    }
                }
            }
        },
        "/alerts/{id}/assign": {
            "put": {
                "tags": [
                    "Alerts"
                ],
                "summary": "Assign the alert.",
                "description": "Either provide a user-id, policy-id (escalation policy) or schedule-id (on-call schedule) that the specific alert should be assigned to.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "user",
                        "in": "query",
                        "description": "numeric user id",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "policy",
                        "in": "query",
                        "description": "numeric policy id",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "schedule",
                        "in": "query",
                        "description": "numeric schedule id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the updated alert object",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Alert"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/alerts/{id}/accept": {
            "put": {
                "tags": [
                    "Alerts"
                ],
                "summary": "Accept the Alert.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the updated alert object",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Alert"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/alerts/{id}/resolve": {
            "put": {
                "tags": [
                    "Alerts"
                ],
                "summary": "Resolve the alert.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the updated alert object",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Alert"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/alerts/{id}/notifications": {
            "get": {
                "tags": [
                    "Alerts",
                    "Notifications"
                ],
                "summary": "Get notifications for the specified alert.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "a list of notification objects",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Notification"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/alerts/{id}/log-entries": {
            "get": {
                "tags": [
                    "Alerts",
                    "Log-Entries"
                ],
                "summary": "Get log entries for the specified alert.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "lang",
                        "in": "query",
                        "description": "log entry language",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "en",
                                "de"
                            ]
                        }
                    },
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of entities.",
                        "schema": {
                            "maximum": 100,
                            "type": "integer",
                            "format": "int32",
                            "default": 50
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Describes optional properties that should be included in the response. You may declare multiple. (vars)",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "vars"
                                ]
                            }
                        }
                    },
                    {
                        "name": "filter-types",
                        "in": "query",
                        "description": "filter-type (group) of the log",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "NOTIFICATIONS",
                                    "ALERT_SOURCE_EVENTS",
                                    "CALL_ROUTING_EVENTS",
                                    "ALERT_UPDATES",
                                    "CONNECTOR_EVENTS",
                                    "INCIDENT_COMMUNICATIONS"
                                ]
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of log entries",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/LogEntry"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/alerts/{id}/actions": {
            "get": {
                "tags": [
                    "Alert Actions"
                ],
                "summary": "Get available actions for specified alert.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of alert actions",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AlertActionTrigger"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Alert Actions"
                ],
                "summary": "Invoke a specific alert action.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "the alert action, you might skip the 'history' field",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AlertActionTrigger"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "the alert action result, validate the 'success' field",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AlertActionResult"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "alert-action"
            }
        },
        "/schedules": {
            "get": {
                "tags": [
                    "Schedules"
                ],
                "summary": "List on-call schedules.",
                "parameters": [
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Describes optional properties that should be included in the response. You may declare multiple. (currentShift, nextShift, scheduleLayers [only available for RECURRING schedules], shifts [only available for STATIC schedules], past [show shifts in the past, only for STATIC])",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "scheduleLayers",
                                    "shifts",
                                    "currentShift",
                                    "nextShift",
                                    "past"
                                ]
                            }
                        }
                    },
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of schedules.",
                        "schema": {
                            "maximum": 20,
                            "type": "integer",
                            "format": "int32",
                            "default": 20
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "a list of on-call schedules",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Schedule"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Schedules"
                ],
                "summary": "Create a new on-call schedule.",
                "parameters": [
                    {
                        "name": "abort-on-gaps",
                        "in": "query",
                        "description": "Used for static schedules to prevent creating schedules with gaps",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "requestBody": {
                    "description": "The on-call schedule. (scheduleLayers [only available for RECURRING schedules], shifts [only available for STATIC schedules])",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Schedule"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "The created on-call schedule",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Schedule"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "schedule"
            }
        },
        "/schedules/{id}": {
            "get": {
                "tags": [
                    "Schedules"
                ],
                "summary": "Get the on-call schedule with the specified id.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Describes optional properties that should be included in the response. You may declare multiple. (currentShift, nextShift, scheduleLayers [only available for RECURRING schedules], shifts [only available for STATIC schedules], past [show shifts in the past, only for STATIC])",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "scheduleLayers",
                                    "shifts",
                                    "currentShift",
                                    "nextShift",
                                    "past"
                                ]
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The schedule object. (scheduleLayers [only available for RECURRING schedules], shifts [only available for STATIC schedules])",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Schedule"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Schedules"
                ],
                "summary": "Update an on-call schedule.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "abort-on-gaps",
                        "in": "query",
                        "description": "Used for static schedules to prevent updating schedules with gaps",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "requestBody": {
                    "description": "The on-call schedule. (scheduleLayers [only available for RECURRING schedules], shifts [only available for STATIC schedules])",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Schedule"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The updated on-call schedule",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Schedule"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "schedule"
            },
            "delete": {
                "tags": [
                    "Schedules"
                ],
                "summary": "Delete the on-call schedule with the specified id.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "empty response",
                        "content": {}
                    }
                }
            }
        },
        "/schedules/{id}/shifts": {
            "get": {
                "tags": [
                    "Schedules"
                ],
                "summary": "Get shifts for the specified schedule and date range.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "description": "from date, default is start of last month",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "until",
                        "in": "query",
                        "description": "until date, default is from date plus 3 months",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "exclude-overrides",
                        "in": "query",
                        "description": "if true, shifts won't include overrides",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the shift objects",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Shift"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/schedules/{id}/overrides": {
            "get": {
                "tags": [
                    "Schedules"
                ],
                "summary": "Get overrides for the specified schedule.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the shift objects",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Shift"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Schedules"
                ],
                "summary": "Add an override shift to a schedule.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "the shift which should overwrite the schedule (must not be in the past)",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Shift"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "the overwritten schedule object",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ScheduleRel"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "shift"
            }
        },
        "/schedules/{id}/user-on-call": {
            "get": {
                "tags": [
                    "Schedules"
                ],
                "summary": "Get the user (wrapped in a shift object) on-call for the specified schedule.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the current shift",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Shift"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "if no user is on-call",
                        "content": {}
                    }
                }
            }
        },
        "/on-calls": {
            "get": {
                "tags": [
                    "On-Calls"
                ],
                "summary": "List on-calls with flexible filters",
                "parameters": [
                    {
                        "name": "policies",
                        "in": "query",
                        "description": "escalation policy ids to filter on call duties for",
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "policy-levels",
                        "in": "query",
                        "description": "can be provided instead of 'policies', must be a serialised and urlencoded JSON object e.g. ?policy-levels=\"{ \"id\": 12, \"level\": 1 }\" where id is the policy id and level is the escalation level that should be included",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "schedules",
                        "in": "query",
                        "description": "on call schedule ids to filter on call duties for",
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "users",
                        "in": "query",
                        "description": "user ids to filter on call duties for",
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "expand",
                        "in": "query",
                        "description": "include full entities for: policy, escalationPolicy or user",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "description": "date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time range, may not exceed 3 months in total span, defaults to current time",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "until",
                        "in": "query",
                        "description": "date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time range, must be after 'from', defaults to current time",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "timezone",
                        "in": "query",
                        "description": "Time zone in which the results will be rendered, defaults to UTC",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "offset for the search results, defaults to 0",
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "limit for the search results, defaults to 50, may not exceed 250",
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "returns a list of on-call objects for the searched window",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/OnCall"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/alert-sources": {
            "get": {
                "tags": [
                    "Alert Sources"
                ],
                "summary": "List alert sources.",
                "parameters": [
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of alert sources.",
                        "schema": {
                            "maximum": 50,
                            "type": "integer",
                            "format": "int32",
                            "default": 50
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the alert source object",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/AlertSourceNoIncludes"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Alert Sources"
                ],
                "summary": "Create a new alert source.",
                "requestBody": {
                    "description": "the alert source",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AlertSourceRel"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "The URI of the alert source will be included in the location header and the alert source will be included in the body.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AlertSource"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "alert-source"
            }
        },
        "/alert-sources/{id}": {
            "get": {
                "tags": [
                    "Alert Sources"
                ],
                "summary": "Get the alert source with specified id or alternatively integration key.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "numeric source id or integration key",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Describes optional properties that should be included in the response. You may declare multiple. (detailsTemplate, summaryTemplate, routingTemplate, linkTemplates, priorityTemplate, severityTemplate, textTemplate, eventFilter, alertKeyTemplate, servicesTemplate, eventTypeFilterCreate, eventTypeFilterAccept, eventTypeFilterResolve); some may not work in lists; may be used for POST and PUT as well.",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "detailsTemplate",
                                    "summaryTemplate",
                                    "routingTemplate",
                                    "alertKeyTemplate",
                                    "servicesTemplate",
                                    "linkTemplates",
                                    "priorityTemplate",
                                    "severityTemplate",
                                    "textTemplate",
                                    "eventFilter",
                                    "eventTypeFilterCreate",
                                    "eventTypeFilterAccept",
                                    "eventTypeFilterResolve"
                                ]
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the alert source object",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AlertSource"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Alert Sources"
                ],
                "summary": "Update an existing alert source.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "the alert source",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AlertSourceRel"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "the updated alert source object",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AlertSource"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "alert-source"
            },
            "delete": {
                "tags": [
                    "Alert Sources"
                ],
                "summary": "Delete the specified alert source.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "if deletion was successful",
                        "content": {}
                    }
                }
            }
        },
        "/heartbeat-monitors": {
            "get": {
                "tags": [
                    "Heartbeat Monitors"
                ],
                "summary": "List heartbeat monitors.",
                "description": "This resource uses a 'cursor' to paginate. 'start-index' has no effect here.",
                "parameters": [
                    {
                        "name": "cursor",
                        "in": "query",
                        "description": "A cursor identifying the current position in the pagination, leave empty to start at the first item, each call returns a 'next-cursor' header for the next page, do not alter the cursor yourself.",
                        "schema": {
                            "type": "string",
                            "default": null
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "The maximum number of results when paging through a list of heartbeat monitors.",
                        "schema": {
                            "maximum": 200,
                            "type": "integer",
                            "format": "int32",
                            "default": 100
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Describes optional properties that should be included in the response. You may declare multiple. (integrationKey, integrationUrl)",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "integrationKey",
                                    "integrationUrl"
                                ]
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The heartbeat monitor objects",
                        "headers": {
                            "next-cursor": {
                                "schema": {
                                    "description": "The cursor value for the next page, do not alter this yourself. Provide it as is to the ?cursor=${cursor} query param.",
                                    "type": "string"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/HeartbeatMonitorNoIncludes"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Heartbeat Monitors"
                ],
                "summary": "Create a new heartbeat monitor.",
                "description": "The 'integrationKey' field cannot be set as it is generated automatically. Note: if you are building installation scripts for your hosts, you may send deterministic names and ?include=integrationUrl to still return the 'response.body.integrationUrl' field on 409 (already existing resource) conflict responses. This allows you to run installations with a simple single POST request.",
                "parameters": [
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Describes optional properties that should be included in the response. You may declare multiple. (alertSource (default), integrationKey (default), integrationUrl)",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "integrationKey",
                                    "integrationUrl",
                                    "alertSource"
                                ]
                            }
                        }
                    }
                ],
                "requestBody": {
                    "description": "the heartbeat monitor",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/HeartbeatMonitorRel"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Your newly created heartbeat monitor",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HeartbeatMonitor"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "A heartbeat monitor with this name already exists, this resource will return the details of the already existing heartbeat monitor.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HeartbeatMonitor"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/heartbeat-monitors/{id}": {
            "get": {
                "tags": [
                    "Heartbeat Monitors"
                ],
                "summary": "Get the heartbeat monitor with specified id.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "numeric entity id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Describes optional properties that should be included in the response. You may declare multiple. (integrationKey (default), integrationUrl, alertSource (default)); alertSource does not work in lists; may be used for POST and PUT as well.",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "integrationKey",
                                    "integrationUrl",
                                    "alertSource"
                                ]
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the heartbeat monitor object",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HeartbeatMonitor"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Heartbeat Monitors"
                ],
                "summary": "Update an existing heartbeat monitor.",
                "description": "ATTENTION: changing 'intervalSec' will regenerate the 'integrationKey', you will have to update your monitoring integrations.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "the heartbeat monitor",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/HeartbeatMonitorRel"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "the updated heartbeat monitor object",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HeartbeatMonitor"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Heartbeat Monitors"
                ],
                "summary": "Delete the specified heartbeat monitor.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "if deletion was successful",
                        "content": {}
                    }
                }
            }
        },
        "/support-hours": {
            "get": {
                "tags": [
                    "Support Hours"
                ],
                "summary": "List support hours.",
                "description": "Returns a shallow list of support hours without exception details. Use the single resource endpoint to retrieve the complete support hour including all exceptions.",
                "parameters": [
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of support hours.",
                        "schema": {
                            "maximum": 50,
                            "type": "integer",
                            "format": "int32",
                            "default": 50
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of support hours",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/SupportHourListItem"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Support Hours"
                ],
                "summary": "Create a new support hour.",
                "requestBody": {
                    "description": "the support hour",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SupportHour"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "the response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SupportHour"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "support-hour"
            }
        },
        "/support-hours/{id}": {
            "get": {
                "tags": [
                    "Support Hours"
                ],
                "summary": "Get the support hour with specified id.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the support hour object",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SupportHour"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Support Hours"
                ],
                "summary": "Update an existing support hour.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "the support hour",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SupportHour"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "the updated support hour object",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SupportHour"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "support-hour"
            },
            "delete": {
                "tags": [
                    "Support Hours"
                ],
                "summary": "Delete the specified support hour.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "if deletion was successful",
                        "content": {}
                    }
                }
            }
        },
        "/maintenance-windows": {
            "get": {
                "tags": [
                    "Maintenance Windows"
                ],
                "summary": "List maintenance windows.",
                "parameters": [
                    {
                        "name": "state",
                        "in": "query",
                        "description": "Filter maintenance windows by state. `OPEN` includes upcoming and ongoing windows, `CLOSED` includes past windows.",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "OPEN",
                                "CLOSED"
                            ]
                        }
                    },
                    {
                        "name": "services",
                        "in": "query",
                        "description": "filter by service IDs",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer",
                                "format": "int64"
                            }
                        }
                    },
                    {
                        "name": "sources",
                        "in": "query",
                        "description": "filter by alert source IDs",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer",
                                "format": "int64"
                            }
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "description": "from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "until",
                        "in": "query",
                        "description": "until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of entities.",
                        "schema": {
                            "maximum": 100,
                            "type": "integer",
                            "format": "int32",
                            "default": 50
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the maintenance window object",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/MaintenanceWindow"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Maintenance Windows"
                ],
                "summary": "Create a new maintenance window.",
                "requestBody": {
                    "description": "the maintenance window",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MaintenanceWindow"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The URI of the maintenance window will be included in the location header and the maintenance window will be included in the body.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MaintenanceWindow"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "maintenance-window"
            }
        },
        "/maintenance-windows/{id}": {
            "get": {
                "tags": [
                    "Maintenance Windows"
                ],
                "summary": "Get the maintenance window with specified id.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "the maintenance window object",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MaintenanceWindow"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Maintenance Windows"
                ],
                "summary": "Update an existing maintenance window.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "the maintenance window",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MaintenanceWindow"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "the updated maintenance window object",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MaintenanceWindow"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "maintenance-window"
            },
            "delete": {
                "tags": [
                    "Maintenance Windows"
                ],
                "summary": "Delete the specified maintenance window.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "if deletion was successful",
                        "content": {}
                    }
                }
            }
        },
        "/escalation-policies": {
            "get": {
                "tags": [
                    "Escalation Policies"
                ],
                "summary": "List escalation policies.",
                "parameters": [
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of escalation policies.",
                        "schema": {
                            "maximum": 50,
                            "type": "integer",
                            "format": "int32",
                            "default": 50
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/EscalationPolicy"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Escalation Policies"
                ],
                "summary": "Create a new escalation policy.",
                "requestBody": {
                    "description": "the escalation polocy",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EscalationPolicy"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created. The URI of the escalation policy is included in the Location header and the entity in the body",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EscalationPolicy"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "escalation-policy"
            }
        },
        "/escalation-policies/resolve": {
            "get": {
                "tags": [
                    "Escalation Policies"
                ],
                "summary": "Resolve an escalation policy by routing key.",
                "parameters": [
                    {
                        "name": "routing-key",
                        "in": "query",
                        "description": "routing key expression used to resolve the escalation policy, including ordered comma-separated keys or the special il:{...} policy reference format.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The resolved escalation policy",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EscalationPolicy"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The current user has no permission to access the resolved escalation policy",
                        "content": {}
                    },
                    "404": {
                        "description": "No escalation policy matched the provided routing key",
                        "content": {}
                    }
                }
            }
        },
        "/escalation-policies/{id}": {
            "get": {
                "tags": [
                    "Escalation Policies"
                ],
                "summary": "Get escalation policy with the specified id.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EscalationPolicy"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Escalation Policies"
                ],
                "summary": "Update an existing escalation policy.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "the escalation policy",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EscalationPolicy"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The updated escalation policy",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EscalationPolicy"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "escalation-policy"
            },
            "delete": {
                "tags": [
                    "Escalation Policies"
                ],
                "summary": "Delete the specified escalation policy.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "if deletion was successful",
                        "content": {}
                    }
                }
            }
        },
        "/escalation-policies/{id}/levels/{level}": {
            "put": {
                "tags": [
                    "Escalation Policies"
                ],
                "summary": "Replace an escalation rule at the specified level.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "level",
                        "in": "path",
                        "description": "zero-based escalation level",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "requestBody": {
                    "description": "the escalation rule",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EscalationRule"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The updated escalation rule",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EscalationRule"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "escalation-rule"
            }
        },
        "/series/{key}": {
            "post": {
                "tags": [
                    "Series"
                ],
                "summary": "Ingest a series for a metric",
                "description": "Post a time point or multiple time points (series) to a metric. User authorization is not required instead provide the integration key of your metric.",
                "parameters": [
                    {
                        "name": "key",
                        "in": "path",
                        "description": "integration key of resource",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "the time point or series of time points",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SeriesOption"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "202": {
                        "description": "The time points have been accepted",
                        "content": {}
                    }
                },
                "security": [],
                "x-codegen-request-body-name": "series"
            }
        },
        "/events": {
            "post": {
                "tags": [
                    "Events"
                ],
                "summary": "Post an event to ilert.",
                "description": "Use the Event API to integrate your monitoring or ticketing tools with ilert. It provides a single API endpoint that allows you to create, accept and resolve alerts in ilert. It is designed around the notion that monitoring tools  send events when \n* a problem occurs (an `ALERT` event in ilert terminology)\n* a problem is acknowledged, indicating that someone is working on the resolution of the problem (an `ACCEPT`event)\n* a problem is resolved (a `RESOLVED`event)\n\nThe API accepts these events, routes them to the alert source to which the integration key belongs, and takes appropriate action.\n\nAn event object contains the following attributes:\n\nAttribute     | Description \n------------- | ------------- \nintegrationKey  | **Required**. The integration key of the alert source. \neventType  | **Required**. Must be either `ALERT`, `ACCEPT`, or `RESOLVE`\nsummary | **Required**. The event summary. Will be used as the alert summary if a new alert is created.\ndetails | Optional. The event details. Will be used as the alert details if a new alert is created.\nalertKey | Optional. For `ALERT` events, the alertKey can be used to deduplicate or group events. If an open alert with the key already exists, the event will be appended to the alert's event log. Otherwise a new alert will be created. For `ACCEPT` and `RESOLVE` events, the alertKey is used to reference the open alert which is to be accepted or resolved by this event.\npriority | Optional. Must be either HIGH or LOW. Will overwrite the evaluated priority of the alert source.\nseverity | Optional. Must be an integer in range 1..5. Will overwrite the evaluated severity of the alert source.\nservices | Optional. A list of service objects, each containing an `alias`.\nlabels | Optional. A map of key/value labels attached to the alert.\nimages | Optional. A list of images containing src, href and alt.\nlinks | Optional. A list of links, containing href and text.\ncustomDetails | Optional. Additional custom details for the event.\nroutingKey | Optional. Overwrite escalation policy for ALERT events.\n\n\n### Getting started\nBefore you can start making API requests, you need to create an API alert source in the ilert web interface:\n1. Go to \"Alert sources\"\n2. Click on \"Add a new alert source\"\n3. Fill out the form chosing \"API\" as the integration type and save.\n\nAn integration key will be generated for the alert source after creation. You can obtain the key on the alert sources' details page. You can only use the key to post events to this alert source and you don't need to provide any other credentials when using the Event API.\n\n### Example: create, accept and  resolve an alert\nThe following example will guide you through a basic workflow where an alert is created, accepted, and resolved.\n\n#### Create alert\nAn alert can be created by posting an `ALERT` event:\n\n**Request**\n```json\nhttps://api.ilert.com/api/events\n\n{\n  \"integrationKey\": \"edf0235f-a720-458e-a7fd-6b001042a4f4\",\n  \"eventType\": \"ALERT\",\n  \"alertKey\": \"srv/mail01\",\n  \"summary\": \"Host srv/mail01 is CRITICAL\"\n}\n```\n\nLet's say we want to post an update saying that the host is down. To do that, we will post another `ALERT` event using the same alertKey:\n\n**Request**\n```json\nhttps://api.ilert.com/api/events\n\n{\n  \"integrationKey\": \"edf0235f-a720-458e-a7fd-6b001042a4f4\",\n  \"eventType\": \"ALERT\",\n  \"alertKey\": \"srv/mail01\",\n  \"summary\": \"Host srv/mail01 is DOWN\"\n}\n```\n\n#### Accept an alert\nContinuing our example from above, we want to accept the alert that we created. In order to that, we post an `ACCEPT`event using the same alertKey that we used when we posted the `ALERT` event.\n\n**Request**\n```json\nhttps://api.ilert.com/api/events\n\n{\n  \"integrationKey\": \"edf0235f-a720-458e-a7fd-6b001042a4f4\",\n  \"eventType\": \"ACCEPT\",\n  \"alertKey\": \"srv/mail01\"\n}\n```\n\nThe alert is now in ACCEPTED state stopping any further notifications.\n\n#### Resolve an alert\nTo resolve the alert, we simply post a `RESOLVE` event using the alert key from above.\n\n**Request**\n```json\nhttps://api.ilert.com/api/events\n\n{\n  \"integrationKey\": \"edf0235f-a720-458e-a7fd-6b001042a4f4\",\n  \"eventType\": \"RESOLVE\",\n  \"alertKey\": \"srv/mail01\"\n}\n```\n\nThe alert is now resolved.\n\n\n\n### Dealing with errors and retries\nWe strongly recommend to implement a retry logic on the client side if an error occurs (ideally using an [exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff)). \n\nRetry a failed request for the following errors:\n* any network errors\n* 5xx errors: this indicates an error in ilert\n* 429 Too Many Requests: you have reached your rate limit\n\n\nDo NOT retry a request for the following HTTP response codes:\n* 202 Accepted: the request was successful\n* 400 Bad Request: (check the error message for details)\n",
                "requestBody": {
                    "description": "The event",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Event"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "202": {
                        "description": "The event has been accepted",
                        "content": {}
                    }
                },
                "security": [],
                "x-codegen-request-body-name": "event"
            }
        },
        "/deployment-events": {
            "post": {
                "tags": [
                    "Deployment Events"
                ],
                "summary": "Post a deployment event to ilert.",
                "description": "Use the Deployment events API to integrate your CI & CD tools or custom deployment workflows with ilert. Create a new deployment pipeline to generate an integration key for this endpoint.",
                "requestBody": {
                    "description": "The event",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/DeploymentEvent"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "202": {
                        "description": "The event has been accepted",
                        "content": {}
                    }
                },
                "security": [],
                "x-codegen-request-body-name": "event"
            }
        },
        "/alert-actions": {
            "get": {
                "tags": [
                    "Alert Actions"
                ],
                "summary": "Get alert actions.",
                "parameters": [
                    {
                        "name": "source",
                        "in": "query",
                        "description": "alert source id",
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "connector",
                        "in": "query",
                        "description": "connector id",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of alert actions.",
                        "schema": {
                            "maximum": 100,
                            "type": "integer",
                            "format": "int32",
                            "default": 100
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The filtered alert actions",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/AlertAction"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Alert Actions"
                ],
                "summary": "Create a new alert action.",
                "requestBody": {
                    "description": "the alert action",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AlertAction"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The newly created alert action",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AlertAction"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "alert action"
            }
        },
        "/alert-actions/{id}": {
            "get": {
                "tags": [
                    "Alert Actions"
                ],
                "summary": "Get a specific alert action.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Describes optional properties that should be included in the response. You may declare multiple. (conditions); some may not work in lists; may be used for POST and PUT as well.",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "conditions"
                                ]
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The requested alert action",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AlertAction"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Alert Actions"
                ],
                "summary": "Update the specific alert action. (note: type cannot be changed)",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "the alert action",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AlertAction"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The updated alert action",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AlertAction"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "alert action"
            },
            "delete": {
                "tags": [
                    "Alert Actions"
                ],
                "summary": "Remove a specific alert action.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Empty body delete response",
                        "content": {}
                    }
                }
            }
        },
        "/connectors": {
            "get": {
                "tags": [
                    "Connectors"
                ],
                "summary": "Get connectors.",
                "parameters": [
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of entities.",
                        "schema": {
                            "maximum": 100,
                            "type": "integer",
                            "format": "int32",
                            "default": 50
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The connectors",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Connector"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Connectors"
                ],
                "summary": "Create a new connector.",
                "requestBody": {
                    "description": "the connector",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Connector"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The newly created connector",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Connector"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "connector"
            }
        },
        "/connectors/{id}": {
            "get": {
                "tags": [
                    "Connectors"
                ],
                "summary": "Get a specific connector.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The requested connector",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Connector"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Connectors"
                ],
                "summary": "Update the specific connector. (note: type cannot be changed)",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "the connector",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Connector"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The updated connector",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Connector"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "connector"
            },
            "delete": {
                "tags": [
                    "Connectors"
                ],
                "summary": "Remove a specific connector.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Empty body delete response",
                        "content": {}
                    }
                }
            }
        },
        "/teams": {
            "get": {
                "tags": [
                    "Teams"
                ],
                "summary": "Get teams.",
                "parameters": [
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of entities.",
                        "schema": {
                            "maximum": 100,
                            "type": "integer",
                            "format": "int32",
                            "default": 50
                        }
                    },
                    {
                        "name": "members",
                        "in": "query",
                        "description": "optional, filter teams for specific members (currently only a single occurrence of this param is allowed)",
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The teams",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Team"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Teams"
                ],
                "summary": "Create a new team.",
                "requestBody": {
                    "description": "the team",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Team"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The newly created team",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Team"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "team"
            }
        },
        "/teams/{id}": {
            "get": {
                "tags": [
                    "Teams"
                ],
                "summary": "Get a specific team.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The requested team",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Team"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Teams"
                ],
                "summary": "Update the specific team",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "the team",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Team"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The updated team",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Team"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "team"
            },
            "delete": {
                "tags": [
                    "Teams"
                ],
                "summary": "Remove a specific team.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Empty body delete response",
                        "content": {}
                    }
                }
            }
        },
        "/teams/{id}/members": {
            "post": {
                "tags": [
                    "Teams"
                ],
                "summary": "Add a new team member to specific team",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "the team member",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TeamMember"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The added team member",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TeamMember"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "team member"
            }
        },
        "/teams/{id}/members/{id}": {
            "delete": {
                "tags": [
                    "Teams"
                ],
                "summary": "Remove a specific member of a specific team.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Empty body delete response",
                        "content": {}
                    }
                }
            }
        },
        "/reports/alerts": {
            "get": {
                "tags": [
                    "Reports"
                ],
                "summary": "List alert metrics for the requested resources",
                "parameters": [
                    {
                        "name": "sources",
                        "in": "query",
                        "description": "alert source ids to filter metrics for",
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "policies",
                        "in": "query",
                        "description": "escalation policy ids to filter metrics for",
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "numbers",
                        "in": "query",
                        "description": "phone numbers of call routing numbers to filter metrics for",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "description": "date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time range, may not exceed 1 year in total span",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "until",
                        "in": "query",
                        "description": "date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time range, must be after 'from', must not be in the future",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "timezone",
                        "in": "query",
                        "description": "Time zone in which the results will be rendered, defaults to tenant's configured default timezone",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "metric",
                        "in": "query",
                        "description": "Describes the metric that should be fetched choose one of: COUNT, MTTA or MTTR - defaults to COUNT",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "group-by",
                        "in": "query",
                        "description": "Defines the grouping of metrics, choose one of: DAY, WEEK or MONTH - defaults to WEEK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "priority",
                        "in": "query",
                        "description": "Sets the priority filter that should be applied, choose one of: LOW, HIGH or ALL - defaults to ALL",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "an array of alert report metrics, each metric is another array containing data in the following order: \n\n[long:alertSourceId, long:escalationPolicyId, string:callRoutingNumberPhoneNumber, string:ISO-8601, long:value]\n\ne.g. [ [202541, 13541, \"\", \"2021-08\", 15] ]\n\nPlease note: the ISO-8601 (4th column) in this case depends on the chosen 'group-by' parameter. DAY=2021-08-01, WEEK=2021-W12, MONTH=2021-08",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "oneOf": [
                                                {
                                                    "type": "number"
                                                },
                                                {
                                                    "type": "string"
                                                }
                                            ]
                                        }
                                    }
                                }
                            },
                            "metric sample": {
                                "example": {
                                    "summary": "metric sample",
                                    "value": [
                                        [
                                            202541,
                                            13541,
                                            "",
                                            "2021-08",
                                            15
                                        ]
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/reports/alerts/summary": {
            "get": {
                "tags": [
                    "Reports"
                ],
                "summary": "Summarize a list of alert metrics",
                "parameters": [
                    {
                        "name": "sources",
                        "in": "query",
                        "description": "alert source ids to filter metrics for",
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "policies",
                        "in": "query",
                        "description": "escalation policy ids to filter metrics for",
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "numbers",
                        "in": "query",
                        "description": "phone numbers of call routing numbers to filter metrics for",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "description": "date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time range, may not exceed 1 year in total span",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "until",
                        "in": "query",
                        "description": "date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time range, must be after 'from', must not be in the future",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "timezone",
                        "in": "query",
                        "description": "Time zone in which the results will be rendered, defaults to tenant's configured default timezone",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "metric",
                        "in": "query",
                        "description": "Describes the metric that should be fetched choose one of: COUNT, MTTA or MTTR - defaults to COUNT",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "group-by",
                        "in": "query",
                        "description": "Defines the grouping of metrics, choose one of: DAY, WEEK or MONTH - defaults to WEEK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "priority",
                        "in": "query",
                        "description": "Sets the priority filter that should be applied, choose one of: LOW, HIGH or ALL - defaults to ALL",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "an array containing summarized alert report metrics for the requested resource",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "alertSourceId": {
                                                "type": "number"
                                            },
                                            "escalationPolicyId": {
                                                "type": "number"
                                            },
                                            "callRoutingNumberPhoneNumber": {
                                                "type": "string"
                                            },
                                            "count": {
                                                "type": "number"
                                            },
                                            "mtta": {
                                                "type": "number"
                                            },
                                            "mttr": {
                                                "type": "number"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/reports/api-keys/usage": {
            "get": {
                "tags": [
                    "Reports"
                ],
                "summary": "List API key usage metrics for the requested resources",
                "description": "This endpoint requires 'ADMIN' permissions",
                "parameters": [
                    {
                        "name": "scopes",
                        "in": "query",
                        "description": "scopes of our API resources e.g. alert see https://docs.ilert.com/rest-api/developing-ilert-apps/token-lifetimes-error-codes-app-verification-etc.#ilert-oauth2-scopes",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "description": "date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time range, may not exceed 1 month (31 days) in total span (use this to paginate)",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "until",
                        "in": "query",
                        "description": "date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time range, must be after 'from', must not be in the future (use this to paginate)",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "timezone",
                        "in": "query",
                        "description": "Time zone in which the results will be rendered, defaults to tenant's configured default timezone",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "an array of usage metrics, each metric is another array containing data in the following order: \n\n[long:userId, string:scope, string:ISO-8601, long:value]\n\ne.g. [ [202541, \"source\", \"2023-04-21\", 15] ]\n\nPlease note: the ISO-8601 (3th column) in this case is always DAY (2021-08-01) usually 24 hours apart, but there is a slight chance that the same userId and scope have multiple entries for the same DAY",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "oneOf": [
                                                {
                                                    "type": "number"
                                                },
                                                {
                                                    "type": "string"
                                                }
                                            ]
                                        }
                                    }
                                }
                            },
                            "metric sample": {
                                "example": {
                                    "summary": "metric sample",
                                    "value": [
                                        [
                                            202541,
                                            "alert",
                                            "2023-04",
                                            15
                                        ]
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/incident-templates": {
            "get": {
                "tags": [
                    "Incident Templates"
                ],
                "summary": "Get incident templates.",
                "parameters": [
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of entities.",
                        "schema": {
                            "maximum": 100,
                            "type": "integer",
                            "format": "int32",
                            "default": 50
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The incident templates",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/IncidentTemplate"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Incident Templates"
                ],
                "summary": "Create a new incident template.",
                "requestBody": {
                    "description": "the incident template",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/IncidentTemplate"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The newly created incident template",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IncidentTemplate"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "incident-template"
            }
        },
        "/incident-templates/{id}": {
            "get": {
                "tags": [
                    "Incident Templates"
                ],
                "summary": "Get a specific incident template.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The requested incident template",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IncidentTemplate"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Incident Templates"
                ],
                "summary": "Update the specific incident template",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "the incident template",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/IncidentTemplate"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The updated incident template",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IncidentTemplate"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "incident-template"
            },
            "delete": {
                "tags": [
                    "Incident Templates"
                ],
                "summary": "Remove a specific incident template.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Empty body delete response",
                        "content": {}
                    }
                }
            }
        },
        "/services": {
            "get": {
                "tags": [
                    "Services"
                ],
                "summary": "Get services.",
                "parameters": [
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of services. (Note: when using ?include maximum is reduced to 25)",
                        "schema": {
                            "maximum": 100,
                            "type": "integer",
                            "format": "int32",
                            "default": 10
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Describes optional properties that should be included in the response. You may declare multiple. (subscribed, uptime, incidents)",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "subscribed",
                                    "uptime",
                                    "incidents"
                                ]
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The services",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Service"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Services"
                ],
                "summary": "Create a new service.",
                "requestBody": {
                    "description": "the service",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ServiceNoIncludes"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The newly created service",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ServiceNoIncludes"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "service"
            }
        },
        "/services/{id}": {
            "get": {
                "tags": [
                    "Services"
                ],
                "summary": "Get a specific service.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Describes optional properties that should be included in the response. You may declare multiple. (subscribed, uptime, incidents)",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "subscribed",
                                    "uptime",
                                    "incidents"
                                ]
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The requested service",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Service"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Services"
                ],
                "summary": "Update the specific service",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "the service",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ServiceNoIncludes"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The updated service",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ServiceNoIncludes"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "service"
            },
            "delete": {
                "tags": [
                    "Services"
                ],
                "summary": "Remove a specific service.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Empty body delete response",
                        "content": {}
                    }
                }
            }
        },
        "/incidents": {
            "get": {
                "tags": [
                    "Incidents"
                ],
                "summary": "Get incidents.",
                "parameters": [
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of incidents. (Note: when using ?include maximum is reduced to 25)",
                        "schema": {
                            "maximum": 100,
                            "type": "integer",
                            "format": "int32",
                            "default": 10
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Describes optional properties that should be included in the response. You may declare multiple. (subscribed)",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "subscribed"
                                ]
                            }
                        }
                    },
                    {
                        "name": "states",
                        "in": "query",
                        "description": "state of the alert",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "INVESTIGATING",
                                    "IDENTIFIED",
                                    "MONITORING",
                                    "RESOLVED"
                                ]
                            }
                        }
                    },
                    {
                        "name": "services",
                        "in": "query",
                        "description": "service IDs of the incident's affected services",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer",
                                "format": "int64"
                            }
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "description": "from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z, based on reportTime",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "until",
                        "in": "query",
                        "description": "until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z, based on reportTime",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The incidents",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Incident"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Incidents"
                ],
                "summary": "Create a new incident.",
                "description": "Note: depending on affected services this will publish notifications to subscribers. Use /publish-info to forecast notifications.",
                "requestBody": {
                    "description": "the incident",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/IncidentNoIncludes"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The newly created incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IncidentNoIncludes"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "incident"
            }
        },
        "/incidents/publish-info": {
            "post": {
                "tags": [
                    "Incidents"
                ],
                "summary": "Forecast the affected subscribers and status pages",
                "description": "Forecast the affected subscribers and status pages as well as notifications that would be send out due to created or update incident.",
                "requestBody": {
                    "description": "the incident",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/IncidentNoIncludes"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The forecast for the provided incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusPagesInfo": {
                                            "$ref": "#/components/schemas/UIMenuItem"
                                        },
                                        "privateStatusPages": {
                                            "type": "number",
                                            "readOnly": true
                                        },
                                        "publicStatusPages": {
                                            "type": "number",
                                            "readOnly": true
                                        },
                                        "privateSubscribers": {
                                            "type": "number",
                                            "readOnly": true
                                        },
                                        "publicSubscribers": {
                                            "type": "number",
                                            "readOnly": true
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "incident"
            }
        },
        "/incidents/{id}": {
            "get": {
                "tags": [
                    "Incidents"
                ],
                "summary": "Get a specific incident.",
                "description": "Note: returns an ETag header that can be send to the PUT /incidents/{id} resource as If-Match header to return a 412 Error in case any related resources e.g. Services or Incident have been updated in the mean time.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Describes optional properties that should be included in the response. You may declare multiple. (subscribed, affectedTeams, history)",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "subscribed",
                                    "affectedTeams",
                                    "history"
                                ]
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The requested incident",
                        "headers": {
                            "ETag": {
                                "description": "Send to the PUT /incidents/{id} resource as If-Match header to return a 412 Error in case any related resources e.g. Services or Incident have been updated in the mean time.",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IncidentWithHistory"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Incidents"
                ],
                "summary": "Update the specific incident.",
                "description": "Note: the update will be automatically appended to the incident's update history and publish notifications to subscribers.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "If-Match",
                        "in": "header",
                        "description": "Should be the ETag response header retrieved from GET /incidents/{id} to prevent updating the incident based on outdated information. Will return 412 status code in case of conflict.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "the incident",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/IncidentNoIncludes"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The updated incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IncidentNoIncludes"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "incident"
            }
        },
        "/incidents/{id}/private-subscribers": {
            "get": {
                "tags": [
                    "Incidents"
                ],
                "summary": "Get the subscribers (users and teams) of an incident",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The subscribers of the incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/TeamUserOption"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Incidents"
                ],
                "summary": "Add subscribers (users and teams) to an incident",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "subscribers that should be added",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/TeamUserOption"
                                }
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "the response",
                        "content": {}
                    }
                },
                "x-codegen-request-body-name": "subscribers"
            }
        },
        "/services/{id}/private-subscribers": {
            "get": {
                "tags": [
                    "Services"
                ],
                "summary": "Get the subscribers (users and teams) of a service",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The subscribers of the service",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/TeamUserOption"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Services"
                ],
                "summary": "Set subscribers (users and teams) of a service",
                "description": "Note: this is an in place update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "subscribers that should be adjusted",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/TeamUserOption"
                                }
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "the response",
                        "content": {}
                    }
                },
                "x-codegen-request-body-name": "subscribers"
            }
        },
        "/status-pages": {
            "get": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Get status pages.",
                "parameters": [
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of status pages.",
                        "schema": {
                            "maximum": 50,
                            "type": "integer",
                            "format": "int32",
                            "default": 25
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Describes optional properties that should be included in the response. You may declare multiple. (subscribed)",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "subscribed"
                                ]
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The status pages",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/StatusPageList"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Create a new status page.",
                "requestBody": {
                    "description": "the status page",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StatusPageNoIncludes"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The newly created status page",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/StatusPageNoIncludes"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "service"
            }
        },
        "/status-pages/{id}": {
            "get": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Get a specific status page.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Describes optional properties that should be included in the response. You may declare multiple. (subscribed, uptime, groups, structure). Note: structure is always included by default.",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "subscribed",
                                    "uptime",
                                    "groups",
                                    "structure"
                                ]
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The requested status page",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/StatusPage"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Update the specific status page",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "the status page",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StatusPageNoIncludes"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The updated status page",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/StatusPageNoIncludes"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "service"
            },
            "delete": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Remove a specific status page.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Empty body delete response",
                        "content": {}
                    }
                }
            }
        },
        "/status-pages/{id}/groups": {
            "get": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Get the groups of a status page",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of entities.",
                        "schema": {
                            "maximum": 100,
                            "type": "integer",
                            "format": "int32",
                            "default": 50
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The groups of the status page",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/StatusPageGroup"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Add a group to a status page",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Group that should be added",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StatusPageGroup"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "The created group",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/StatusPageGroup"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "Group"
            }
        },
        "/status-pages/{id}/groups/{group-id}": {
            "get": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Get a specific group of a status page",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "group-id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The group of the status page",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/StatusPageGroup"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "The group does not exist",
                        "content": {}
                    }
                }
            },
            "put": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Update a group of a status page",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "group-id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Group that should be updated",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StatusPageGroup"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The updated group of the status page",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/StatusPageGroup"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "Group"
            },
            "delete": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Remove group from a status page",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "group-id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "the response",
                        "content": {}
                    }
                }
            }
        },
        "/status-pages/{id}/private-subscribers": {
            "get": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Get the subscribers (users and teams) of a status page",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The subscribers of the status page",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/TeamUserOption"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Set subscribers (users and teams) of a status page",
                "description": "Note: this is an in place update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "subscribers that should be adjusted",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/TeamUserOption"
                                }
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "the response",
                        "content": {}
                    }
                },
                "x-codegen-request-body-name": "subscribers"
            },
            "post": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Add subscriber (user and team) to a status page",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "subscriber that should be added",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TeamUserOption"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "the response",
                        "content": {}
                    }
                },
                "x-codegen-request-body-name": "subscriber"
            }
        },
        "/status-pages/{id}/private-subscribers/{subscriber-id}": {
            "delete": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Remove subscriber (user and team) from a status page",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "subscriber-id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "subscriber-type",
                        "in": "query",
                        "description": "the type of subscriber USER or TEAM",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "USER",
                                "TEAM"
                            ]
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "the response",
                        "content": {}
                    }
                },
                "x-codegen-request-body-name": "subscriber"
            }
        },
        "/service-outages": {
            "get": {
                "tags": [
                    "Service Outages"
                ],
                "summary": "Get the outages (including applied overrides) of a specific service",
                "parameters": [
                    {
                        "name": "service",
                        "in": "query",
                        "description": "the id of the service for which the outages should be fetched",
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "description": "from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "until",
                        "in": "query",
                        "description": "until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "ignore-overrides",
                        "in": "query",
                        "description": "if the outages should not take overrides into account, default is false",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The outages of the service",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ServiceOutage"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/service-outages/overrides": {
            "get": {
                "tags": [
                    "Service Outages"
                ],
                "summary": "Get the overrides of a specific service",
                "parameters": [
                    {
                        "name": "service",
                        "in": "query",
                        "description": "the id of the service for which the overrides should be fetched",
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "description": "from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "until",
                        "in": "query",
                        "description": "until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The overrides of the service",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ServiceOutageOverride"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Service Outages"
                ],
                "summary": "Override a part of a service's outage history",
                "requestBody": {
                    "description": "override that should be made",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ServiceOutageOverride"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "The added override",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ServiceOutageOverride"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "override"
            }
        },
        "/service-outages/overrides/{id}": {
            "get": {
                "tags": [
                    "Service Outages"
                ],
                "summary": "Get the specific service outage override",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The override",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ServiceOutageOverride"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Service Outages"
                ],
                "summary": "Update an existing service outage override",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "override that should be made",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ServiceOutageOverride"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The updated override",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ServiceOutageOverride"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "override"
            },
            "delete": {
                "tags": [
                    "Service Outages"
                ],
                "summary": "Remove a service outage override",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "the response",
                        "content": {}
                    }
                }
            }
        },
        "/metric-data-sources": {
            "get": {
                "tags": [
                    "Metric Data Sources"
                ],
                "summary": "Get Metric Data Sources",
                "parameters": [
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of metric data sources",
                        "schema": {
                            "maximum": 100,
                            "type": "integer",
                            "format": "int32",
                            "default": 10
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The Metric Data Sources",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/MetricDataSource"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Metric Data Sources"
                ],
                "summary": "Create a new Metric Data Source.",
                "requestBody": {
                    "description": "The metric data source",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MetricDataSourcePost"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The newly created Metric Data Source",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MetricDataSource"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "metric data source"
            }
        },
        "/metric-data-sources/{id}": {
            "get": {
                "tags": [
                    "Metric Data Sources"
                ],
                "summary": "Get a specific Metric Data Source",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The requested Metric Data Source",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MetricDataSource"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Metric Data Sources"
                ],
                "summary": "Update the specific Metric Data Source",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "The metric data source",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MetricDataSourcePost"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The updated Metric Data Source",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MetricDataSource"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "metric data source"
            },
            "delete": {
                "tags": [
                    "Metric Data Sources"
                ],
                "summary": "Delete a specific Metric Data Source",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Empty body delete response",
                        "content": {}
                    }
                }
            }
        },
        "/metrics": {
            "get": {
                "tags": [
                    "Metrics"
                ],
                "summary": "Get metrics.",
                "parameters": [
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of metrics. (Note: when using ?include maximum is reduced to 25)",
                        "schema": {
                            "maximum": 100,
                            "type": "integer",
                            "format": "int32",
                            "default": 10
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Describes optional properties that should be included in the response. You may declare multiple. (dataSource, integrationKey)",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "dataSource",
                                    "integrationKey"
                                ]
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The metrics",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/MetricList"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Metrics"
                ],
                "summary": "Create a new metric.",
                "requestBody": {
                    "description": "The metric",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MetricPost"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The newly created metric",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Metric"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "metric"
            }
        },
        "/metrics/{id}": {
            "get": {
                "tags": [
                    "Metrics"
                ],
                "summary": "Get a specific Metric",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The requested metric",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Metric"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Metrics"
                ],
                "summary": "Update the specific Metric",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "The metric",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MetricPost"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The updated metric",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Metric"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "metric"
            },
            "delete": {
                "tags": [
                    "Metrics"
                ],
                "summary": "Delete the specific Metric",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Empty body delete response",
                        "content": {}
                    }
                }
            }
        },
        "/deployment-pipelines": {
            "get": {
                "tags": [
                    "Deployment Pipelines"
                ],
                "summary": "Get deployment pipelines",
                "parameters": [
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of deployment pipelines",
                        "schema": {
                            "maximum": 100,
                            "type": "integer",
                            "format": "int32",
                            "default": 50
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The deployment pipelines",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/DeploymentPipeline"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Deployment Pipelines"
                ],
                "summary": "Create a new deployment pipeline.",
                "requestBody": {
                    "description": "The deployment pipeline",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/DeploymentPipeline"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The newly created depoyment pipeline",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DeploymentPipeline"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/deployment-pipelines/{id}": {
            "get": {
                "tags": [
                    "Deployment Pipelines"
                ],
                "summary": "Get a specific deployment pipeline",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The requested deployment pipeline",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DeploymentPipeline"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Deployment Pipelines"
                ],
                "summary": "Update the specific deployment pipeline",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "The deployment pipeline",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/DeploymentPipeline"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The updated deployment pipeline",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DeploymentPipeline"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Deployment Pipelines"
                ],
                "summary": "Delete a specific deployment pipeline",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Empty body delete response",
                        "content": {}
                    }
                }
            }
        },
        "/event-flows": {
            "get": {
                "tags": [
                    "Event Flows"
                ],
                "summary": "List existing event flows.",
                "description": "Returns a shallow list of event flows without the full node tree. Use the single resource endpoint to retrieve the complete event flow including all nodes and branches.",
                "parameters": [
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of entities.",
                        "schema": {
                            "maximum": 100,
                            "type": "integer",
                            "format": "int32",
                            "default": 50
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The event flows",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/EventFlowListItem"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Event Flows"
                ],
                "summary": "Create a new event flow.",
                "requestBody": {
                    "description": "the event flow",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EventFlow"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "The newly created event flow",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EventFlow"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "eventFlow"
            }
        },
        "/event-flows/{id}": {
            "get": {
                "tags": [
                    "Event Flows"
                ],
                "summary": "Get a specific event flow.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The requested event flow",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EventFlow"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Event Flows"
                ],
                "summary": "Update a specific event flow.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "the event flow",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EventFlow"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The updated event flow",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EventFlow"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "eventFlow"
            },
            "delete": {
                "tags": [
                    "Event Flows"
                ],
                "summary": "Delete a specific event flow.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Empty body delete response",
                        "content": {}
                    }
                }
            }
        },
        "/call-flows": {
            "get": {
                "tags": [
                    "Call Flows"
                ],
                "summary": "List existing call flows.",
                "description": "Returns a shallow list of call flows without the full node tree. Use the single resource endpoint to retrieve the complete call flow including all nodes and branches.",
                "parameters": [
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of entities.",
                        "schema": {
                            "maximum": 100,
                            "type": "integer",
                            "format": "int32",
                            "default": 50
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The call flows",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/CallFlowListItem"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Call Flows"
                ],
                "summary": "Create a new call flow.",
                "requestBody": {
                    "description": "the call flow",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CallFlow"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "The newly created call flow",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CallFlow"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "callFlow"
            }
        },
        "/call-flows/{id}": {
            "get": {
                "tags": [
                    "Call Flows"
                ],
                "summary": "Get a specific call flow.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The requested call flow",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CallFlow"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Call Flows"
                ],
                "summary": "Update a specific call flow.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "description": "the call flow",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CallFlow"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "The updated call flow",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CallFlow"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "callFlow"
            },
            "delete": {
                "tags": [
                    "Call Flows"
                ],
                "summary": "Delete a specific call flow.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Empty body delete response",
                        "content": {}
                    }
                }
            }
        },
        "/call-flow-numbers": {
            "get": {
                "tags": [
                    "Call Flow Numbers"
                ],
                "summary": "List call flow numbers.",
                "parameters": [
                    {
                        "name": "state",
                        "in": "query",
                        "description": "Filter call flow numbers by availability state.",
                        "schema": {
                            "type": "string",
                            "default": "ANY",
                            "enum": [
                                "ANY",
                                "AVAILABLE",
                                "USED"
                            ]
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Describes optional properties that should be included in the response. You may declare multiple. (assignedTo)",
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "assignedTo"
                                ]
                            }
                        }
                    },
                    {
                        "name": "start-index",
                        "in": "query",
                        "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    },
                    {
                        "name": "max-results",
                        "in": "query",
                        "description": "the maximum number of results when paging through a list of entities.",
                        "schema": {
                            "maximum": 100,
                            "type": "integer",
                            "format": "int32",
                            "default": 50
                        }
                    },
                    {
                        "name": "query",
                        "in": "query",
                        "description": "Filter call flow numbers by name.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The call flow numbers",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/CallFlowNumberDetails"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/call-flow-numbers/{id}": {
            "get": {
                "tags": [
                    "Call Flow Numbers"
                ],
                "summary": "Get a specific call flow number.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "entity ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The requested call flow number",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CallFlowNumberDetails"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "ContactStatus": {
                "type": "string",
                "enum": [
                    "OK",
                    "LOCKED",
                    "BLACKLISTED"
                ]
            },
            "ContactPhoneNumber": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "regionCode": {
                        "type": "string"
                    },
                    "target": {
                        "type": "string"
                    },
                    "primary": {
                        "type": "boolean",
                        "description": "May only be enabled for a single phone number contact at a time"
                    },
                    "status": {
                        "$ref": "#/components/schemas/ContactStatus"
                    }
                }
            },
            "ContactPhoneNumberPost": {
                "type": "object",
                "properties": {
                    "regionCode": {
                        "type": "string"
                    },
                    "target": {
                        "type": "string"
                    },
                    "primary": {
                        "type": "boolean",
                        "description": "May only be enabled for a single phone number contact at a time"
                    }
                }
            },
            "TimeZone": {
                "type": "string",
                "enum": [
                    "Europe/Berlin",
                    "America/New_York",
                    "America/Los_Angeles",
                    "Asia/Istanbul"
                ]
            },
            "OutboundNumber": {
                "type": "object",
                "properties": {
                    "countryCode": {
                        "type": "string"
                    },
                    "phoneNumber": {
                        "type": "string"
                    },
                    "supportsInboundSms": {
                        "type": "boolean"
                    },
                    "types": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "SMS",
                                "VOICE"
                            ]
                        }
                    }
                }
            },
            "Integration": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "INBOUND",
                            "NATIVE",
                            "OUTBOUND"
                        ]
                    },
                    "iconUrl": {
                        "type": "string"
                    },
                    "documentationUrl": {
                        "type": "string"
                    },
                    "integrationPath": {
                        "type": "string"
                    }
                }
            },
            "Role": {
                "type": "string",
                "enum": [
                    "STAKEHOLDER",
                    "GUEST",
                    "RESPONDER",
                    "USER",
                    "ADMIN"
                ]
            },
            "TeamRole": {
                "type": "string",
                "enum": [
                    "STAKEHOLDER",
                    "RESPONDER",
                    "USER",
                    "ADMIN"
                ]
            },
            "UserRel": {
                "required": [
                    "id"
                ],
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "firstName": {
                        "type": "string"
                    },
                    "lastName": {
                        "type": "string"
                    }
                }
            },
            "User": {
                "required": [
                    "email",
                    "firstName",
                    "lastName"
                ],
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "firstName": {
                        "type": "string"
                    },
                    "lastName": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string"
                    },
                    "timezone": {
                        "$ref": "#/components/schemas/TimeZone"
                    },
                    "position": {
                        "type": "string"
                    },
                    "department": {
                        "type": "string"
                    },
                    "avatarUrl": {
                        "type": "string",
                        "readOnly": true
                    },
                    "language": {
                        "type": "string",
                        "enum": [
                            "de",
                            "en"
                        ]
                    },
                    "region": {
                        "type": "string",
                        "enum": [
                            "DE",
                            "GB",
                            "CH",
                            "CN",
                            "IN",
                            "US",
                            "FR",
                            "ES",
                            "CA",
                            "IE"
                        ]
                    },
                    "role": {
                        "$ref": "#/components/schemas/Role"
                    },
                    "shiftColor": {
                        "type": "string",
                        "description": "Optional hex-color code for the user's shifts in schedules calendars"
                    },
                    "mutedUntil": {
                        "type": "string",
                        "description": "Date in ISO-8601",
                        "format": "date-time"
                    },
                    "createdAt": {
                        "type": "string",
                        "description": "Date in ISO-8601",
                        "format": "date-time"
                    },
                    "updatedAt": {
                        "type": "string",
                        "description": "Date in ISO-8601",
                        "format": "date-time"
                    }
                }
            },
            "UserPost": {
                "required": [
                    "email",
                    "firstName",
                    "lastName"
                ],
                "type": "object",
                "properties": {
                    "firstName": {
                        "type": "string"
                    },
                    "lastName": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string"
                    },
                    "timezone": {
                        "$ref": "#/components/schemas/TimeZone"
                    },
                    "position": {
                        "type": "string"
                    },
                    "department": {
                        "type": "string"
                    },
                    "avatarUrl": {
                        "type": "string",
                        "readOnly": true
                    },
                    "language": {
                        "type": "string",
                        "enum": [
                            "de",
                            "en"
                        ]
                    },
                    "region": {
                        "type": "string",
                        "enum": [
                            "DE",
                            "GB",
                            "CH",
                            "CN",
                            "IN",
                            "US",
                            "FR",
                            "ES",
                            "CA",
                            "IE"
                        ]
                    },
                    "role": {
                        "$ref": "#/components/schemas/Role"
                    },
                    "shiftColor": {
                        "type": "string",
                        "description": "Optional hex-color code for the user's shifts in schedules calendars"
                    }
                }
            },
            "ContactEmail": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "target": {
                        "type": "string"
                    },
                    "status": {
                        "$ref": "#/components/schemas/ContactStatus"
                    }
                }
            },
            "ContactEmailPost": {
                "type": "object",
                "properties": {
                    "target": {
                        "type": "string"
                    }
                }
            },
            "NotificationPreferenceAlertMethod": {
                "type": "string",
                "enum": [
                    "EMAIL",
                    "SMS",
                    "PUSH",
                    "VOICE",
                    "WHATSAPP",
                    "TELEGRAM"
                ]
            },
            "NotificationPreferenceAlertType": {
                "type": "string",
                "enum": [
                    "LOW_PRIORITY",
                    "HIGH_PRIORITY"
                ]
            },
            "NotificationPreferencesAlertDelayMin": {
                "type": "integer"
            },
            "NotificationPreferencesAlert": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "method": {
                        "$ref": "#/components/schemas/NotificationPreferenceAlertMethod"
                    },
                    "contact": {
                        "type": "object",
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/ContactPhoneNumber"
                            },
                            {
                                "$ref": "#/components/schemas/ContactEmail"
                            }
                        ]
                    },
                    "delayMin": {
                        "$ref": "#/components/schemas/NotificationPreferencesAlertDelayMin"
                    },
                    "type": {
                        "$ref": "#/components/schemas/NotificationPreferenceAlertType"
                    }
                }
            },
            "NotificationPreferencesAlertPost": {
                "type": "object",
                "properties": {
                    "method": {
                        "$ref": "#/components/schemas/NotificationPreferenceAlertMethod"
                    },
                    "contact": {
                        "type": "object",
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/ContactPhoneNumber"
                            },
                            {
                                "$ref": "#/components/schemas/ContactEmail"
                            }
                        ]
                    },
                    "delayMin": {
                        "$ref": "#/components/schemas/NotificationPreferencesAlertDelayMin"
                    },
                    "type": {
                        "$ref": "#/components/schemas/NotificationPreferenceAlertType"
                    }
                }
            },
            "NotificationPreferencesDutyTypes": {
                "type": "string",
                "enum": [
                    "ON_CALL"
                ]
            },
            "NotificationPreferencesDutyBeforeMin": {
                "type": "integer",
                "enum": [
                    0,
                    15,
                    30,
                    60,
                    180,
                    360,
                    720,
                    1440
                ]
            },
            "NotificationPreferenceDutyMethod": {
                "type": "string",
                "enum": [
                    "EMAIL",
                    "SMS",
                    "PUSH",
                    "WHATSAPP",
                    "TELEGRAM"
                ]
            },
            "NotificationPreferencesDuty": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "beforeMin": {
                        "$ref": "#/components/schemas/NotificationPreferencesDutyBeforeMin"
                    },
                    "contact": {
                        "type": "object",
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/ContactPhoneNumber"
                            },
                            {
                                "$ref": "#/components/schemas/ContactEmail"
                            }
                        ]
                    },
                    "method": {
                        "$ref": "#/components/schemas/NotificationPreferenceDutyMethod"
                    },
                    "type": {
                        "$ref": "#/components/schemas/NotificationPreferencesDutyTypes"
                    }
                }
            },
            "NotificationPreferencesDutyPost": {
                "type": "object",
                "properties": {
                    "beforeMin": {
                        "$ref": "#/components/schemas/NotificationPreferencesDutyBeforeMin"
                    },
                    "contact": {
                        "type": "object",
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/ContactPhoneNumber"
                            },
                            {
                                "$ref": "#/components/schemas/ContactEmail"
                            }
                        ]
                    },
                    "method": {
                        "$ref": "#/components/schemas/NotificationPreferenceDutyMethod"
                    },
                    "type": {
                        "$ref": "#/components/schemas/NotificationPreferencesDutyTypes"
                    }
                }
            },
            "NotificationPreferenceUpdateMethod": {
                "type": "string",
                "enum": [
                    "EMAIL",
                    "SMS",
                    "PUSH",
                    "WHATSAPP",
                    "TELEGRAM"
                ]
            },
            "NotificationPreferencesUpdateType": {
                "type": "string",
                "enum": [
                    "ALERT_ACCEPTED",
                    "ALERT_RESOLVED",
                    "ALERT_ESCALATED"
                ]
            },
            "NotificationPreferencesUpdate": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "contact": {
                        "type": "object",
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/ContactPhoneNumber"
                            },
                            {
                                "$ref": "#/components/schemas/ContactEmail"
                            }
                        ]
                    },
                    "method": {
                        "$ref": "#/components/schemas/NotificationPreferenceUpdateMethod"
                    },
                    "type": {
                        "$ref": "#/components/schemas/NotificationPreferencesUpdateType"
                    }
                }
            },
            "NotificationPreferencesUpdatePost": {
                "type": "object",
                "properties": {
                    "contact": {
                        "type": "object",
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/ContactPhoneNumber"
                            },
                            {
                                "$ref": "#/components/schemas/ContactEmail"
                            }
                        ]
                    },
                    "method": {
                        "$ref": "#/components/schemas/NotificationPreferenceUpdateMethod"
                    },
                    "type": {
                        "$ref": "#/components/schemas/NotificationPreferencesUpdateType"
                    }
                }
            },
            "NotificationPreferenceSubscriptionMethod": {
                "type": "string",
                "enum": [
                    "EMAIL",
                    "SMS",
                    "PUSH"
                ]
            },
            "NotificationPreferencesSubscription": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "contact": {
                        "type": "object",
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/ContactPhoneNumber"
                            },
                            {
                                "$ref": "#/components/schemas/ContactEmail"
                            }
                        ]
                    },
                    "method": {
                        "$ref": "#/components/schemas/NotificationPreferenceSubscriptionMethod"
                    }
                }
            },
            "NotificationPreferencesSubscriptionPost": {
                "type": "object",
                "properties": {
                    "contact": {
                        "type": "object",
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/ContactPhoneNumber"
                            },
                            {
                                "$ref": "#/components/schemas/ContactEmail"
                            }
                        ]
                    },
                    "method": {
                        "$ref": "#/components/schemas/NotificationPreferenceSubscriptionMethod"
                    }
                }
            },
            "EscalationRule": {
                "required": [
                    "escalationTimeout"
                ],
                "type": "object",
                "properties": {
                    "escalationTimeout": {
                        "type": "integer"
                    },
                    "user": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "number"
                            }
                        },
                        "description": "This field (type: User) is deprecated, please use 'users' instead"
                    },
                    "schedule": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "number"
                            }
                        },
                        "description": "This field (type: Schedule) is deprecated, please use 'schedules' instead"
                    },
                    "team": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "number"
                            }
                        },
                        "description": "This field (type: Team) is deprecated, please use 'teams' instead"
                    },
                    "users": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/UserRel"
                        }
                    },
                    "schedules": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ScheduleRel"
                        }
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    }
                }
            },
            "EscalationPolicy": {
                "required": [
                    "escalationRules",
                    "name"
                ],
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "name": {
                        "type": "string"
                    },
                    "escalationRules": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EscalationRule"
                        }
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    },
                    "repeating": {
                        "type": "boolean",
                        "default": false
                    },
                    "frequency": {
                        "maximum": 9,
                        "minimum": 1,
                        "type": "integer",
                        "format": "int32",
                        "default": 1
                    },
                    "delayMin": {
                        "maximum": 15,
                        "minimum": 0,
                        "type": "integer",
                        "format": "int32",
                        "default": 0
                    },
                    "routingKey": {
                        "type": "string",
                        "description": "optional"
                    }
                }
            },
            "AlertPriority": {
                "type": "string",
                "enum": [
                    "HIGH",
                    "LOW"
                ]
            },
            "AlertPriorityRule": {
                "type": "string",
                "enum": [
                    "HIGH",
                    "LOW",
                    "HIGH_DURING_SUPPORT_HOURS",
                    "LOW_DURING_SUPPORT_HOURS"
                ]
            },
            "SupportHour": {
                "required": [
                    "name",
                    "supportDays",
                    "timezone"
                ],
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "name": {
                        "type": "string"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    },
                    "timezone": {
                        "$ref": "#/components/schemas/TimeZone"
                    },
                    "supportDays": {
                        "type": "object",
                        "properties": {
                            "MONDAY": {
                                "$ref": "#/components/schemas/SupportDay"
                            },
                            "TUESDAY": {
                                "$ref": "#/components/schemas/SupportDay"
                            },
                            "WEDNESDAY": {
                                "$ref": "#/components/schemas/SupportDay"
                            },
                            "THURSDAY": {
                                "$ref": "#/components/schemas/SupportDay"
                            },
                            "FRIDAY": {
                                "$ref": "#/components/schemas/SupportDay"
                            },
                            "SATURDAY": {
                                "$ref": "#/components/schemas/SupportDay"
                            },
                            "SUNDAY": {
                                "$ref": "#/components/schemas/SupportDay"
                            }
                        }
                    },
                    "exceptions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SupportHourException"
                        }
                    }
                }
            },
            "SupportHourListItem": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "name": {
                        "type": "string"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    },
                    "timezone": {
                        "$ref": "#/components/schemas/TimeZone"
                    },
                    "supportDays": {
                        "type": "object",
                        "properties": {
                            "MONDAY": {
                                "$ref": "#/components/schemas/SupportDay"
                            },
                            "TUESDAY": {
                                "$ref": "#/components/schemas/SupportDay"
                            },
                            "WEDNESDAY": {
                                "$ref": "#/components/schemas/SupportDay"
                            },
                            "THURSDAY": {
                                "$ref": "#/components/schemas/SupportDay"
                            },
                            "FRIDAY": {
                                "$ref": "#/components/schemas/SupportDay"
                            },
                            "SATURDAY": {
                                "$ref": "#/components/schemas/SupportDay"
                            },
                            "SUNDAY": {
                                "$ref": "#/components/schemas/SupportDay"
                            }
                        }
                    }
                }
            },
            "SupportHourException": {
                "type": "object",
                "required": [
                    "name",
                    "start",
                    "end",
                    "supportStatus"
                ],
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "start": {
                        "type": "string",
                        "format": "date"
                    },
                    "end": {
                        "type": "string",
                        "format": "date"
                    },
                    "supportStatus": {
                        "type": "string",
                        "enum": [
                            "DURING",
                            "OUTSIDE"
                        ]
                    }
                }
            },
            "SupportDay": {
                "required": [
                    "end",
                    "start"
                ],
                "type": "object",
                "properties": {
                    "start": {
                        "type": "string",
                        "format": "time"
                    },
                    "end": {
                        "type": "string",
                        "format": "time"
                    }
                }
            },
            "IntegrationType": {
                "type": "string",
                "enum": [
                    "NAGIOS",
                    "ICINGA",
                    "EMAIL2",
                    "SMS",
                    "API",
                    "HEARTBEAT2",
                    "PRTG",
                    "PINGDOM",
                    "CLOUDWATCH",
                    "AWSPHD",
                    "STACKDRIVER",
                    "INSTANA",
                    "ZABBIX",
                    "SOLARWINDS",
                    "PROMETHEUS",
                    "NEWRELIC",
                    "GRAFANA",
                    "GITHUB",
                    "DATADOG",
                    "UPTIMEROBOT",
                    "APPDYNAMICS",
                    "DYNATRACE",
                    "TOPDESK",
                    "STATUSCAKE",
                    "MONITOR",
                    "TOOL",
                    "CHECKMK",
                    "AUTOTASK",
                    "AWSBUDGET",
                    "SYSDIG",
                    "SERVERDENSITY",
                    "ZAPIER",
                    "KENTIXAM",
                    "JIRA",
                    "CONSUL",
                    "ZAMMAD",
                    "SPLUNK",
                    "SERVICENOW",
                    "SEARCHGUARD",
                    "KUBERNETES",
                    "SIGNALFX",
                    "AZUREALERTS",
                    "TERRAFORMCLOUD",
                    "SENTRY",
                    "SEMATEXT",
                    "SUMOLOGIC",
                    "RAYGUN",
                    "MXTOOLBOX",
                    "ESWATCHER",
                    "AMAZONSNS",
                    "KAPACITOR",
                    "CORTEXXSOAR",
                    "ZENDESK",
                    "AUVIK",
                    "SENSU",
                    "NCENTRAL",
                    "JUMPCLOUD",
                    "SALESFORCE",
                    "GUARDDUTY",
                    "STATUSHUB",
                    "IXON",
                    "APIFORTRESS",
                    "FRESHSERVICE",
                    "APPSIGNAL",
                    "LIGHTSTEP",
                    "IBMCLOUDFUNCTIONS",
                    "CROWDSTRIKE",
                    "HUMIO",
                    "OHDEAR",
                    "MONGODBATLAS",
                    "GITLAB",
                    "HYPERPING",
                    "PAPRISMACLOUD",
                    "SAMSARA",
                    "PANDORAFMS",
                    "MSSCOM",
                    "TWILIO",
                    "CISCOMERAKI",
                    "CHECKLY",
                    "POSTHOG",
                    "GOOGLESCC",
                    "SLACK",
                    "MSTEAMS",
                    "UPTIMEKUMA",
                    "TWILIOERRORS",
                    "PARTICLE",
                    "CLOUDFLARE",
                    "TULIP",
                    "GRAYLOG",
                    "CATCHPOINT",
                    "LOKI",
                    "CORTEX",
                    "MIMIR",
                    "HALOPSA",
                    "INFLUXDB",
                    "CALLFLOW",
                    "HALOITSM",
                    "KIBANA",
                    "VICTORIAMETRICS",
                    "HONEYCOMB",
                    "FOURME",
                    "KEEP",
                    "UBIDOTS",
                    "HETRIXTOOLS",
                    "POSTMAN",
                    "CLUSTERCONTROL",
                    "NETDATA",
                    "AWX",
                    "KAFKA",
                    "MQTT",
                    "RAPIDSPIKE",
                    "HONEYBADGER",
                    "HEALTHCHECKSIO",
                    "MEZMO",
                    "SERVERGUARD24",
                    "CISCOTHOUSANDEYES",
                    "SITE24X7",
                    "ITCONDUCTOR",
                    "SAPFRUN",
                    "APICA",
                    "DASH0",
                    "ROLLBAR",
                    "GATUS",
                    "LIBRENMS",
                    "PANTHER",
                    "TEAMCITY",
                    "ALIBABACLOUD",
                    "FLEETDM",
                    "CONNECTWISEPSA",
                    "DEADMANSSNITCH",
                    "FORTISOAR",
                    "OPMANAGER",
                    "CRONITOR",
                    "DOMOTZ",
                    "LIVEWATCH",
                    "AZUREDEVOPS",
                    "LEVELIO",
                    "EKARA",
                    "SYSAID",
                    "PHAREIO",
                    "OPSGENIE",
                    "WHATAP",
                    "SIGNOZ",
                    "GOOGLECHAT",
                    "DOTCOMMONITOR",
                    "UPTIME",
                    "HELPSCOUT",
                    "SCIENCELOGIC",
                    "PULSETIC",
                    "WAZUH",
                    "SEKOIA"
                ]
            },
            "AlertActionType": {
                "type": "string",
                "enum": [
                    "autotask",
                    "jira",
                    "microsoft_teams_bot",
                    "microsoft_teams_webhook",
                    "servicenow",
                    "slack",
                    "slack_webhook",
                    "webhook",
                    "zendesk",
                    "discord",
                    "github",
                    "topdesk",
                    "email",
                    "zapier",
                    "zammad",
                    "mattermost",
                    "zoom_chat",
                    "dingtalk",
                    "aws_event_bridge",
                    "dynamic",
                    "zabbix",
                    "automation_rule",
                    "telegram",
                    "google_chat_bot",
                    "google_chat_webhook"
                ]
            },
            "ConnectorType": {
                "type": "string",
                "enum": [
                    "jira",
                    "microsoft_teams_bot",
                    "servicenow",
                    "slack",
                    "zendesk",
                    "discord",
                    "github",
                    "topdesk",
                    "zammad",
                    "mattermost",
                    "zoom_chat",
                    "dingtalk",
                    "dynamic",
                    "zabbix",
                    "autotask",
                    "google_chat_bot"
                ]
            },
            "ScheduleRel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "name": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "STATIC",
                            "RECURRING"
                        ]
                    }
                }
            },
            "Schedule": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "name": {
                        "type": "string"
                    },
                    "timezone": {
                        "$ref": "#/components/schemas/TimeZone"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "STATIC",
                            "RECURRING"
                        ]
                    },
                    "scheduleLayers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ScheduleLayerConfig"
                        }
                    },
                    "shifts": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ShiftRel"
                        }
                    },
                    "showGaps": {
                        "type": "boolean"
                    },
                    "defaultShiftDuration": {
                        "type": "string",
                        "format": "P7D"
                    },
                    "currentShift": {
                        "$ref": "#/components/schemas/ShiftRel"
                    },
                    "nextShift": {
                        "$ref": "#/components/schemas/ShiftRel"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    }
                }
            },
            "ShiftRel": {
                "type": "object",
                "properties": {
                    "user": {
                        "$ref": "#/components/schemas/UserRel"
                    },
                    "end": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "start": {
                        "type": "string",
                        "format": "date-time"
                    }
                }
            },
            "Shift": {
                "type": "object",
                "properties": {
                    "user": {
                        "$ref": "#/components/schemas/User"
                    },
                    "end": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "start": {
                        "type": "string",
                        "format": "date-time"
                    }
                }
            },
            "ScheduleLayerConfig": {
                "required": [
                    "rotation",
                    "startsOn",
                    "users"
                ],
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "startsOn": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "endsOn": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "users": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/UserRel"
                        }
                    },
                    "rotation": {
                        "type": "string",
                        "format": "P7D"
                    },
                    "restrictionType": {
                        "type": "string",
                        "description": "Note: 'TIMES_OF_DAY' is just a UI state representation, the API always uses 'TIMES_OF_WEEK'",
                        "enum": [
                            "TIMES_OF_WEEK"
                        ]
                    },
                    "restrictions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ScheduleLayerRestriction"
                        }
                    }
                }
            },
            "ScheduleLayerRestriction": {
                "required": [
                    "from",
                    "to"
                ],
                "type": "object",
                "properties": {
                    "from": {
                        "$ref": "#/components/schemas/TimeOfWeek"
                    },
                    "to": {
                        "$ref": "#/components/schemas/TimeOfWeek"
                    }
                }
            },
            "TimeOfWeek": {
                "required": [
                    "dayOfWeek",
                    "time"
                ],
                "type": "object",
                "properties": {
                    "dayOfWeek": {
                        "type": "string",
                        "enum": [
                            "MONDAY",
                            "TUESDAY",
                            "WEDNESDAY",
                            "THURSDAY",
                            "FRIDAY",
                            "SATURDAY",
                            "SUNDAY"
                        ]
                    },
                    "time": {
                        "type": "string",
                        "format": "15:00"
                    }
                }
            },
            "Connector": {
                "required": [
                    "name",
                    "type"
                ],
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "$ref": "#/components/schemas/ConnectorType"
                    },
                    "name": {
                        "type": "string"
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updatedAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "params": {
                        "type": "object",
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/EParamsDatadog"
                            },
                            {
                                "$ref": "#/components/schemas/EParamsJira"
                            },
                            {
                                "$ref": "#/components/schemas/EParamsMicrosoftTeams"
                            },
                            {
                                "$ref": "#/components/schemas/EParamsServiceNow"
                            },
                            {
                                "$ref": "#/components/schemas/EParamsSlack"
                            },
                            {
                                "$ref": "#/components/schemas/EParamsZendesk"
                            },
                            {
                                "$ref": "#/components/schemas/EParamsDiscord"
                            },
                            {
                                "$ref": "#/components/schemas/EParamsGithub"
                            },
                            {
                                "$ref": "#/components/schemas/EParamsTopdesk"
                            },
                            {
                                "$ref": "#/components/schemas/EParamsAWSLambda"
                            },
                            {
                                "$ref": "#/components/schemas/EParamsAzureFunction"
                            },
                            {
                                "$ref": "#/components/schemas/EParamsGoogleFunction"
                            },
                            {
                                "$ref": "#/components/schemas/EParamsSysdig"
                            },
                            {
                                "$ref": "#/components/schemas/EParamsStatusPageIO"
                            },
                            {
                                "$ref": "#/components/schemas/EParamsDingTalk"
                            },
                            {
                                "$ref": "#/components/schemas/EParamsZabbix"
                            }
                        ]
                    }
                }
            },
            "EParamsZabbix": {
                "type": "object",
                "properties": {
                    "url": {
                        "type": "string"
                    },
                    "apiKey": {
                        "type": "string"
                    }
                }
            },
            "EParamsDingTalk": {
                "type": "object",
                "properties": {
                    "url": {
                        "type": "string"
                    },
                    "secret": {
                        "type": "string"
                    }
                }
            },
            "EParamsDatadog": {
                "type": "object",
                "properties": {
                    "apiKey": {
                        "type": "string"
                    }
                }
            },
            "EParamsJira": {
                "type": "object",
                "properties": {
                    "url": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string"
                    },
                    "password": {
                        "type": "string"
                    }
                }
            },
            "EParamsMicrosoftTeams": {
                "type": "object",
                "properties": {
                    "url": {
                        "type": "string"
                    }
                }
            },
            "EParamsServiceNow": {
                "type": "object",
                "properties": {
                    "url": {
                        "type": "string"
                    },
                    "username": {
                        "type": "string"
                    },
                    "password": {
                        "type": "string"
                    }
                }
            },
            "EParamsSlack": {
                "type": "object"
            },
            "EParamsZendesk": {
                "type": "object",
                "properties": {
                    "url": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string"
                    },
                    "apiKey": {
                        "type": "string"
                    }
                }
            },
            "EParamsDiscord": {
                "type": "object",
                "properties": {
                    "url": {
                        "type": "string"
                    }
                }
            },
            "EParamsGithub": {
                "type": "object",
                "properties": {
                    "apiKey": {
                        "type": "string"
                    }
                }
            },
            "EParamsTopdesk": {
                "type": "object",
                "properties": {
                    "url": {
                        "type": "string"
                    },
                    "username": {
                        "type": "string"
                    },
                    "password": {
                        "type": "string"
                    }
                }
            },
            "EParamsAWSLambda": {
                "type": "object",
                "properties": {
                    "authorization": {
                        "type": "string"
                    }
                }
            },
            "EParamsAzureFunction": {
                "type": "object",
                "properties": {
                    "authorization": {
                        "type": "string"
                    }
                }
            },
            "EParamsGoogleFunction": {
                "type": "object",
                "properties": {
                    "authorization": {
                        "type": "string"
                    }
                }
            },
            "EParamsSysdig": {
                "type": "object",
                "properties": {
                    "apiKey": {
                        "type": "string"
                    }
                }
            },
            "EParamsStatusPageIO": {
                "type": "object",
                "properties": {
                    "apiKey": {
                        "type": "string"
                    }
                }
            },
            "AlertAction": {
                "required": [
                    "connectorType",
                    "name"
                ],
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "alertSources": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AlertSource"
                        }
                    },
                    "connectorId": {
                        "type": "string"
                    },
                    "connectorType": {
                        "$ref": "#/components/schemas/AlertActionType"
                    },
                    "name": {
                        "type": "string"
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updatedAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "triggerMode": {
                        "type": "string",
                        "enum": [
                            "AUTOMATIC",
                            "MANUAL"
                        ]
                    },
                    "bidirectional": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "escalationEndedDelaySec": {
                        "maximum": 7200,
                        "minimum": 0,
                        "type": "number",
                        "description": "May only be used with triggerType 'alert-escalation-ended' selected"
                    },
                    "notResolvedDelaySec": {
                        "maximum": 7200,
                        "minimum": 0,
                        "type": "number",
                        "description": "May only be used with triggerType 'v-alert-not-resolved' selected"
                    },
                    "triggerTypes": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "alert-created",
                                "alert-assigned",
                                "alert-auto-escalated",
                                "alert-acknowledged",
                                "alert-raised",
                                "alert-comment-added",
                                "alert-escalation-ended",
                                "alert-resolved",
                                "alert-responder-added",
                                "alert-responder-removed",
                                "alert-channel-attached",
                                "alert-channel-detached",
                                "v-alert-not-resolved"
                            ]
                        }
                    },
                    "alertFilter": {
                        "type": "object",
                        "description": "This field is deprecated, use 'conditions' instead. If both are used this field is ignored.",
                        "properties": {
                            "operator": {
                                "type": "string",
                                "enum": [
                                    "AND",
                                    "OR"
                                ]
                            },
                            "predicates": {
                                "type": "array",
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "field": {
                                            "type": "string",
                                            "enum": [
                                                "ALERT_SUMMARY",
                                                "ALERT_DETAILS",
                                                "ESCALATION_POLICY",
                                                "ALERT_PRIORITY"
                                            ]
                                        },
                                        "criteria": {
                                            "type": "string",
                                            "enum": [
                                                "CONTAINS_ANY_WORDS",
                                                "CONTAINS_NOT_WORDS",
                                                "CONTAINS_STRING",
                                                "CONTAINS_NOT_STRING",
                                                "IS_STRING",
                                                "IS_NOT_STRING",
                                                "MATCHES_REGEX",
                                                "MATCHES_NOT_REGEX"
                                            ]
                                        },
                                        "value": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "conditions": {
                        "type": "string",
                        "description": "Defines an optional alert filter condition in ICL language. This is a code based implementation, more info on syntax: https://docs.ilert.com/rest-api/icl-ilert-condition-language. For block based configuration please use the web UI. Note: this field is an ?include, it will not appear in lists."
                    },
                    "params": {
                        "type": "object",
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/CParamsDatadog"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsJira"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsMicrosoftTeams"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsMicrosoftTeamsWebhookOnly"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsServiceNow"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsAutotask"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsSlack"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsWebhook"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsZendesk"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsDiscord"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsGithub"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsTopdesk"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsAWSLambda"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsAzureFunction"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsGoogleFunction"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsEmail"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsSysdig"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsZapier"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsZoomChat"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsZoomMeeting"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsStatusPageIO"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsDingTalk"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsDingTalkAction"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsAutomationRule"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsAutomationRule"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsTelegram"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsGoogleChat"
                            },
                            {
                                "$ref": "#/components/schemas/CParamsGoogleChatWebhookOnly"
                            }
                        ]
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    }
                }
            },
            "CParamsAutomationRule": {
                "required": [
                    "alertType",
                    "serviceIds",
                    "serviceStatus"
                ],
                "type": "object",
                "properties": {
                    "alertType": {
                        "type": "string",
                        "enum": [
                            "CREATED",
                            "ACCEPTED"
                        ]
                    },
                    "resolveIncident": {
                        "type": "boolean",
                        "default": false
                    },
                    "serviceStatus": {
                        "$ref": "#/components/schemas/ServiceStatus"
                    },
                    "templateId": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "sendNotification": {
                        "type": "boolean",
                        "default": false
                    },
                    "serviceIds": {
                        "type": "array",
                        "items": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                }
            },
            "CParamsTelegram": {
                "required": [
                    "channelId"
                ],
                "type": "object",
                "properties": {
                    "channelId": {
                        "type": "string",
                        "description": "The telegram group id, usually i64, as string"
                    }
                }
            },
            "CParamsDingTalk": {
                "type": "object",
                "properties": {
                    "isAtAll": {
                        "type": "boolean"
                    },
                    "atMobiles": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "CParamsDingTalkAction": {
                "type": "object",
                "properties": {
                    "url": {
                        "type": "string"
                    },
                    "secret": {
                        "type": "string"
                    },
                    "isAtAll": {
                        "type": "boolean"
                    },
                    "atMobiles": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "CParamsDatadog": {
                "type": "object",
                "properties": {
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "priority": {
                        "type": "string"
                    },
                    "site": {
                        "type": "string"
                    }
                }
            },
            "CParamsJira": {
                "type": "object",
                "properties": {
                    "project": {
                        "type": "string"
                    },
                    "issueType": {
                        "type": "string"
                    },
                    "bodyTemplate": {
                        "type": "string"
                    }
                }
            },
            "CParamsServiceNow": {
                "type": "object",
                "properties": {
                    "callerId": {
                        "type": "string"
                    },
                    "impact": {
                        "type": "string"
                    },
                    "urgency": {
                        "type": "string"
                    },
                    "closeCode": {
                        "type": "string"
                    },
                    "assignmentGroup": {
                        "type": "string"
                    },
                    "ownerGroup": {
                        "type": "string"
                    },
                    "service": {
                        "type": "string"
                    },
                    "serviceOffering": {
                        "type": "string"
                    },
                    "contactType": {
                        "type": "string"
                    }
                }
            },
            "CParamsAutotask": {
                "required": [
                    "queueId"
                ],
                "type": "object",
                "properties": {
                    "companyId": {
                        "type": "string"
                    },
                    "queueId": {
                        "type": "string"
                    },
                    "ticketCategory": {
                        "type": "string"
                    },
                    "ticketType": {
                        "type": "string"
                    },
                    "noteType": {
                        "type": "string"
                    },
                    "notePublish": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string"
                    }
                }
            },
            "CParamsMicrosoftTeamsWebhookOnly": {
                "type": "object"
            },
            "CParamsMicrosoftTeams": {
                "required": [
                    "channelId",
                    "teamId"
                ],
                "type": "object",
                "properties": {
                    "channelId": {
                        "type": "string"
                    },
                    "channelName": {
                        "type": "string"
                    },
                    "teamId": {
                        "type": "string"
                    },
                    "teamName": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "chat",
                            "meeting"
                        ]
                    }
                }
            },
            "CParamsSlack": {
                "required": [
                    "channelId"
                ],
                "type": "object",
                "properties": {
                    "channelId": {
                        "type": "string"
                    },
                    "channelName": {
                        "type": "string"
                    },
                    "teamDomain": {
                        "type": "string"
                    },
                    "teamId": {
                        "type": "string"
                    }
                }
            },
            "CParamsWebhook": {
                "required": [
                    "webhookUrl"
                ],
                "type": "object",
                "properties": {
                    "webhookUrl": {
                        "type": "string"
                    },
                    "bodyTemplate": {
                        "type": "string"
                    },
                    "headers": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "required": [
                                "key",
                                "value"
                            ],
                            "properties": {
                                "key": {
                                    "type": "string"
                                },
                                "value": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            },
            "CParamsZendesk": {
                "type": "object",
                "properties": {
                    "priority": {
                        "type": "string"
                    }
                }
            },
            "CParamsDiscord": {
                "type": "object"
            },
            "CParamsGithub": {
                "type": "object",
                "properties": {
                    "owner": {
                        "type": "string"
                    },
                    "repository": {
                        "type": "string"
                    },
                    "labels": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "CParamsTopdesk": {
                "type": "object",
                "properties": {
                    "status": {
                        "type": "string"
                    }
                }
            },
            "CParamsAWSLambda": {
                "type": "object",
                "properties": {
                    "webhookUrl": {
                        "type": "string"
                    },
                    "bodyTemplate": {
                        "type": "string"
                    }
                }
            },
            "CParamsAzureFunction": {
                "type": "object",
                "properties": {
                    "webhookUrl": {
                        "type": "string"
                    },
                    "bodyTemplate": {
                        "type": "string"
                    }
                }
            },
            "CParamsGoogleFunction": {
                "type": "object",
                "properties": {
                    "webhookUrl": {
                        "type": "string"
                    },
                    "bodyTemplate": {
                        "type": "string"
                    }
                }
            },
            "CParamsEmail": {
                "type": "object",
                "properties": {
                    "recipients": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "subject": {
                        "type": "string"
                    },
                    "bodyTemplate": {
                        "type": "string"
                    }
                }
            },
            "CParamsSysdig": {
                "type": "object",
                "properties": {
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "eventFilter": {
                        "type": "string"
                    }
                }
            },
            "CParamsZapier": {
                "type": "object",
                "properties": {
                    "webhookUrl": {
                        "type": "string"
                    }
                }
            },
            "CParamsZoomChat": {
                "type": "object",
                "properties": {
                    "channelId": {
                        "type": "string"
                    }
                }
            },
            "CParamsZoomMeeting": {
                "type": "object",
                "properties": {
                    "password": {
                        "type": "string"
                    }
                }
            },
            "CParamsStatusPageIO": {
                "type": "object",
                "properties": {
                    "pageId": {
                        "type": "string"
                    }
                }
            },
            "CParamsGoogleChat": {
                "required": [
                    "channelId"
                ],
                "type": "object",
                "properties": {
                    "channelId": {
                        "type": "string"
                    },
                    "channelName": {
                        "type": "string"
                    }
                }
            },
            "CParamsGoogleChatWebhookOnly": {
                "type": "object"
            },
            "MaintenanceWindow": {
                "type": "object",
                "properties": {
                    "timezone": {
                        "$ref": "#/components/schemas/TimeZone"
                    },
                    "start": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "end": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "summary": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "alertSources": {
                        "maxItems": 50,
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AlertSource"
                        }
                    },
                    "services": {
                        "maxItems": 50,
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ServiceNoIncludes"
                        }
                    },
                    "createdBy": {
                        "type": "string",
                        "readOnly": true
                    },
                    "notifications": {
                        "type": "object",
                        "properties": {
                            "atCreation": {
                                "type": "boolean"
                            },
                            "atStart": {
                                "type": "boolean"
                            },
                            "atEnd": {
                                "type": "boolean"
                            }
                        }
                    }
                }
            },
            "TeamRel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "name": {
                        "type": "string"
                    }
                }
            },
            "Team": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "name": {
                        "type": "string"
                    },
                    "visibility": {
                        "$ref": "#/components/schemas/TeamVisibilityType"
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamMember"
                        }
                    },
                    "createdAt": {
                        "type": "string",
                        "description": "Date in ISO-8601",
                        "format": "date-time"
                    },
                    "updatedAt": {
                        "type": "string",
                        "description": "Date in ISO-8601",
                        "format": "date-time"
                    }
                }
            },
            "TeamVisibilityType": {
                "type": "string",
                "enum": [
                    "PUBLIC",
                    "PRIVATE"
                ]
            },
            "TeamMember": {
                "type": "object",
                "properties": {
                    "user": {
                        "$ref": "#/components/schemas/User"
                    },
                    "role": {
                        "$ref": "#/components/schemas/TeamRole"
                    }
                }
            },
            "OnCall": {
                "type": "object",
                "properties": {
                    "user": {
                        "$ref": "#/components/schemas/User"
                    },
                    "escalationPolicy": {
                        "$ref": "#/components/schemas/EscalationPolicy"
                    },
                    "schedule": {
                        "$ref": "#/components/schemas/ScheduleRel"
                    },
                    "start": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "end": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "escalationLevel": {
                        "type": "number"
                    }
                }
            },
            "HeartbeatMonitor": {
                "type": "object",
                "required": [
                    "name",
                    "intervalSec"
                ],
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "name": {
                        "type": "string"
                    },
                    "state": {
                        "type": "string",
                        "default": "UNKNOWN",
                        "enum": [
                            "UNKNOWN",
                            "HEALTHY",
                            "OVERDUE"
                        ]
                    },
                    "intervalSec": {
                        "type": "integer",
                        "format": "int32",
                        "minimum": 25,
                        "maximum": 2678400
                    },
                    "alertSummary": {
                        "type": "string"
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "ISO-8601"
                    },
                    "updatedAt": {
                        "type": "string",
                        "format": "ISO-8601"
                    },
                    "alertSource": {
                        "$ref": "#/components/schemas/AlertSourceRel"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    },
                    "integrationKey": {
                        "type": "string"
                    },
                    "integrationUrl": {
                        "type": "string"
                    }
                }
            },
            "HeartbeatMonitorRel": {
                "type": "object",
                "required": [
                    "name",
                    "intervalSec"
                ],
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "intervalSec": {
                        "type": "integer",
                        "format": "int32",
                        "minimum": 25,
                        "maximum": 2678400,
                        "description": "We recommend using an interval between 3 and 5 minutes, while pinging every 60 seconds. Of course if you are tracking use-cases like backup jobs that run once a week, a larger timeout and less pings suffice."
                    },
                    "alertSummary": {
                        "type": "string"
                    },
                    "alertSource": {
                        "$ref": "#/components/schemas/SimpleIdField64"
                    }
                }
            },
            "HeartbeatMonitorNoIncludes": {
                "type": "object",
                "required": [
                    "name",
                    "intervalSec"
                ],
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "name": {
                        "type": "string"
                    },
                    "state": {
                        "type": "string",
                        "default": "UNKNOWN",
                        "enum": [
                            "UNKNOWN",
                            "HEALTHY",
                            "OVERDUE"
                        ]
                    },
                    "intervalSec": {
                        "type": "integer",
                        "format": "int32",
                        "minimum": 25,
                        "maximum": 2678400
                    },
                    "alertSummary": {
                        "type": "string"
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "ISO-8601"
                    },
                    "updatedAt": {
                        "type": "string",
                        "format": "ISO-8601"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    }
                }
            },
            "AlertSource": {
                "required": [
                    "escalationPolicy",
                    "integrationType",
                    "name"
                ],
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    },
                    "name": {
                        "type": "string"
                    },
                    "iconUrl": {
                        "type": "string"
                    },
                    "lightIconUrl": {
                        "type": "string"
                    },
                    "darkIconUrl": {
                        "type": "string"
                    },
                    "escalationPolicy": {
                        "$ref": "#/components/schemas/EscalationPolicy"
                    },
                    "integrationType": {
                        "$ref": "#/components/schemas/IntegrationType"
                    },
                    "integrationKey": {
                        "type": "string"
                    },
                    "integrationUrl": {
                        "type": "string",
                        "readOnly": true
                    },
                    "autoResolutionTimeout": {
                        "type": "string",
                        "format": "ISO-8601"
                    },
                    "alertGroupingWindow": {
                        "type": "string",
                        "format": "ISO-8601"
                    },
                    "alertCreation": {
                        "type": "string",
                        "default": "ONE_ALERT_PER_EMAIL",
                        "enum": [
                            "ONE_ALERT_PER_EMAIL",
                            "ONE_ALERT_PER_EMAIL_SUBJECT",
                            "ONE_PENDING_ALERT_ALLOWED",
                            "ONE_OPEN_ALERT_ALLOWED",
                            "OPEN_RESOLVE_ON_EXTRACTION",
                            "ONE_ALERT_GROUPED_PER_WINDOW",
                            "INTELLIGENT_GROUPING"
                        ]
                    },
                    "status": {
                        "type": "string",
                        "readOnly": true,
                        "enum": [
                            "PENDING",
                            "ALL_ACCEPTED",
                            "ALL_RESOLVED",
                            "IN_MAINTENANCE",
                            "DISABLED"
                        ]
                    },
                    "active": {
                        "type": "boolean",
                        "default": true
                    },
                    "alertPriorityRule": {
                        "$ref": "#/components/schemas/AlertPriorityRule"
                    },
                    "supportHours": {
                        "$ref": "#/components/schemas/SupportHour"
                    },
                    "bidirectional": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "summaryTemplate": {
                        "$ref": "#/components/schemas/AlertSourceTemplate"
                    },
                    "detailsTemplate": {
                        "$ref": "#/components/schemas/AlertSourceTemplate"
                    },
                    "routingTemplate": {
                        "$ref": "#/components/schemas/AlertSourceTemplate"
                    },
                    "linkTemplates": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AlertSourceLinkTemplate"
                        }
                    },
                    "priorityTemplate": {
                        "$ref": "#/components/schemas/AlertSourcePriorityTemplate"
                    },
                    "severityTemplate": {
                        "$ref": "#/components/schemas/AlertSourceSeverityTemplate"
                    },
                    "eventFilter": {
                        "type": "string",
                        "description": "Defines an optional event filter condition in ICL language. This is a code based implementation, more info on syntax: https://docs.ilert.com/rest-api/icl-ilert-condition-language. For block based configuration please use the web UI. It has no effect on manually created alerts. Note: this field is an ?include, it will not appear in lists."
                    },
                    "alertKeyTemplate": {
                        "$ref": "#/components/schemas/AlertSourceTemplate"
                    },
                    "servicesTemplate": {
                        "type": "array",
                        "description": "Optional list of templates that extract service identifiers from the inbound event payload. Each rendered value is comma-split, and each resulting token is resolved against the tenant's services by alias or name (case-insensitive). Unmatched tokens are silently dropped. Capped at 10 templates and at the alert's per-event services limit. Note: this field is an ?include, it will not appear in lists.",
                        "items": {
                            "$ref": "#/components/schemas/AlertSourceTemplate"
                        }
                    },
                    "eventTypeFilterCreate": {
                        "type": "string",
                        "description": "Defines an optional create alert rule in ICL language. This is a code based implementation, more info on syntax: https://docs.ilert.com/rest-api/icl-ilert-condition-language. For block based configuration please use the web UI. It has no effect on manually created alerts. Note: this field is an ?include, it will not appear in lists."
                    },
                    "eventTypeFilterAccept": {
                        "type": "string",
                        "description": "Defines an optional accept alert rule in ICL language This is a code based implementation, more info on syntax: https://docs.ilert.com/rest-api/icl-ilert-condition-language. For block based configuration please use the web UI. It has no effect on manually created alerts. Note: this field is an ?include, it will not appear in lists."
                    },
                    "eventTypeFilterResolve": {
                        "type": "string",
                        "description": "Defines an optional resolve alert rule in ICL language This is a code based implementation, more info on syntax: https://docs.ilert.com/rest-api/icl-ilert-condition-language. For block based configuration please use the web UI. It has no effect on manually created alerts. Note: this field is an ?include, it will not appear in lists."
                    },
                    "autoRaiseAlerts": {
                        "type": "boolean",
                        "description": "Only effective when a support hour is linked to this alert source."
                    },
                    "scoreThreshold": {
                        "type": "number",
                        "format": "double",
                        "description": "Only used when alertCreation is set to INTELLIGENT_GROUPING."
                    },
                    "severity": {
                        "type": "integer"
                    },
                    "services": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Service"
                        }
                    },
                    "setupStatus": {
                        "type": "string",
                        "enum": [
                            "CREATED",
                            "CREATED_ADVANCED",
                            "CREATED_BIDIRECTIONAL",
                            "FINISHED"
                        ]
                    },
                    "autoCreateServices": {
                        "type": "boolean",
                        "default": false
                    },
                    "createdAt": {
                        "type": "string",
                        "readOnly": true
                    },
                    "updatedAt": {
                        "type": "string",
                        "readOnly": true
                    }
                }
            },
            "AlertSourceTemplate": {
                "type": "object",
                "properties": {
                    "textTemplate": {
                        "type": "string",
                        "description": "For more information on alert source templating, please visit: https://docs.ilert.com/alerting/alert-sources#alert-template.\n\n Example: <br />`Hi {{ users[0].name }} there!` \n\nYou can use the text template instead of elements by adding the include `textTemplate` to your request. Any version can be used for POST or PUT requests."
                    },
                    "elements": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AlertSourceTemplateElement"
                        }
                    }
                }
            },
            "AlertSourceTemplateElement": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "TEXT",
                            "VAR",
                            "RAW"
                        ]
                    },
                    "val": {
                        "type": "string"
                    },
                    "func": {
                        "type": "string"
                    },
                    "args": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AlertSourceTemplateElementArg"
                        }
                    }
                }
            },
            "AlertSourceTemplateElementArg": {
                "type": "object",
                "properties": {
                    "S": {
                        "type": "string"
                    },
                    "N": {
                        "type": "integer"
                    }
                }
            },
            "AlertSourceLinkTemplate": {
                "required": [
                    "hrefTemplate",
                    "text"
                ],
                "type": "object",
                "properties": {
                    "text": {
                        "type": "string"
                    },
                    "hrefTemplate": {
                        "$ref": "#/components/schemas/AlertSourceTemplate"
                    }
                }
            },
            "AlertSourcePriorityTemplate": {
                "required": [
                    "mappings",
                    "valueTemplate"
                ],
                "type": "object",
                "properties": {
                    "valueTemplate": {
                        "$ref": "#/components/schemas/AlertSourceTemplate"
                    },
                    "mappings": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AlertSourcePriorityTemplateMapping"
                        }
                    }
                }
            },
            "AlertSourcePriorityTemplateMapping": {
                "required": [
                    "priority",
                    "value"
                ],
                "type": "object",
                "properties": {
                    "value": {
                        "type": "string"
                    },
                    "priority": {
                        "type": "string",
                        "enum": [
                            "LOW",
                            "HIGH"
                        ]
                    }
                }
            },
            "AlertSourceSeverityTemplate": {
                "required": [
                    "mappings",
                    "valueTemplate"
                ],
                "type": "object",
                "properties": {
                    "valueTemplate": {
                        "$ref": "#/components/schemas/AlertSourceTemplate"
                    },
                    "mappings": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AlertSourceSeverityTemplateMapping"
                        }
                    }
                }
            },
            "AlertSourceSeverityTemplateMapping": {
                "required": [
                    "severity",
                    "value"
                ],
                "type": "object",
                "properties": {
                    "value": {
                        "type": "string"
                    },
                    "severity": {
                        "type": "integer",
                        "format": "int32"
                    }
                }
            },
            "AlertSourceNoIncludes": {
                "required": [
                    "escalationPolicy",
                    "integrationType",
                    "name"
                ],
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    },
                    "name": {
                        "type": "string"
                    },
                    "iconUrl": {
                        "type": "string"
                    },
                    "lightIconUrl": {
                        "type": "string"
                    },
                    "darkIconUrl": {
                        "type": "string"
                    },
                    "escalationPolicy": {
                        "$ref": "#/components/schemas/EscalationPolicy"
                    },
                    "integrationType": {
                        "$ref": "#/components/schemas/IntegrationType"
                    },
                    "integrationKey": {
                        "type": "string"
                    },
                    "integrationUrl": {
                        "type": "string",
                        "readOnly": true
                    },
                    "autoResolutionTimeout": {
                        "type": "string",
                        "format": "ISO-8601"
                    },
                    "alertGroupingWindow": {
                        "type": "string",
                        "format": "ISO-8601"
                    },
                    "alertCreation": {
                        "type": "string",
                        "default": "ONE_ALERT_PER_EMAIL",
                        "enum": [
                            "ONE_ALERT_PER_EMAIL",
                            "ONE_ALERT_PER_EMAIL_SUBJECT",
                            "ONE_PENDING_ALERT_ALLOWED",
                            "ONE_OPEN_ALERT_ALLOWED",
                            "OPEN_RESOLVE_ON_EXTRACTION",
                            "ONE_ALERT_GROUPED_PER_WINDOW",
                            "INTELLIGENT_GROUPING"
                        ]
                    },
                    "status": {
                        "type": "string",
                        "readOnly": true,
                        "enum": [
                            "PENDING",
                            "ALL_ACCEPTED",
                            "ALL_RESOLVED",
                            "IN_MAINTENANCE",
                            "DISABLED"
                        ]
                    },
                    "active": {
                        "type": "boolean",
                        "default": true
                    },
                    "alertPriorityRule": {
                        "$ref": "#/components/schemas/AlertPriorityRule"
                    },
                    "supportHours": {
                        "$ref": "#/components/schemas/SupportHour"
                    },
                    "bidirectional": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "autoRaiseAlerts": {
                        "type": "boolean",
                        "description": "Only effective when a support hour is linked to this alert source."
                    },
                    "scoreThreshold": {
                        "type": "number",
                        "format": "double",
                        "description": "Only used when alertCreation is set to INTELLIGENT_GROUPING."
                    },
                    "severity": {
                        "type": "integer"
                    },
                    "services": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Service"
                        }
                    },
                    "createdAt": {
                        "type": "string",
                        "readOnly": true
                    },
                    "updatedAt": {
                        "type": "string",
                        "readOnly": true
                    }
                }
            },
            "AlertSourceRel": {
                "required": [
                    "escalationPolicy",
                    "integrationType",
                    "name"
                ],
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    },
                    "name": {
                        "type": "string"
                    },
                    "iconUrl": {
                        "type": "string"
                    },
                    "lightIconUrl": {
                        "type": "string"
                    },
                    "darkIconUrl": {
                        "type": "string"
                    },
                    "escalationPolicy": {
                        "$ref": "#/components/schemas/EscalationPolicy"
                    },
                    "integrationType": {
                        "$ref": "#/components/schemas/IntegrationType"
                    },
                    "integrationKey": {
                        "type": "string"
                    },
                    "integrationUrl": {
                        "type": "string",
                        "readOnly": true
                    },
                    "autoResolutionTimeout": {
                        "type": "string",
                        "format": "ISO-8601"
                    },
                    "alertGroupingWindow": {
                        "type": "string",
                        "format": "ISO-8601"
                    },
                    "alertCreation": {
                        "type": "string",
                        "default": "ONE_ALERT_PER_EMAIL",
                        "enum": [
                            "ONE_ALERT_PER_EMAIL",
                            "ONE_ALERT_PER_EMAIL_SUBJECT",
                            "ONE_PENDING_ALERT_ALLOWED",
                            "ONE_OPEN_ALERT_ALLOWED",
                            "OPEN_RESOLVE_ON_EXTRACTION",
                            "ONE_ALERT_GROUPED_PER_WINDOW",
                            "INTELLIGENT_GROUPING"
                        ]
                    },
                    "status": {
                        "type": "string",
                        "readOnly": true,
                        "enum": [
                            "PENDING",
                            "ALL_ACCEPTED",
                            "ALL_RESOLVED",
                            "IN_MAINTENANCE",
                            "DISABLED"
                        ]
                    },
                    "active": {
                        "type": "boolean",
                        "default": true
                    },
                    "alertPriorityRule": {
                        "$ref": "#/components/schemas/AlertPriorityRule"
                    },
                    "supportHours": {
                        "$ref": "#/components/schemas/SimpleIdField64"
                    },
                    "bidirectional": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "summaryTemplate": {
                        "$ref": "#/components/schemas/AlertSourceTemplate"
                    },
                    "detailsTemplate": {
                        "$ref": "#/components/schemas/AlertSourceTemplate"
                    },
                    "routingTemplate": {
                        "$ref": "#/components/schemas/AlertSourceTemplate"
                    },
                    "linkTemplates": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AlertSourceLinkTemplate"
                        }
                    },
                    "priorityTemplate": {
                        "$ref": "#/components/schemas/AlertSourcePriorityTemplate"
                    },
                    "severityTemplate": {
                        "$ref": "#/components/schemas/AlertSourceSeverityTemplate"
                    },
                    "eventFilter": {
                        "type": "string",
                        "description": "Defines an optional event filter condition in ICL language. This is a code based implementation, more info on syntax: https://docs.ilert.com/rest-api/icl-ilert-condition-language. For block based configuration please use the web UI. It has no effect on manually created alerts. Note: this field is an ?include, it will not appear in lists."
                    },
                    "alertKeyTemplate": {
                        "$ref": "#/components/schemas/AlertSourceTemplate"
                    },
                    "servicesTemplate": {
                        "type": "array",
                        "description": "Optional list of templates that extract service identifiers from the inbound event payload. Each rendered value is comma-split, and each resulting token is resolved against the tenant's services by alias or name (case-insensitive). Unmatched tokens are silently dropped. Capped at 10 templates and at the alert's per-event services limit. Note: this field is an ?include, it will not appear in lists.",
                        "items": {
                            "$ref": "#/components/schemas/AlertSourceTemplate"
                        }
                    },
                    "eventTypeFilterCreate": {
                        "type": "string",
                        "description": "Defines an optional create alert rule in ICL language. This is a code based implementation, more info on syntax: https://docs.ilert.com/rest-api/icl-ilert-condition-language. For block based configuration please use the web UI. It has no effect on manually created alerts. Note: this field is an ?include, it will not appear in lists."
                    },
                    "eventTypeFilterAccept": {
                        "type": "string",
                        "description": "Defines an optional accept alert rule in ICL language This is a code based implementation, more info on syntax: https://docs.ilert.com/rest-api/icl-ilert-condition-language. For block based configuration please use the web UI. It has no effect on manually created alerts. Note: this field is an ?include, it will not appear in lists."
                    },
                    "eventTypeFilterResolve": {
                        "type": "string",
                        "description": "Defines an optional resolve alert rule in ICL language This is a code based implementation, more info on syntax: https://docs.ilert.com/rest-api/icl-ilert-condition-language. For block based configuration please use the web UI. It has no effect on manually created alerts. Note: this field is an ?include, it will not appear in lists."
                    },
                    "autoRaiseAlerts": {
                        "type": "boolean",
                        "description": "Only effective when a support hour is linked to this alert source."
                    },
                    "scoreThreshold": {
                        "type": "number",
                        "format": "double",
                        "description": "Only used when alertCreation is set to INTELLIGENT_GROUPING."
                    },
                    "severity": {
                        "type": "integer"
                    },
                    "services": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Service"
                        }
                    },
                    "setupStatus": {
                        "type": "string",
                        "enum": [
                            "CREATED",
                            "CREATED_ADVANCED",
                            "CREATED_BIDIRECTIONAL",
                            "FINISHED"
                        ]
                    },
                    "autoCreateServices": {
                        "type": "boolean",
                        "default": false
                    },
                    "createdAt": {
                        "type": "string",
                        "readOnly": true
                    },
                    "updatedAt": {
                        "type": "string",
                        "readOnly": true
                    }
                }
            },
            "SimpleIdField64": {
                "required": [
                    "id"
                ],
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    }
                },
                "description": "For POST and PUT requests only the id field is required for sub entities, e.g. status page -> service, alert source -> support hour"
            },
            "SimpleIdFieldStr": {
                "required": [
                    "id"
                ],
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    }
                }
            },
            "ManualAlert": {
                "required": [
                    "alertSource",
                    "summary"
                ],
                "type": "object",
                "properties": {
                    "summary": {
                        "type": "string"
                    },
                    "details": {
                        "type": "string"
                    },
                    "alertSource": {
                        "$ref": "#/components/schemas/SimpleIdField64"
                    },
                    "escalationPolicy": {
                        "$ref": "#/components/schemas/SimpleIdField64"
                    },
                    "priority": {
                        "$ref": "#/components/schemas/AlertPriority"
                    },
                    "assignedTo": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "number"
                            }
                        },
                        "description": "This field (type: User) is deprecated, please use 'responders' instead"
                    },
                    "images": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EventImage"
                        }
                    },
                    "links": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EventLink"
                        }
                    },
                    "responders": {
                        "type": "array",
                        "description": "List of responders (users), only user.id is required.",
                        "items": {
                            "type": "object",
                            "properties": {
                                "user": {
                                    "$ref": "#/components/schemas/UserRel"
                                }
                            }
                        }
                    }
                }
            },
            "AlertResponder": {
                "type": "object",
                "properties": {
                    "user": {
                        "$ref": "#/components/schemas/UserRel"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "PENDING",
                            "ACCEPTED"
                        ]
                    },
                    "acceptedAt": {
                        "type": "string",
                        "format": "date-time"
                    }
                }
            },
            "Alert": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "summary": {
                        "type": "string"
                    },
                    "details": {
                        "type": "string"
                    },
                    "reportTime": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "resolvedOn": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "PENDING",
                            "ACCEPTED",
                            "RESOLVED"
                        ]
                    },
                    "alertSource": {
                        "$ref": "#/components/schemas/AlertSource"
                    },
                    "escalationPolicy": {
                        "$ref": "#/components/schemas/EscalationPolicy"
                    },
                    "priority": {
                        "$ref": "#/components/schemas/AlertPriority"
                    },
                    "alertKey": {
                        "type": "string"
                    },
                    "assignedTo": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "number"
                            }
                        },
                        "description": "This field (type: User) is deprecated, please use 'responders' instead"
                    },
                    "nextEscalation": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true
                    },
                    "escalationRules": {
                        "type": "array",
                        "readOnly": true,
                        "items": {
                            "$ref": "#/components/schemas/EscalationRule"
                        }
                    },
                    "nextEscalationUser": {
                        "$ref": "#/components/schemas/User"
                    },
                    "nextEscalationRuleIndex": {
                        "type": "number",
                        "readOnly": true
                    },
                    "images": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EventImage"
                        }
                    },
                    "links": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EventLink"
                        }
                    },
                    "responders": {
                        "type": "array",
                        "readOnly": true,
                        "items": {
                            "$ref": "#/components/schemas/AlertResponder"
                        }
                    }
                }
            },
            "EventImage": {
                "type": "object",
                "properties": {
                    "src": {
                        "type": "string"
                    },
                    "href": {
                        "type": "string"
                    },
                    "alt": {
                        "type": "string"
                    }
                }
            },
            "EventLink": {
                "type": "object",
                "properties": {
                    "href": {
                        "type": "string"
                    },
                    "text": {
                        "type": "string"
                    }
                }
            },
            "EventComment": {
                "type": "object",
                "properties": {
                    "creator": {
                        "type": "string"
                    },
                    "content": {
                        "type": "string"
                    }
                }
            },
            "EventServiceRef": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Optional service id for rare edge cases. Prefer alias."
                    },
                    "alias": {
                        "type": "string",
                        "description": "Service alias (preferred)."
                    }
                }
            },
            "SuggestedResponder": {
                "type": "object",
                "properties": {
                    "group": {
                        "type": "string",
                        "enum": [
                            "SUGGESTED",
                            "USER",
                            "ESCALATION_POLICY",
                            "ON_CALL_SCHEDULE"
                        ]
                    },
                    "id": {
                        "type": "number"
                    },
                    "name": {
                        "type": "string"
                    },
                    "disabled": {
                        "type": "boolean"
                    }
                }
            },
            "Notification": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "method": {
                        "type": "string",
                        "enum": [
                            "PUSH",
                            "VOICE",
                            "SMS",
                            "EMAIL",
                            "WHATSAPP"
                        ]
                    },
                    "target": {
                        "type": "string"
                    },
                    "subject": {
                        "type": "string"
                    },
                    "alertId": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "user": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "integer",
                                "format": "int64"
                            },
                            "firstname": {
                                "type": "string"
                            },
                            "lastname": {
                                "type": "string"
                            }
                        }
                    },
                    "notificationTime": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "SCHEDULED",
                            "SUCCESS",
                            "ERROR"
                        ]
                    },
                    "errorMessage": {
                        "type": "string",
                        "description": "An error message in case the notification status is ERROR."
                    }
                }
            },
            "LogEntry": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "timestamp": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "logEntryType": {
                        "type": "string",
                        "enum": [
                            "ConnectorAutomaticResultErrorLogEntry",
                            "ConnectorAutomaticResultLogEntry",
                            "AlertActionErrorLogEntry",
                            "AlertActionFailLogEntry",
                            "AlertActionSuccessLogEntry",
                            "AlertNotRoutedLogEntry",
                            "AlertReceivedLogEntry",
                            "AlertRoutedSuccessfulLogEntry",
                            "AlertSourceResponseLogEntry",
                            "CallLogEntry",
                            "EmailReceivedLogEntry",
                            "EmailResolvedLogEntry",
                            "FilterableLogEntryType",
                            "HeartbeatOverdueLogEntry",
                            "HeartbeatResolvedLogEntry",
                            "AlertAssignedBySystemLogEntry",
                            "AlertAssignedByUserLogEntry",
                            "AlertAssignedToPolicyLogEntry",
                            "AlertAssignedToScheduleLogEntry",
                            "AlertAutoResolvedLogEntry",
                            "AlertCommentAddedBySystemLogEntry",
                            "AlertCommentAddedLogEntry",
                            "AlertCommentPublishedLogEntry",
                            "AlertCreatedByUserLogEntry",
                            "AlertRaisedBySystemLogEntry",
                            "AlertRaisedByUserLogEntry",
                            "AlertSummaryChangedLogEntry",
                            "IncomingCallLogEntry",
                            "LowPriorityCallLog",
                            "MailboxCallLogEntry",
                            "MailboxRecordReceivedLog",
                            "MailboxTranscribedReceivedLog",
                            "NobodyOnCallLogEntry",
                            "NotificationLogEntry",
                            "ParallelCallLogEntry",
                            "PhoneNumberNotSetLogEntry",
                            "PhoneNumberBlockedLogEntry",
                            "QueueResultLogEntry",
                            "StakeholderAddedBySystemLogEntry",
                            "StakeholderAddedLogEntry",
                            "StakeholderRemovedLogEntry",
                            "StakeholderResubscribedLogEntry",
                            "StakeholderUnsubscribedLogEntry",
                            "UserResponseLogEntry",
                            "InComIncidentCreatedLogEntry",
                            "InComIncidentResolvedLogEntry",
                            "InComServiceTransitionLogEntry",
                            "InComLinkedLogEntry",
                            "InComUnlinkedLogEntry",
                            "AlertChannelAttachedByUserLogEntry",
                            "AlertChannelDetachedByUserLogEntry",
                            "AlertEscalatedToLevelLogEntry"
                        ]
                    },
                    "text": {
                        "type": "string"
                    },
                    "alertId": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "filterTypes": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LogFilterType"
                        }
                    },
                    "vars": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string"
                        }
                    }
                }
            },
            "LogFilterType": {
                "type": "string",
                "enum": [
                    "NOTIFICATIONS",
                    "ALERT_SOURCE_EVENTS",
                    "CALL_ROUTING_EVENTS",
                    "ALERT_UPDATES",
                    "CONNECTOR_EVENTS"
                ]
            },
            "SingleTimePoint": {
                "required": [
                    "value"
                ],
                "type": "object",
                "properties": {
                    "timestamp": {
                        "type": "number",
                        "description": "The unix epoch second of your time point",
                        "format": "int64"
                    },
                    "value": {
                        "type": "number",
                        "description": "Value of your time point",
                        "format": "double"
                    }
                }
            },
            "MultipleTimePoint": {
                "type": "object",
                "properties": {
                    "series": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SingleTimePoint"
                        }
                    }
                }
            },
            "SeriesOption": {
                "type": "object",
                "description": "Can either be a single time point, omitting timestamp field is allowed as it will be replaced with now() - or a series of multiple time points",
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/SingleTimePoint"
                    },
                    {
                        "$ref": "#/components/schemas/MultipleTimePoint"
                    }
                ]
            },
            "MetricAggregationType": {
                "type": "string",
                "enum": [
                    "AVG",
                    "SUM",
                    "MIN",
                    "MAX",
                    "LAST"
                ]
            },
            "MetricDisplayType": {
                "type": "string",
                "enum": [
                    "GRAPH",
                    "SINGLE"
                ]
            },
            "MetricDataSourceType": {
                "type": "string",
                "enum": [
                    "DATADOG",
                    "PROMETHEUS"
                ]
            },
            "Event": {
                "required": [
                    "integrationKey",
                    "eventType",
                    "summary"
                ],
                "type": "object",
                "properties": {
                    "integrationKey": {
                        "type": "string"
                    },
                    "eventType": {
                        "type": "string",
                        "description": "the event type",
                        "enum": [
                            "ALERT",
                            "ACCEPT",
                            "RESOLVE",
                            "COMMENT"
                        ]
                    },
                    "summary": {
                        "type": "string",
                        "description": "The event summary. Will be used as the alert summary if a new alert will be created."
                    },
                    "details": {
                        "type": "string",
                        "description": "The event details. Will be used as the alert details if a new alert will be created."
                    },
                    "alertKey": {
                        "type": "string",
                        "description": "Used to deduplicate events. If an open alert with the key already exists, the event will be appended to the alert's event log. Otherwise a new alert will be created. We will trim this value if necessary. Upper casing is allowed, however comparison is case insensitive."
                    },
                    "priority": {
                        "$ref": "#/components/schemas/AlertPriority"
                    },
                    "severity": {
                        "maximum": 5,
                        "minimum": 1,
                        "type": "integer",
                        "format": "int32",
                        "description": "Optional severity in range 1..5. Will overwrite the evaluated severity of the alert source."
                    },
                    "images": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EventImage"
                        }
                    },
                    "links": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EventLink"
                        }
                    },
                    "comments": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EventComment"
                        }
                    },
                    "labels": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string"
                        },
                        "description": "Optional key/value labels that are attached to the alert."
                    },
                    "services": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EventServiceRef"
                        },
                        "description": "Optional list of service refs. Usually pass alias; id is optional for rare edge cases."
                    },
                    "customDetails": {
                        "type": "object",
                        "additionalProperties": true
                    },
                    "routingKey": {
                        "type": "string",
                        "description": "Optional routing key that overwrites the escalation policy of the alert source for ALERT events. Must map to routingKey of escalation policy"
                    }
                }
            },
            "EventResponse": {
                "type": "object"
            },
            "CountResponse": {
                "type": "object",
                "properties": {
                    "count": {
                        "type": "integer",
                        "format": "int64"
                    }
                }
            },
            "RestError": {
                "type": "object",
                "properties": {
                    "status": {
                        "type": "integer"
                    },
                    "message": {
                        "type": "string"
                    }
                }
            },
            "AlertActionTrigger": {
                "type": "object",
                "properties": {
                    "alertActionId": {
                        "type": "string"
                    },
                    "connectorId": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "iconUrl": {
                        "type": "string"
                    },
                    "history": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AlertActionResult"
                        }
                    }
                }
            },
            "AlertActionResult": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "alertActionId": {
                        "type": "string"
                    },
                    "connectorId": {
                        "type": "string"
                    },
                    "alertId": {
                        "type": "number"
                    },
                    "success": {
                        "type": "boolean"
                    },
                    "actor": {
                        "$ref": "#/components/schemas/User"
                    }
                }
            },
            "IncidentStatus": {
                "type": "string",
                "description": "the incident status",
                "enum": [
                    "INVESTIGATING",
                    "IDENTIFIED",
                    "MONITORING",
                    "RESOLVED"
                ]
            },
            "IncidentTemplate": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "number"
                    },
                    "name": {
                        "type": "string"
                    },
                    "summary": {
                        "type": "string"
                    },
                    "status": {
                        "$ref": "#/components/schemas/IncidentStatus"
                    },
                    "message": {
                        "type": "string"
                    },
                    "sendNotification": {
                        "type": "boolean"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    }
                }
            },
            "ServiceStatus": {
                "type": "string",
                "description": "the service status",
                "enum": [
                    "OPERATIONAL",
                    "UNDER_MAINTENANCE",
                    "DEGRADED",
                    "PARTIAL_OUTAGE",
                    "MAJOR_OUTAGE"
                ]
            },
            "ServiceOutage": {
                "type": "object",
                "properties": {
                    "status": {
                        "$ref": "#/components/schemas/ServiceStatus"
                    },
                    "from": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "until": {
                        "type": "string",
                        "format": "date-time"
                    }
                }
            },
            "ServiceOutageOverride": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "service": {
                        "$ref": "#/components/schemas/ServiceNoIncludes"
                    },
                    "status": {
                        "$ref": "#/components/schemas/ServiceStatus"
                    },
                    "from": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "until": {
                        "type": "string",
                        "format": "date-time"
                    }
                }
            },
            "ServiceUptimePercentage": {
                "type": "object",
                "properties": {
                    "uptimePercentage": {
                        "type": "object",
                        "properties": {
                            "p90": {
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number",
                                "format": "float",
                                "readOnly": true
                            },
                            "p60": {
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number",
                                "format": "float",
                                "readOnly": true
                            },
                            "p30": {
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number",
                                "format": "float",
                                "readOnly": true
                            }
                        }
                    }
                }
            },
            "ServiceUptime": {
                "type": "object",
                "properties": {
                    "rangeStart": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "rangeEnd": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "outages": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ServiceOutage"
                        }
                    },
                    "uptimePercentage": {
                        "$ref": "#/components/schemas/ServiceUptimePercentage"
                    }
                }
            },
            "Service": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "number"
                    },
                    "name": {
                        "type": "string"
                    },
                    "alias": {
                        "type": "string"
                    },
                    "status": {
                        "$ref": "#/components/schemas/ServiceStatus"
                    },
                    "description": {
                        "type": "string"
                    },
                    "oneOpenIncidentOnly": {
                        "type": "boolean"
                    },
                    "showUptimeHistory": {
                        "type": "boolean"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    },
                    "subscribed": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "uptime": {
                        "$ref": "#/components/schemas/ServiceUptime"
                    },
                    "incidents": {
                        "type": "array",
                        "description": "Note that this only contains the latest 10 unresolved incidents, use /api/incidents?service=x if more or specific results are needed",
                        "readOnly": true,
                        "items": {
                            "$ref": "#/components/schemas/IncidentNoIncludes"
                        }
                    }
                }
            },
            "ServiceUptimeOnly": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "number"
                    },
                    "name": {
                        "type": "string"
                    },
                    "status": {
                        "$ref": "#/components/schemas/ServiceStatus"
                    },
                    "description": {
                        "type": "string"
                    },
                    "oneOpenIncidentOnly": {
                        "type": "boolean"
                    },
                    "showUptimeHistory": {
                        "type": "boolean"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    },
                    "uptime": {
                        "$ref": "#/components/schemas/ServiceUptime"
                    }
                }
            },
            "ServiceNoIncludes": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "number"
                    },
                    "name": {
                        "type": "string"
                    },
                    "alias": {
                        "type": "string"
                    },
                    "status": {
                        "$ref": "#/components/schemas/ServiceStatus"
                    },
                    "description": {
                        "type": "string"
                    },
                    "oneOpenIncidentOnly": {
                        "type": "boolean"
                    },
                    "showUptimeHistory": {
                        "type": "boolean"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    }
                }
            },
            "Incident": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "number"
                    },
                    "summary": {
                        "type": "string"
                    },
                    "status": {
                        "$ref": "#/components/schemas/IncidentStatus"
                    },
                    "message": {
                        "type": "string"
                    },
                    "sendNotification": {
                        "type": "boolean"
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updatedAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "affectedServices": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "impact": {
                                    "$ref": "#/components/schemas/ServiceStatus"
                                },
                                "service": {
                                    "$ref": "#/components/schemas/ServiceNoIncludes"
                                }
                            }
                        }
                    },
                    "resolvedOn": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true
                    },
                    "subscribed": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "affectedTeams": {
                        "type": "array",
                        "readOnly": true,
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    }
                }
            },
            "IncidentUpdate": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "content": {
                        "type": "string"
                    },
                    "creator": {
                        "$ref": "#/components/schemas/UserRel"
                    },
                    "incidentStatus": {
                        "$ref": "#/components/schemas/IncidentStatus"
                    },
                    "sendNotification": {
                        "type": "boolean"
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time"
                    }
                }
            },
            "IncidentWithHistory": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "number"
                    },
                    "summary": {
                        "type": "string"
                    },
                    "status": {
                        "$ref": "#/components/schemas/IncidentStatus"
                    },
                    "message": {
                        "type": "string"
                    },
                    "sendNotification": {
                        "type": "boolean"
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updatedAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "history": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/IncidentUpdate"
                        }
                    },
                    "affectedServices": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "impact": {
                                    "$ref": "#/components/schemas/ServiceStatus"
                                },
                                "service": {
                                    "$ref": "#/components/schemas/ServiceNoIncludes"
                                }
                            }
                        }
                    },
                    "resolvedOn": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true
                    },
                    "subscribed": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "affectedTeams": {
                        "type": "array",
                        "readOnly": true,
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    }
                }
            },
            "IncidentNoIncludes": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "number"
                    },
                    "summary": {
                        "type": "string"
                    },
                    "status": {
                        "$ref": "#/components/schemas/IncidentStatus"
                    },
                    "message": {
                        "type": "string"
                    },
                    "sendNotification": {
                        "type": "boolean"
                    },
                    "createdAt": {
                        "type": "string",
                        "description": "May be overwritten during the creation of the incident, otherwise read-only",
                        "format": "date-time"
                    },
                    "updatedAt": {
                        "type": "string",
                        "description": "May be overwritten during the creation of the incident, otherwise read-only",
                        "format": "date-time"
                    },
                    "affectedServices": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "impact": {
                                    "$ref": "#/components/schemas/ServiceStatus"
                                },
                                "service": {
                                    "$ref": "#/components/schemas/ServiceNoIncludes"
                                }
                            }
                        }
                    },
                    "resolvedOn": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true
                    }
                }
            },
            "UIMenuItem": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "number"
                    },
                    "label": {
                        "type": "string"
                    }
                }
            },
            "TeamUserOption": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "number"
                    },
                    "name": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "USER",
                            "TEAM"
                        ]
                    }
                }
            },
            "StatusPageGroup": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "number"
                    },
                    "name": {
                        "type": "string"
                    }
                }
            },
            "StatusPageNoIncludes": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "number"
                    },
                    "name": {
                        "type": "string"
                    },
                    "domain": {
                        "type": "string"
                    },
                    "subdomain": {
                        "type": "string"
                    },
                    "timezone": {
                        "$ref": "#/components/schemas/TimeZone"
                    },
                    "faviconUrl": {
                        "type": "string"
                    },
                    "logoUrl": {
                        "type": "string"
                    },
                    "visibility": {
                        "type": "string",
                        "enum": [
                            "PRIVATE",
                            "PUBLIC"
                        ]
                    },
                    "hiddenFromSearch": {
                        "type": "boolean"
                    },
                    "showSubscribeAction": {
                        "type": "boolean"
                    },
                    "showIncidentHistoryOption": {
                        "type": "boolean"
                    },
                    "pageTitle": {
                        "type": "string"
                    },
                    "pageDescription": {
                        "type": "string"
                    },
                    "pageLayout": {
                        "type": "string",
                        "enum": [
                            "SINGLE_COLUMN",
                            "RESPONSIVE"
                        ]
                    },
                    "logoRedirectUrl": {
                        "type": "string"
                    },
                    "activated": {
                        "type": "boolean"
                    },
                    "status": {
                        "$ref": "#/components/schemas/ServiceStatus"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    },
                    "services": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ServiceNoIncludes"
                        }
                    },
                    "metrics": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MetricNoIncludes"
                        }
                    },
                    "ipWhitelist": {
                        "type": "array",
                        "description": "ipv4 or ipv6 addresses to give access to. Can only be set on 'PRIVATE' status pages",
                        "items": {
                            "type": "string"
                        }
                    },
                    "structure": {
                        "$ref": "#/components/schemas/StatusPageStructure"
                    },
                    "appearance": {
                        "type": "string",
                        "enum": [
                            "LIGHT",
                            "DARK"
                        ]
                    }
                }
            },
            "StatusPageElement": {
                "required": [
                    "id",
                    "type"
                ],
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The id of the service or group that this element references",
                        "format": "int64"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "SERVICE",
                            "GROUP"
                        ]
                    },
                    "options": {
                        "type": "string",
                        "description": "Note: 'expand' can only be set when type is 'SERVICE', 'no-graph' can only be set when type is 'GROUP'",
                        "enum": [
                            "expand",
                            "no-graph"
                        ]
                    },
                    "children": {
                        "type": "array",
                        "description": "Optional children of this element. Note: children may only be added to elements of type 'GROUP'",
                        "items": {
                            "$ref": "#/components/schemas/StatusPageElement"
                        }
                    }
                }
            },
            "StatusPageStructure": {
                "type": "object",
                "properties": {
                    "elements": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/StatusPageElement"
                        }
                    }
                },
                "description": "This field is not available in the list resource. Describes the structure of a status page. Allows for nesting children. It is not required unless groups are used."
            },
            "StatusPage": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "number"
                    },
                    "name": {
                        "type": "string"
                    },
                    "domain": {
                        "type": "string"
                    },
                    "subdomain": {
                        "type": "string"
                    },
                    "timezone": {
                        "$ref": "#/components/schemas/TimeZone"
                    },
                    "faviconUrl": {
                        "type": "string"
                    },
                    "logoUrl": {
                        "type": "string"
                    },
                    "visibility": {
                        "type": "string",
                        "enum": [
                            "PRIVATE",
                            "PUBLIC"
                        ]
                    },
                    "hiddenFromSearch": {
                        "type": "boolean"
                    },
                    "showSubscribeAction": {
                        "type": "boolean"
                    },
                    "showIncidentHistoryOption": {
                        "type": "boolean"
                    },
                    "pageTitle": {
                        "type": "string"
                    },
                    "pageDescription": {
                        "type": "string"
                    },
                    "pageLayout": {
                        "type": "string",
                        "enum": [
                            "SINGLE_COLUMN",
                            "RESPONSIVE"
                        ]
                    },
                    "logoRedirectUrl": {
                        "type": "string"
                    },
                    "activated": {
                        "type": "boolean"
                    },
                    "status": {
                        "$ref": "#/components/schemas/ServiceStatus"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    },
                    "services": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ServiceUptimeOnly"
                        }
                    },
                    "metrics": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MetricNoIncludes"
                        }
                    },
                    "ipWhitelist": {
                        "type": "array",
                        "description": "ipv4 or ipv6 addresses to give access to. Can only be set on 'PRIVATE' status pages",
                        "items": {
                            "type": "string"
                        }
                    },
                    "structure": {
                        "$ref": "#/components/schemas/StatusPageStructure"
                    },
                    "subscribed": {
                        "type": "boolean",
                        "description": "This is an include field, it is not available in the list resource",
                        "readOnly": true
                    },
                    "groups": {
                        "type": "array",
                        "description": "This is an include field, it is not available in the list resource. Read-only, use the sub resource to manipulate groups.",
                        "readOnly": true,
                        "items": {
                            "$ref": "#/components/schemas/StatusPageGroup"
                        }
                    },
                    "appearance": {
                        "type": "string",
                        "enum": [
                            "LIGHT",
                            "DARK"
                        ]
                    },
                    "announcement": {
                        "type": "string",
                        "description": "This is an include field, it is not available in the list resource"
                    },
                    "announcementOnPage": {
                        "type": "boolean",
                        "description": "If the announcement should be displayed on the status page"
                    },
                    "announcementInWidget": {
                        "type": "boolean",
                        "description": "If the announcement should be displayed in the popup widget"
                    },
                    "audienceSpecific": {
                        "type": "boolean",
                        "default": false,
                        "description": "If a private status page should move into audience specific mode"
                    }
                }
            },
            "StatusPageList": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "number"
                    },
                    "name": {
                        "type": "string"
                    },
                    "domain": {
                        "type": "string"
                    },
                    "subdomain": {
                        "type": "string"
                    },
                    "timezone": {
                        "$ref": "#/components/schemas/TimeZone"
                    },
                    "faviconUrl": {
                        "type": "string"
                    },
                    "logoUrl": {
                        "type": "string"
                    },
                    "visibility": {
                        "type": "string",
                        "enum": [
                            "PRIVATE",
                            "PUBLIC"
                        ]
                    },
                    "hiddenFromSearch": {
                        "type": "boolean"
                    },
                    "showSubscribeAction": {
                        "type": "boolean"
                    },
                    "showIncidentHistoryOption": {
                        "type": "boolean"
                    },
                    "pageTitle": {
                        "type": "string"
                    },
                    "pageDescription": {
                        "type": "string"
                    },
                    "logoRedirectUrl": {
                        "type": "string"
                    },
                    "activated": {
                        "type": "boolean"
                    },
                    "status": {
                        "$ref": "#/components/schemas/ServiceStatus"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    },
                    "services": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ServiceUptimeOnly"
                        }
                    },
                    "metrics": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MetricNoIncludes"
                        }
                    },
                    "ipWhitelist": {
                        "type": "array",
                        "description": "ipv4 or ipv6 addresses to give access to. Can only be set on 'PRIVATE' status pages",
                        "items": {
                            "type": "string"
                        }
                    },
                    "subscribed": {
                        "type": "boolean",
                        "description": "This is an include field, it is not available in the list resource",
                        "readOnly": true
                    },
                    "announcement": {
                        "type": "string",
                        "description": "This is an include field, it is not available in the list resource"
                    },
                    "announcementOnPage": {
                        "type": "boolean",
                        "description": "If the announcement should be displayed on the status page"
                    },
                    "announcementInWidget": {
                        "type": "boolean",
                        "description": "If the announcement should be displayed in the popup widget"
                    },
                    "audienceSpecific": {
                        "type": "boolean",
                        "default": false,
                        "description": "If a private status page should move into audience specific mode"
                    }
                }
            },
            "MParamsDatadog": {
                "required": [
                    "apiKey",
                    "applicationKey",
                    "region"
                ],
                "type": "object",
                "properties": {
                    "region": {
                        "type": "string"
                    },
                    "apiKey": {
                        "type": "string"
                    },
                    "applicationKey": {
                        "type": "string"
                    }
                }
            },
            "MParamsPrometheus": {
                "required": [
                    "authType",
                    "url"
                ],
                "type": "object",
                "properties": {
                    "url": {
                        "type": "string"
                    },
                    "authType": {
                        "type": "string",
                        "enum": [
                            "NONE",
                            "BASIC",
                            "HEADER"
                        ]
                    },
                    "basicUser": {
                        "type": "string",
                        "description": "Optional, required for 'BASIC'"
                    },
                    "basicPass": {
                        "type": "string",
                        "description": "Optional, required for 'BASIC'"
                    },
                    "headerKey": {
                        "type": "string",
                        "description": "Optional, required for 'HEADER'"
                    },
                    "headerValue": {
                        "type": "string",
                        "description": "Optional, required for 'HEADER'"
                    }
                }
            },
            "MetricDataSourceMetadata": {
                "type": "object",
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/MParamsDatadog"
                    },
                    {
                        "$ref": "#/components/schemas/MParamsPrometheus"
                    }
                ]
            },
            "MetricDataSource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "number"
                    },
                    "name": {
                        "type": "string"
                    },
                    "type": {
                        "$ref": "#/components/schemas/MetricDataSourceType"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    },
                    "metadata": {
                        "$ref": "#/components/schemas/MetricDataSourceMetadata"
                    }
                }
            },
            "MetricDataSourcePost": {
                "required": [
                    "metadata",
                    "name",
                    "type"
                ],
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "type": {
                        "$ref": "#/components/schemas/MetricDataSourceType"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    },
                    "metadata": {
                        "$ref": "#/components/schemas/MetricDataSourceMetadata"
                    }
                }
            },
            "MetricDataSourceNoIncludes": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "number"
                    },
                    "name": {
                        "type": "string"
                    },
                    "type": {
                        "$ref": "#/components/schemas/MetricDataSourceType"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    }
                }
            },
            "MDataDogMetadata": {
                "required": [
                    "query"
                ],
                "type": "object",
                "properties": {
                    "query": {
                        "type": "string"
                    }
                }
            },
            "MPrometheusMetadata": {
                "required": [
                    "query"
                ],
                "type": "object",
                "properties": {
                    "query": {
                        "type": "string"
                    }
                }
            },
            "MetricMetadata": {
                "type": "object",
                "description": "Only required if the metric has a dataSource. You may not change this after creation.",
                "default": "null",
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/MDataDogMetadata"
                    },
                    {
                        "$ref": "#/components/schemas/MPrometheusMetadata"
                    }
                ]
            },
            "MetricList": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "number"
                    },
                    "name": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "aggregationType": {
                        "$ref": "#/components/schemas/MetricAggregationType"
                    },
                    "displayType": {
                        "$ref": "#/components/schemas/MetricDisplayType"
                    },
                    "interpolateGaps": {
                        "type": "boolean",
                        "default": false
                    },
                    "lockYAxisMax": {
                        "type": "number",
                        "format": "double"
                    },
                    "lockYAxisMin": {
                        "type": "number",
                        "format": "double"
                    },
                    "mouseOverDecimal": {
                        "maximum": 6,
                        "minimum": 0,
                        "type": "number",
                        "format": "int32"
                    },
                    "showValuesOnMouseOver": {
                        "type": "boolean",
                        "default": false
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    },
                    "unitLabel": {
                        "type": "string"
                    },
                    "integrationKey": {
                        "type": "string"
                    },
                    "dataSource": {
                        "$ref": "#/components/schemas/MetricDataSourceNoIncludes"
                    }
                }
            },
            "Metric": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "number"
                    },
                    "name": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "aggregationType": {
                        "$ref": "#/components/schemas/MetricAggregationType"
                    },
                    "displayType": {
                        "$ref": "#/components/schemas/MetricDisplayType"
                    },
                    "interpolateGaps": {
                        "type": "boolean",
                        "default": false
                    },
                    "lockYAxisMax": {
                        "type": "number",
                        "format": "double"
                    },
                    "lockYAxisMin": {
                        "type": "number",
                        "format": "double"
                    },
                    "mouseOverDecimal": {
                        "maximum": 6,
                        "minimum": 0,
                        "type": "number",
                        "format": "int32"
                    },
                    "showValuesOnMouseOver": {
                        "type": "boolean",
                        "default": false
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    },
                    "unitLabel": {
                        "type": "string"
                    },
                    "integrationKey": {
                        "type": "string"
                    },
                    "metadata": {
                        "$ref": "#/components/schemas/MetricMetadata"
                    },
                    "dataSource": {
                        "$ref": "#/components/schemas/MetricDataSource"
                    }
                }
            },
            "MetricNoIncludes": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "number"
                    },
                    "name": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "aggregationType": {
                        "$ref": "#/components/schemas/MetricAggregationType"
                    },
                    "displayType": {
                        "$ref": "#/components/schemas/MetricDisplayType"
                    },
                    "interpolateGaps": {
                        "type": "boolean",
                        "default": false
                    },
                    "lockYAxisMax": {
                        "type": "number",
                        "format": "double"
                    },
                    "lockYAxisMin": {
                        "type": "number",
                        "format": "double"
                    },
                    "mouseOverDecimal": {
                        "maximum": 6,
                        "minimum": 0,
                        "type": "number",
                        "format": "int32"
                    },
                    "showValuesOnMouseOver": {
                        "type": "boolean",
                        "default": false
                    },
                    "unitLabel": {
                        "type": "string"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    }
                }
            },
            "MetricPost": {
                "required": [
                    "aggregationType",
                    "displayType",
                    "name"
                ],
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "aggregationType": {
                        "$ref": "#/components/schemas/MetricAggregationType"
                    },
                    "displayType": {
                        "$ref": "#/components/schemas/MetricDisplayType"
                    },
                    "interpolateGaps": {
                        "type": "boolean",
                        "default": false
                    },
                    "lockYAxisMax": {
                        "type": "number",
                        "format": "double"
                    },
                    "lockYAxisMin": {
                        "type": "number",
                        "format": "double"
                    },
                    "mouseOverDecimal": {
                        "maximum": 6,
                        "minimum": 0,
                        "type": "number",
                        "format": "int32"
                    },
                    "showValuesOnMouseOver": {
                        "type": "boolean",
                        "default": false
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    },
                    "unitLabel": {
                        "type": "string"
                    },
                    "metadata": {
                        "$ref": "#/components/schemas/MetricMetadata"
                    },
                    "dataSource": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "number",
                                "description": "dataSource is required when providing metadata"
                            }
                        }
                    }
                }
            },
            "DeploymentPipeline": {
                "type": "object",
                "required": [
                    "name",
                    "integrationType"
                ],
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "name": {
                        "type": "string"
                    },
                    "integrationType": {
                        "type": "string"
                    },
                    "integrationKey": {
                        "type": "string"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true
                    },
                    "updatedAt": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true
                    },
                    "params": {
                        "$ref": "#/components/schemas/DeploymentPipelineParams"
                    },
                    "integrationUrl": {
                        "type": "string"
                    }
                }
            },
            "DeploymentPipelineParams": {
                "type": "object",
                "description": "Dynamic params based on the chosen integration type of the pipeline",
                "default": "null",
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/DPipeAPIParams"
                    },
                    {
                        "$ref": "#/components/schemas/DPipeGithubParams"
                    }
                ]
            },
            "DPipeGithubParams": {
                "type": "object",
                "description": "Deployment pipeline Github integration params",
                "properties": {
                    "branchFilters": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "eventFilters": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "DPipeAPIParams": {
                "type": "object",
                "description": "Deployment pipeline API integration params",
                "default": null,
                "properties": {}
            },
            "DeploymentEvent": {
                "type": "object",
                "required": [
                    "integrationKey",
                    "summary"
                ],
                "properties": {
                    "integrationKey": {
                        "type": "string"
                    },
                    "summary": {
                        "type": "string"
                    },
                    "timestamp": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "userEmail": {
                        "description": "Optional email used to map the event to a specific user in ilert",
                        "type": "string",
                        "format": "email"
                    },
                    "customDetails": {
                        "type": "object",
                        "additionalProperties": true
                    },
                    "links": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EventLink"
                        }
                    }
                }
            },
            "DynamicValue": {
                "nullable": true,
                "oneOf": [
                    {
                        "type": "string"
                    },
                    {
                        "type": "number"
                    },
                    {
                        "type": "boolean"
                    },
                    {
                        "type": "object",
                        "additionalProperties": true
                    },
                    {
                        "type": "array",
                        "items": {}
                    }
                ]
            },
            "EventFlow": {
                "type": "object",
                "required": [
                    "name",
                    "root"
                ],
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "name": {
                        "type": "string"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    },
                    "root": {
                        "$ref": "#/components/schemas/EventFlowNode"
                    }
                }
            },
            "EventFlowListItem": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "name": {
                        "type": "string"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    }
                }
            },
            "EventFlowNode": {
                "type": "object",
                "required": [
                    "nodeType"
                ],
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "name": {
                        "type": "string"
                    },
                    "nodeType": {
                        "type": "string",
                        "enum": [
                            "ROOT",
                            "SUPPORT_HOURS",
                            "ROUTE_EVENT",
                            "DEFINE_BRANCHES",
                            "WAIT",
                            "TRANSFORM"
                        ]
                    },
                    "metadata": {
                        "$ref": "#/components/schemas/EventFlowNodeMetadata"
                    },
                    "branches": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EventFlowBranch"
                        }
                    }
                }
            },
            "EventFlowBranch": {
                "type": "object",
                "required": [
                    "branchType"
                ],
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "branchType": {
                        "type": "string",
                        "enum": [
                            "BRANCH",
                            "CATCH_ALL",
                            "ACCEPTED"
                        ]
                    },
                    "condition": {
                        "type": "string"
                    },
                    "target": {
                        "$ref": "#/components/schemas/EventFlowNode"
                    }
                }
            },
            "EventFlowNodeMetadata": {
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/EventFlowNodeMetadataSupportHours"
                    },
                    {
                        "$ref": "#/components/schemas/EventFlowNodeMetadataRouteEvent"
                    },
                    {
                        "$ref": "#/components/schemas/EventFlowNodeMetadataDefineBranches"
                    },
                    {
                        "$ref": "#/components/schemas/EventFlowNodeMetadataWait"
                    },
                    {
                        "$ref": "#/components/schemas/EventFlowNodeMetadataTransform"
                    }
                ]
            },
            "EventFlowNodeMetadataSupportHours": {
                "type": "object",
                "required": [
                    "supportHoursId"
                ],
                "properties": {
                    "supportHoursId": {
                        "type": "integer",
                        "format": "int64"
                    }
                }
            },
            "EventFlowNodeMetadataRouteEvent": {
                "type": "object",
                "required": [
                    "alertSourceId"
                ],
                "properties": {
                    "alertSourceId": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "overwritePriority": {
                        "type": "string",
                        "enum": [
                            "HIGH",
                            "LOW"
                        ]
                    },
                    "escalationPolicyId": {
                        "type": "integer",
                        "format": "int64"
                    }
                }
            },
            "EventFlowNodeMetadataDefineBranches": {
                "type": "object",
                "properties": {
                    "definitions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EventFlowNodeDefinition"
                        }
                    }
                }
            },
            "EventFlowNodeMetadataWait": {
                "type": "object",
                "properties": {
                    "waitForDuration": {
                        "type": "string"
                    },
                    "waitStartSupportHoursId": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "waitEndSupportHoursId": {
                        "type": "integer",
                        "format": "int64"
                    }
                }
            },
            "EventFlowNodeMetadataTransform": {
                "type": "object",
                "properties": {
                    "condition": {
                        "type": "string"
                    },
                    "rules": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EventFlowNodeRule"
                        }
                    }
                }
            },
            "EventFlowNodeDefinition": {
                "type": "object",
                "required": [
                    "branchName"
                ],
                "properties": {
                    "branchName": {
                        "type": "string"
                    },
                    "conditions": {
                        "type": "string"
                    }
                }
            },
            "EventFlowNodeRule": {
                "type": "object",
                "required": [
                    "name",
                    "target",
                    "operator"
                ],
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "target": {
                        "type": "string"
                    },
                    "operator": {
                        "type": "string",
                        "enum": [
                            "SET",
                            "COPY",
                            "MAP",
                            "TEMPLATE",
                            "MERGE",
                            "APPEND_ARRAY"
                        ]
                    },
                    "value": {
                        "$ref": "#/components/schemas/DynamicValue"
                    },
                    "source": {
                        "type": "string"
                    },
                    "mapping": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string",
                            "nullable": true
                        }
                    },
                    "default": {
                        "$ref": "#/components/schemas/DynamicValue"
                    },
                    "properties": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string",
                            "nullable": true
                        }
                    },
                    "items": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string",
                                "nullable": true
                            }
                        }
                    }
                }
            },
            "CallFlow": {
                "type": "object",
                "required": [
                    "name",
                    "language",
                    "root"
                ],
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "name": {
                        "type": "string"
                    },
                    "language": {
                        "type": "string",
                        "enum": [
                            "de",
                            "en"
                        ]
                    },
                    "assignedNumber": {
                        "$ref": "#/components/schemas/CallFlowNumber"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    },
                    "root": {
                        "$ref": "#/components/schemas/CallFlowNode"
                    }
                }
            },
            "CallFlowListItem": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "name": {
                        "type": "string"
                    },
                    "assignedNumber": {
                        "$ref": "#/components/schemas/CallFlowNumber"
                    },
                    "teams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TeamRel"
                        }
                    }
                }
            },
            "CallFlowNode": {
                "type": "object",
                "required": [
                    "nodeType"
                ],
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "name": {
                        "type": "string"
                    },
                    "nodeType": {
                        "type": "string",
                        "enum": [
                            "ROOT",
                            "IVR_MENU",
                            "AUDIO_MESSAGE",
                            "SUPPORT_HOURS",
                            "ROUTE_CALL",
                            "PARALLEL_ROUTE_CALL",
                            "VOICEMAIL",
                            "PIN_CODE",
                            "CREATE_ALERT",
                            "BLOCK_NUMBERS",
                            "AGENTIC"
                        ]
                    },
                    "metadata": {
                        "$ref": "#/components/schemas/CallFlowNodeMetadata"
                    },
                    "branches": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/CallFlowBranch"
                        }
                    }
                }
            },
            "CallFlowBranch": {
                "type": "object",
                "required": [
                    "branchType"
                ],
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "branchType": {
                        "type": "string",
                        "enum": [
                            "BRANCH",
                            "CATCH_ALL",
                            "ANSWERED"
                        ]
                    },
                    "condition": {
                        "type": "string"
                    },
                    "target": {
                        "$ref": "#/components/schemas/CallFlowNode"
                    }
                }
            },
            "CallFlowNumber": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "name": {
                        "type": "string"
                    },
                    "phoneNumber": {
                        "$ref": "#/components/schemas/PhoneNumber"
                    }
                }
            },
            "CallFlowNumberDetails": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "name": {
                        "type": "string"
                    },
                    "state": {
                        "$ref": "#/components/schemas/CallFlowNumberState"
                    },
                    "phoneNumber": {
                        "$ref": "#/components/schemas/PhoneNumber"
                    },
                    "assignedTo": {
                        "$ref": "#/components/schemas/CallFlowNumberAssignedTo"
                    }
                }
            },
            "CallFlowNumberAssignedTo": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "name": {
                        "type": "string"
                    }
                }
            },
            "CallFlowNumberState": {
                "type": "string",
                "enum": [
                    "AVAILABLE",
                    "USED"
                ]
            },
            "PhoneNumber": {
                "type": "object",
                "properties": {
                    "regionCode": {
                        "type": "string"
                    },
                    "number": {
                        "type": "string"
                    }
                }
            },
            "CallFlowNodeMetadata": {
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/CallFlowNodeMetadataAudioMessage"
                    },
                    {
                        "$ref": "#/components/schemas/CallFlowNodeMetadataIvrMenu"
                    },
                    {
                        "$ref": "#/components/schemas/CallFlowNodeMetadataVoicemail"
                    },
                    {
                        "$ref": "#/components/schemas/CallFlowNodeMetadataPinCode"
                    },
                    {
                        "$ref": "#/components/schemas/CallFlowNodeMetadataSupportHours"
                    },
                    {
                        "$ref": "#/components/schemas/CallFlowNodeMetadataRouteCall"
                    },
                    {
                        "$ref": "#/components/schemas/CallFlowNodeMetadataCreateAlert"
                    },
                    {
                        "$ref": "#/components/schemas/CallFlowNodeMetadataBlockNumbers"
                    },
                    {
                        "$ref": "#/components/schemas/CallFlowNodeMetadataAgentic"
                    }
                ]
            },
            "CallFlowNodeMetadataAudioMessage": {
                "type": "object",
                "properties": {
                    "textMessage": {
                        "type": "string"
                    },
                    "customAudioUrl": {
                        "type": "string"
                    },
                    "language": {
                        "type": "string",
                        "enum": [
                            "en",
                            "de",
                            "fr",
                            "es",
                            "nl",
                            "ru",
                            "it"
                        ]
                    },
                    "aiVoiceModel": {
                        "type": "string",
                        "enum": [
                            "emma",
                            "liam",
                            "isabelle",
                            "gordon",
                            "ivy",
                            "ellen"
                        ]
                    }
                }
            },
            "CallFlowNodeMetadataIvrMenu": {
                "type": "object",
                "required": [
                    "enabledOptions"
                ],
                "properties": {
                    "textMessage": {
                        "type": "string"
                    },
                    "customAudioUrl": {
                        "type": "string"
                    },
                    "enabledOptions": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "aiVoiceModel": {
                        "type": "string",
                        "enum": [
                            "emma",
                            "liam",
                            "isabelle",
                            "gordon",
                            "ivy",
                            "ellen"
                        ]
                    },
                    "language": {
                        "type": "string",
                        "enum": [
                            "en",
                            "de",
                            "fr",
                            "es",
                            "nl",
                            "ru",
                            "it"
                        ]
                    },
                    "retries": {
                        "type": "integer",
                        "format": "int64"
                    }
                }
            },
            "CallFlowNodeMetadataVoicemail": {
                "type": "object",
                "properties": {
                    "textMessage": {
                        "type": "string"
                    },
                    "customAudioUrl": {
                        "type": "string"
                    },
                    "language": {
                        "type": "string",
                        "enum": [
                            "en",
                            "de",
                            "fr",
                            "es",
                            "nl",
                            "ru",
                            "it"
                        ]
                    },
                    "aiVoiceModel": {
                        "type": "string",
                        "enum": [
                            "emma",
                            "liam",
                            "isabelle",
                            "gordon",
                            "ivy",
                            "ellen"
                        ]
                    },
                    "disableTranscription": {
                        "type": "boolean"
                    }
                }
            },
            "CallFlowNodeMetadataPinCode": {
                "type": "object",
                "required": [
                    "codes"
                ],
                "properties": {
                    "textMessage": {
                        "type": "string"
                    },
                    "customAudioUrl": {
                        "type": "string"
                    },
                    "codes": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/CallFlowNodeMetadataCode"
                        }
                    },
                    "language": {
                        "type": "string",
                        "enum": [
                            "en",
                            "de",
                            "fr",
                            "es",
                            "nl",
                            "ru",
                            "it"
                        ]
                    },
                    "retries": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "aiVoiceModel": {
                        "type": "string",
                        "enum": [
                            "emma",
                            "liam",
                            "isabelle",
                            "gordon",
                            "ivy",
                            "ellen"
                        ]
                    }
                }
            },
            "CallFlowNodeMetadataSupportHours": {
                "type": "object",
                "required": [
                    "supportHoursId"
                ],
                "properties": {
                    "supportHoursId": {
                        "type": "integer",
                        "format": "int64"
                    }
                }
            },
            "CallFlowNodeMetadataRouteCall": {
                "type": "object",
                "required": [
                    "targets"
                ],
                "properties": {
                    "holdAudioUrl": {
                        "type": "string"
                    },
                    "targets": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/CallFlowNodeMetadataCallTarget"
                        }
                    },
                    "callStyle": {
                        "type": "string",
                        "enum": [
                            "ORDERED",
                            "RANDOM",
                            "PARALLEL"
                        ]
                    },
                    "retries": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "callTimeoutSec": {
                        "type": "integer",
                        "format": "int64"
                    }
                }
            },
            "CallFlowNodeMetadataCreateAlert": {
                "type": "object",
                "required": [
                    "alertSourceId"
                ],
                "properties": {
                    "alertSourceId": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "acceptAlertOnAnswer": {
                        "type": "boolean"
                    }
                }
            },
            "CallFlowNodeMetadataBlockNumbers": {
                "type": "object",
                "required": [
                    "blacklist"
                ],
                "properties": {
                    "blacklist": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "CallFlowNodeMetadataAgentic": {
                "type": "object",
                "required": [
                    "textMessage",
                    "intents"
                ],
                "properties": {
                    "textMessage": {
                        "type": "string"
                    },
                    "customAudioUrl": {
                        "type": "string"
                    },
                    "language": {
                        "type": "string",
                        "enum": [
                            "en",
                            "de",
                            "fr",
                            "es",
                            "nl",
                            "ru",
                            "it"
                        ]
                    },
                    "aiVoiceModel": {
                        "type": "string",
                        "enum": [
                            "emma",
                            "liam",
                            "isabelle",
                            "gordon",
                            "ivy",
                            "ellen"
                        ]
                    },
                    "intents": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/CallFlowNodeMetadataIntent"
                        }
                    },
                    "gathers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/CallFlowNodeMetadataGather"
                        }
                    },
                    "enrichment": {
                        "$ref": "#/components/schemas/CallFlowNodeMetadataEnrichment"
                    }
                }
            },
            "CallFlowNodeMetadataCode": {
                "type": "object",
                "required": [
                    "label"
                ],
                "properties": {
                    "code": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "label": {
                        "type": "string"
                    }
                }
            },
            "CallFlowNodeMetadataCallTarget": {
                "type": "object",
                "required": [
                    "target",
                    "type"
                ],
                "properties": {
                    "target": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "USER",
                            "ON_CALL_SCHEDULE",
                            "NUMBER"
                        ]
                    }
                }
            },
            "CallFlowNodeMetadataIntent": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "INCIDENT",
                            "SYSTEM_OUTAGE",
                            "SECURITY_BREACH",
                            "TECHNICAL_SUPPORT",
                            "INQUIRY"
                        ]
                    },
                    "label": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "examples": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "CallFlowNodeMetadataGather": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "CALLER_NAME",
                            "CONTACT_NUMBER",
                            "EMAIL",
                            "INCIDENT",
                            "AFFECTED_SERVICES"
                        ]
                    },
                    "label": {
                        "type": "string"
                    },
                    "varType": {
                        "type": "string",
                        "enum": [
                            "NUMBER",
                            "DATE",
                            "BOOLEAN",
                            "STRING"
                        ]
                    },
                    "required": {
                        "type": "boolean"
                    },
                    "question": {
                        "type": "string"
                    }
                }
            },
            "CallFlowNodeMetadataEnrichment": {
                "type": "object",
                "properties": {
                    "enabled": {
                        "type": "boolean"
                    },
                    "informationTypes": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "INCIDENT",
                                "MAINTENANCE",
                                "SERVICE_STATUS"
                            ]
                        }
                    },
                    "sources": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/CallFlowNodeMetadataEnrichmentSource"
                        }
                    }
                }
            },
            "CallFlowNodeMetadataEnrichmentSource": {
                "type": "object",
                "required": [
                    "id",
                    "type"
                ],
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "STATUS_PAGE",
                            "SERVICE"
                        ]
                    }
                }
            }
        },
        "parameters": {
            "id": {
                "name": "id",
                "in": "path",
                "description": "entity ID",
                "required": true,
                "schema": {
                    "type": "number"
                }
            },
            "string-id": {
                "name": "id",
                "in": "path",
                "description": "entity ID",
                "required": true,
                "schema": {
                    "type": "string"
                }
            },
            "user-id-in-path": {
                "name": "user-id",
                "in": "path",
                "description": "numeric user id",
                "required": true,
                "schema": {
                    "type": "string"
                }
            },
            "include": {
                "name": "include",
                "in": "query",
                "description": "Describes optional properties that should be included in the response.",
                "schema": {
                    "type": "string"
                }
            },
            "user-id-in-query": {
                "name": "user",
                "in": "query",
                "description": "numeric user id",
                "schema": {
                    "type": "string"
                }
            },
            "source-id-or-key": {
                "name": "source-id",
                "in": "path",
                "description": "numeric source id or integration key",
                "required": true,
                "schema": {
                    "type": "string"
                }
            },
            "requester-id": {
                "name": "requester-id",
                "in": "query",
                "description": "id of the user who requested this operation",
                "schema": {
                    "type": "string"
                }
            },
            "start-index": {
                "name": "start-index",
                "in": "query",
                "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities",
                "schema": {
                    "type": "integer",
                    "format": "int32",
                    "default": 0
                }
            },
            "max-results": {
                "name": "max-results",
                "in": "query",
                "description": "the maximum number of results when paging through a list of entities.",
                "schema": {
                    "maximum": 100,
                    "type": "integer",
                    "format": "int32",
                    "default": 50
                }
            },
            "key": {
                "name": "key",
                "in": "path",
                "description": "integration key of resource",
                "required": true,
                "schema": {
                    "type": "string"
                }
            }
        },
        "securitySchemes": {
            "apiKey": {
                "type": "apiKey",
                "description": "The Bearer API key of your user <a href='/api-docs/#section/Authentication'>more info</a>.",
                "name": "Authorization",
                "in": "header"
            }
        }
    },
    "x-original-swagger-version": "2.0"
}
