{
    "openapi": "3.1.0",
    "info": {
        "title": "Cachet",
        "version": "0.0.1",
        "description": "API documentation for Cachet, the open source, self-hosted status page system."
    },
    "servers": [
        {
            "url": "http://localhost:8001/api"
        },
        {
            "url": "https://v3.cachethq.io/api",
            "description": "The Cachet v3 demo server."
        }
    ],
    "tags": [
        {
            "name": "Cachet"
        },
        {
            "name": "Components"
        },
        {
            "name": "Component Groups"
        },
        {
            "name": "Incidents"
        },
        {
            "name": "Incident Updates"
        },
        {
            "name": "Incident Templates"
        },
        {
            "name": "Metrics"
        },
        {
            "name": "Metric Points"
        },
        {
            "name": "Schedules"
        },
        {
            "name": "Schedule Updates"
        },
        {
            "name": "Subscribers"
        }
    ],
    "security": [
        {
            "http": []
        }
    ],
    "paths": {
        "/ping": {
            "get": {
                "operationId": "cachet.api.ping",
                "summary": "Test the API",
                "tags": [
                    "Cachet"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string",
                                            "const": "Pong!"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": []
            }
        },
        "/version": {
            "get": {
                "operationId": "cachet.api.version",
                "summary": "Get Version",
                "tags": [
                    "Cachet"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "version": {
                                                    "type": "string",
                                                    "const": "'3.x-dev'"
                                                }
                                            },
                                            "required": [
                                                "version"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": []
            }
        },
        "/components": {
            "get": {
                "operationId": "cachet.api.components.index",
                "summary": "List Components",
                "tags": [
                    "Components"
                ],
                "parameters": [
                    {
                        "name": "filter[meta][key]",
                        "in": "query",
                        "description": "Filter by a metadata key/value pair.",
                        "schema": {},
                        "example": "eu-west"
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "How many items to show per page.",
                        "schema": {
                            "type": "integer",
                            "default": 15
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Which page to show.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 2
                    },
                    {
                        "name": "filter[meta]",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "name",
                                    "-name",
                                    "order",
                                    "-order",
                                    "id",
                                    "-id"
                                ]
                            }
                        },
                        "explode": false
                    },
                    {
                        "name": "filter[status]",
                        "in": "query",
                        "description": "Filter by status",
                        "schema": {
                            "$ref": "#/components/schemas/ComponentStatusEnum"
                        },
                        "example": 1
                    },
                    {
                        "name": "filter[name]",
                        "in": "query",
                        "description": "Filter by name.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "My Component"
                    },
                    {
                        "name": "filter[enabled]",
                        "in": "query",
                        "description": "Filter by enabled status.",
                        "schema": {
                            "type": "boolean"
                        },
                        "example": "1"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Include related data (group, incidents, meta).",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "group",
                                    "groupCount",
                                    "groupExists",
                                    "incidents",
                                    "meta",
                                    "metaCount",
                                    "metaExists"
                                ]
                            }
                        },
                        "example": "meta",
                        "explode": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `Component`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Component"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": "string"
                                                },
                                                "last": {
                                                    "type": "string"
                                                },
                                                "prev": {
                                                    "type": "string"
                                                },
                                                "next": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "path",
                                                "per_page",
                                                "to"
                                            ]
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "anyOf": [
                                                    {
                                                        "$ref": "#/components/schemas/ComponentGroup"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/Incident"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": []
            },
            "post": {
                "operationId": "cachet.api.components.store",
                "summary": "Create Component",
                "tags": [
                    "Components"
                ],
                "requestBody": {
                    "description": "`CreateComponentRequestData`",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateComponentRequestData"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Component`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Component"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "anyOf": [
                                                    {
                                                        "$ref": "#/components/schemas/ComponentGroup"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/Incident"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/components/{component}": {
            "get": {
                "operationId": "cachet.api.components.show",
                "summary": "Get Component",
                "tags": [
                    "Components"
                ],
                "parameters": [
                    {
                        "name": "component",
                        "in": "path",
                        "required": true,
                        "description": "The component ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Include related data (group, incidents, meta).",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "group",
                                    "groupCount",
                                    "groupExists",
                                    "incidents",
                                    "meta",
                                    "metaCount",
                                    "metaExists"
                                ]
                            }
                        },
                        "example": "meta",
                        "explode": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`Component`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Component"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "anyOf": [
                                                    {
                                                        "$ref": "#/components/schemas/ComponentGroup"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/Incident"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    }
                },
                "security": []
            },
            "put": {
                "operationId": "cachet.api.components.update",
                "summary": "Update Component",
                "tags": [
                    "Components"
                ],
                "parameters": [
                    {
                        "name": "component",
                        "in": "path",
                        "required": true,
                        "description": "The component ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "`UpdateComponentRequestData`",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateComponentRequestData"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Component`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Component"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "anyOf": [
                                                    {
                                                        "$ref": "#/components/schemas/ComponentGroup"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/Incident"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "cachet.api.components.destroy",
                "summary": "Delete Component",
                "tags": [
                    "Components"
                ],
                "parameters": [
                    {
                        "name": "component",
                        "in": "path",
                        "required": true,
                        "description": "The component ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/component-groups": {
            "get": {
                "operationId": "cachet.api.component-groups.index",
                "summary": "List Component Groups",
                "tags": [
                    "Component Groups"
                ],
                "parameters": [
                    {
                        "name": "filter[meta][key]",
                        "in": "query",
                        "description": "Filter by a metadata key/value pair.",
                        "schema": {},
                        "example": "eu-west"
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "How many items to show per page.",
                        "schema": {
                            "type": "integer",
                            "default": 15
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Which page to show.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 2
                    },
                    {
                        "name": "filter[meta]",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "name",
                                    "-name",
                                    "id",
                                    "-id"
                                ]
                            }
                        },
                        "explode": false
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Include related data (components, meta).",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "components",
                                    "meta",
                                    "metaCount",
                                    "metaExists"
                                ]
                            }
                        },
                        "example": "meta",
                        "explode": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `ComponentGroup`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ComponentGroup"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": "string"
                                                },
                                                "last": {
                                                    "type": "string"
                                                },
                                                "prev": {
                                                    "type": "string"
                                                },
                                                "next": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "path",
                                                "per_page",
                                                "to"
                                            ]
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Component"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": []
            },
            "post": {
                "operationId": "cachet.api.component-groups.store",
                "summary": "Create Component Group",
                "tags": [
                    "Component Groups"
                ],
                "requestBody": {
                    "description": "`CreateComponentGroupRequestData`",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateComponentGroupRequestData"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`ComponentGroup`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ComponentGroup"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Component"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/component-groups/{componentGroup}": {
            "get": {
                "operationId": "cachet.api.component-groups.show",
                "summary": "Get Component Group",
                "tags": [
                    "Component Groups"
                ],
                "parameters": [
                    {
                        "name": "componentGroup",
                        "in": "path",
                        "required": true,
                        "description": "The component group ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Include related data (components, meta).",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "components",
                                    "meta",
                                    "metaCount",
                                    "metaExists"
                                ]
                            }
                        },
                        "example": "meta",
                        "explode": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`ComponentGroup`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ComponentGroup"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Component"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    }
                },
                "security": []
            },
            "put": {
                "operationId": "cachet.api.component-groups.update",
                "summary": "Update Component Group",
                "tags": [
                    "Component Groups"
                ],
                "parameters": [
                    {
                        "name": "componentGroup",
                        "in": "path",
                        "required": true,
                        "description": "The component group ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "`UpdateComponentGroupRequestData`",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateComponentGroupRequestData"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`ComponentGroup`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ComponentGroup"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Component"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "cachet.api.component-groups.destroy",
                "summary": "Delete Component Group",
                "tags": [
                    "Component Groups"
                ],
                "parameters": [
                    {
                        "name": "componentGroup",
                        "in": "path",
                        "required": true,
                        "description": "The component group ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/incidents": {
            "get": {
                "operationId": "cachet.api.incidents.index",
                "summary": "List Incidents",
                "tags": [
                    "Incidents"
                ],
                "parameters": [
                    {
                        "name": "filter[meta][key]",
                        "in": "query",
                        "description": "Filter by a metadata key/value pair.",
                        "schema": {},
                        "example": "eu-west"
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "How many items to show per page.",
                        "schema": {
                            "type": "integer",
                            "default": 15
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Which page to show.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 2
                    },
                    {
                        "name": "filter[name]",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[status]",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[occurs_after]",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[occurs_before]",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[occurs_on]",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter[meta]",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "default": [
                                "-created_at"
                            ],
                            "items": {
                                "type": "string",
                                "enum": [
                                    "name",
                                    "-name",
                                    "status",
                                    "-status",
                                    "id",
                                    "-id",
                                    "created_at",
                                    "-created_at"
                                ]
                            }
                        },
                        "explode": false
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Include related data (components, components.group, updates, user, meta).",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "components",
                                    "componentsCount",
                                    "componentsExists",
                                    "components.group",
                                    "updates",
                                    "updatesCount",
                                    "updatesExists",
                                    "user",
                                    "userCount",
                                    "userExists",
                                    "meta",
                                    "metaCount",
                                    "metaExists"
                                ]
                            }
                        },
                        "example": "meta",
                        "explode": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `Incident`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Incident"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": "string"
                                                },
                                                "last": {
                                                    "type": "string"
                                                },
                                                "prev": {
                                                    "type": "string"
                                                },
                                                "next": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "path",
                                                "per_page",
                                                "to"
                                            ]
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "anyOf": [
                                                    {
                                                        "$ref": "#/components/schemas/Component"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/Update"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/User"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": []
            },
            "post": {
                "operationId": "cachet.api.incidents.store",
                "summary": "Create Incident",
                "tags": [
                    "Incidents"
                ],
                "requestBody": {
                    "description": "`CreateIncidentRequestData`",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateIncidentRequestData"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Incident`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Incident"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "anyOf": [
                                                    {
                                                        "$ref": "#/components/schemas/Component"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/Update"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/User"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/incidents/{incident}": {
            "get": {
                "operationId": "cachet.api.incidents.show",
                "summary": "Get Incident",
                "tags": [
                    "Incidents"
                ],
                "parameters": [
                    {
                        "name": "incident",
                        "in": "path",
                        "required": true,
                        "description": "The incident ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Include related data (components, components.group, updates, user, meta).",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "components",
                                    "componentsCount",
                                    "componentsExists",
                                    "components.group",
                                    "updates",
                                    "updatesCount",
                                    "updatesExists",
                                    "user",
                                    "userCount",
                                    "userExists",
                                    "meta",
                                    "metaCount",
                                    "metaExists"
                                ]
                            }
                        },
                        "example": "meta",
                        "explode": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`Incident`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Incident"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "anyOf": [
                                                    {
                                                        "$ref": "#/components/schemas/Component"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/Update"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/User"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    }
                },
                "security": []
            },
            "put": {
                "operationId": "cachet.api.incidents.update",
                "summary": "Update Incident",
                "tags": [
                    "Incidents"
                ],
                "parameters": [
                    {
                        "name": "incident",
                        "in": "path",
                        "required": true,
                        "description": "The incident ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "`UpdateIncidentRequestData`",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateIncidentRequestData"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Incident`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Incident"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "anyOf": [
                                                    {
                                                        "$ref": "#/components/schemas/Component"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/Update"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/User"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "cachet.api.incidents.destroy",
                "summary": "Delete Incident",
                "tags": [
                    "Incidents"
                ],
                "parameters": [
                    {
                        "name": "incident",
                        "in": "path",
                        "required": true,
                        "description": "The incident ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/incidents/{incident}/updates": {
            "get": {
                "operationId": "cachet.api.incidents.updates.index",
                "summary": "List Incident Updates",
                "tags": [
                    "Incident Updates"
                ],
                "parameters": [
                    {
                        "name": "incident",
                        "in": "path",
                        "required": true,
                        "description": "The incident ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "How many items to show per page.",
                        "schema": {
                            "type": "integer",
                            "default": 15
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Which page to show.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 2
                    },
                    {
                        "name": "filter[status]",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "status",
                                    "-status",
                                    "created_at",
                                    "-created_at"
                                ]
                            }
                        },
                        "explode": false
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "incident",
                                    "incidentCount",
                                    "incidentExists"
                                ]
                            }
                        },
                        "explode": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `Update`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Update"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": "string"
                                                },
                                                "last": {
                                                    "type": "string"
                                                },
                                                "prev": {
                                                    "type": "string"
                                                },
                                                "next": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "path",
                                                "per_page",
                                                "to"
                                            ]
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "anyOf": [
                                                    {
                                                        "$ref": "#/components/schemas/Incident"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/Schedule"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    }
                },
                "security": []
            },
            "post": {
                "operationId": "cachet.api.incidents.updates.store",
                "summary": "Create Incident Update",
                "tags": [
                    "Incident Updates"
                ],
                "parameters": [
                    {
                        "name": "incident",
                        "in": "path",
                        "required": true,
                        "description": "The incident ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "`CreateIncidentUpdateRequestData`",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateIncidentUpdateRequestData"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Update`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Update"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "anyOf": [
                                                    {
                                                        "$ref": "#/components/schemas/Incident"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/Schedule"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/incidents/{incident}/updates/{update}": {
            "get": {
                "operationId": "cachet.api.incidents.updates.show",
                "summary": "Get Incident Update",
                "tags": [
                    "Incident Updates"
                ],
                "parameters": [
                    {
                        "name": "incident",
                        "in": "path",
                        "required": true,
                        "description": "The incident ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "update",
                        "in": "path",
                        "required": true,
                        "description": "The update ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "incident",
                                    "incidentCount",
                                    "incidentExists"
                                ]
                            }
                        },
                        "explode": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`Update`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Update"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "anyOf": [
                                                    {
                                                        "$ref": "#/components/schemas/Incident"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/Schedule"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    }
                },
                "security": []
            },
            "put": {
                "operationId": "cachet.api.incidents.updates.update",
                "summary": "Update Incident Update",
                "tags": [
                    "Incident Updates"
                ],
                "parameters": [
                    {
                        "name": "incident",
                        "in": "path",
                        "required": true,
                        "description": "The incident ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "update",
                        "in": "path",
                        "required": true,
                        "description": "The update ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "`EditIncidentUpdateRequestData`",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditIncidentUpdateRequestData"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Update`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Update"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "anyOf": [
                                                    {
                                                        "$ref": "#/components/schemas/Incident"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/Schedule"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "cachet.api.incidents.updates.destroy",
                "summary": "Delete Incident Update",
                "tags": [
                    "Incident Updates"
                ],
                "parameters": [
                    {
                        "name": "incident",
                        "in": "path",
                        "required": true,
                        "description": "The incident ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "update",
                        "in": "path",
                        "required": true,
                        "description": "The update ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/incident-templates": {
            "get": {
                "operationId": "cachet.api.incident-templates.index",
                "summary": "List Incident Templates",
                "tags": [
                    "Incident Templates"
                ],
                "parameters": [
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "How many items to show per page.",
                        "schema": {
                            "type": "integer",
                            "default": 15
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Which page to show.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 2
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "name",
                                    "-name",
                                    "slug",
                                    "-slug",
                                    "id",
                                    "-id"
                                ]
                            }
                        },
                        "explode": false
                    },
                    {
                        "name": "filter[name]",
                        "in": "query",
                        "description": "Filter by name",
                        "schema": {
                            "type": "string"
                        },
                        "example": "My Template"
                    },
                    {
                        "name": "filter[slug]",
                        "in": "query",
                        "description": "Filter by slug",
                        "schema": {
                            "type": "string"
                        },
                        "example": "my-template"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `IncidentTemplate`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/IncidentTemplate"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": "string"
                                                },
                                                "last": {
                                                    "type": "string"
                                                },
                                                "prev": {
                                                    "type": "string"
                                                },
                                                "next": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "path",
                                                "per_page",
                                                "to"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": []
            },
            "post": {
                "operationId": "cachet.api.incident-templates.store",
                "summary": "Create Incident Template",
                "tags": [
                    "Incident Templates"
                ],
                "requestBody": {
                    "description": "`CreateIncidentTemplateRequestData`",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateIncidentTemplateRequestData"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`IncidentTemplate`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/IncidentTemplate"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/incident-templates/{incidentTemplate}": {
            "get": {
                "operationId": "cachet.api.incident-templates.show",
                "summary": "Get Incident Template",
                "tags": [
                    "Incident Templates"
                ],
                "parameters": [
                    {
                        "name": "incidentTemplate",
                        "in": "path",
                        "required": true,
                        "description": "The incident template ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`IncidentTemplate`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/IncidentTemplate"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    }
                },
                "security": []
            },
            "put": {
                "operationId": "cachet.api.incident-templates.update",
                "summary": "Update Incident Template",
                "tags": [
                    "Incident Templates"
                ],
                "parameters": [
                    {
                        "name": "incidentTemplate",
                        "in": "path",
                        "required": true,
                        "description": "The incident template ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "`UpdateIncidentTemplateRequestData`",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateIncidentTemplateRequestData"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`IncidentTemplate`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/IncidentTemplate"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "cachet.api.incident-templates.destroy",
                "summary": "Delete Incident Template",
                "tags": [
                    "Incident Templates"
                ],
                "parameters": [
                    {
                        "name": "incidentTemplate",
                        "in": "path",
                        "required": true,
                        "description": "The incident template ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/metrics": {
            "get": {
                "operationId": "cachet.api.metrics.index",
                "summary": "List Metrics",
                "tags": [
                    "Metrics"
                ],
                "parameters": [
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "How many items to show per page.",
                        "schema": {
                            "type": "integer",
                            "default": 15
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Which page to show.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 2
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "name",
                                    "-name",
                                    "order",
                                    "-order",
                                    "id",
                                    "-id"
                                ]
                            }
                        },
                        "explode": false
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "points",
                                    "pointsCount",
                                    "pointsExists"
                                ]
                            }
                        },
                        "explode": false
                    },
                    {
                        "name": "filter[name]",
                        "in": "query",
                        "description": "Filter by name.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "metric name"
                    },
                    {
                        "name": "filter[calc_type]",
                        "in": "query",
                        "description": "Filter by calculation type.",
                        "schema": {
                            "$ref": "#/components/schemas/MetricTypeEnum"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `Metric`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Metric"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": "string"
                                                },
                                                "last": {
                                                    "type": "string"
                                                },
                                                "prev": {
                                                    "type": "string"
                                                },
                                                "next": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "path",
                                                "per_page",
                                                "to"
                                            ]
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/MetricPoint"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": []
            },
            "post": {
                "operationId": "cachet.api.metrics.store",
                "summary": "Create Metric",
                "tags": [
                    "Metrics"
                ],
                "requestBody": {
                    "description": "`CreateMetricRequestData`",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateMetricRequestData"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Metric`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Metric"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/MetricPoint"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/metrics/{metric}": {
            "get": {
                "operationId": "cachet.api.metrics.show",
                "summary": "Get Metric",
                "tags": [
                    "Metrics"
                ],
                "parameters": [
                    {
                        "name": "metric",
                        "in": "path",
                        "required": true,
                        "description": "The metric ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "points",
                                    "pointsCount",
                                    "pointsExists"
                                ]
                            }
                        },
                        "explode": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`Metric`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Metric"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/MetricPoint"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    }
                },
                "security": []
            },
            "put": {
                "operationId": "cachet.api.metrics.update",
                "summary": "Update Metric",
                "tags": [
                    "Metrics"
                ],
                "parameters": [
                    {
                        "name": "metric",
                        "in": "path",
                        "required": true,
                        "description": "The metric ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "`UpdateMetricRequestData`",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateMetricRequestData"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Metric`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Metric"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/MetricPoint"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "cachet.api.metrics.destroy",
                "summary": "Delete Metric",
                "tags": [
                    "Metrics"
                ],
                "parameters": [
                    {
                        "name": "metric",
                        "in": "path",
                        "required": true,
                        "description": "The metric ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/metrics/{metric}/points": {
            "get": {
                "operationId": "cachet.api.metrics.points.index",
                "summary": "List Metric Points",
                "tags": [
                    "Metric Points"
                ],
                "parameters": [
                    {
                        "name": "metric",
                        "in": "path",
                        "required": true,
                        "description": "The metric ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "How many items to show per page.",
                        "schema": {
                            "type": "integer",
                            "default": 15
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Which page to show.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 2
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "id",
                                    "-id",
                                    "value",
                                    "-value",
                                    "created_at",
                                    "-created_at"
                                ]
                            }
                        },
                        "explode": false
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "metric",
                                    "metricCount",
                                    "metricExists"
                                ]
                            }
                        },
                        "explode": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `MetricPoint`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/MetricPoint"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": "string"
                                                },
                                                "last": {
                                                    "type": "string"
                                                },
                                                "prev": {
                                                    "type": "string"
                                                },
                                                "next": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "path",
                                                "per_page",
                                                "to"
                                            ]
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Metric"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    }
                },
                "security": []
            },
            "post": {
                "operationId": "cachet.api.metrics.points.store",
                "summary": "Create Metric Point",
                "tags": [
                    "Metric Points"
                ],
                "parameters": [
                    {
                        "name": "metric",
                        "in": "path",
                        "required": true,
                        "description": "The metric ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "`CreateMetricPointRequestData`",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateMetricPointRequestData"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "`MetricPoint`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MetricPoint"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Metric"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/metrics/{metric}/points/{metricPoint}": {
            "get": {
                "operationId": "cachet.api.metrics.points.show",
                "summary": "Get Metric Point",
                "tags": [
                    "Metric Points"
                ],
                "parameters": [
                    {
                        "name": "metric",
                        "in": "path",
                        "required": true,
                        "description": "The metric ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "metricPoint",
                        "in": "path",
                        "required": true,
                        "description": "The metric point ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "metric",
                                    "metricCount",
                                    "metricExists"
                                ]
                            }
                        },
                        "explode": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`MetricPoint`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MetricPoint"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Metric"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    }
                },
                "security": []
            },
            "delete": {
                "operationId": "cachet.api.metrics.points.destroy",
                "summary": "Delete Metric Point",
                "tags": [
                    "Metric Points"
                ],
                "parameters": [
                    {
                        "name": "metric",
                        "in": "path",
                        "required": true,
                        "description": "The metric ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "metricPoint",
                        "in": "path",
                        "required": true,
                        "description": "The metric point ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/schedules": {
            "get": {
                "operationId": "cachet.api.schedules.index",
                "summary": "List Schedules",
                "tags": [
                    "Schedules"
                ],
                "parameters": [
                    {
                        "name": "filter[meta][key]",
                        "in": "query",
                        "description": "Filter by a metadata key/value pair.",
                        "schema": {},
                        "example": "eu-west"
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "How many items to show per page.",
                        "schema": {
                            "type": "integer",
                            "default": 15
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Which page to show.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 2
                    },
                    {
                        "name": "filter[meta]",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "name",
                                    "-name",
                                    "id",
                                    "-id",
                                    "scheduled_at",
                                    "-scheduled_at",
                                    "completed_at",
                                    "-completed_at"
                                ]
                            }
                        },
                        "explode": false
                    },
                    {
                        "name": "filter[name]",
                        "in": "query",
                        "description": "Filter the resources by name.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "api"
                    },
                    {
                        "name": "filter[status]",
                        "in": "query",
                        "description": "Filter the resources by status.",
                        "schema": {
                            "$ref": "#/components/schemas/ScheduleStatusEnum"
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Include related data (components, components.group, updates, user, meta).",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "components",
                                    "componentsCount",
                                    "componentsExists",
                                    "components.group",
                                    "updates",
                                    "updatesCount",
                                    "updatesExists",
                                    "user",
                                    "userCount",
                                    "userExists",
                                    "meta",
                                    "metaCount",
                                    "metaExists"
                                ]
                            }
                        },
                        "example": "meta",
                        "explode": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `Schedule`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Schedule"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": "string"
                                                },
                                                "last": {
                                                    "type": "string"
                                                },
                                                "prev": {
                                                    "type": "string"
                                                },
                                                "next": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "path",
                                                "per_page",
                                                "to"
                                            ]
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "anyOf": [
                                                    {
                                                        "$ref": "#/components/schemas/Component"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/Update"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": []
            },
            "post": {
                "operationId": "cachet.api.schedules.store",
                "summary": "Create Schedule",
                "tags": [
                    "Schedules"
                ],
                "requestBody": {
                    "description": "`CreateScheduleRequestData`",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateScheduleRequestData"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Schedule`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Schedule"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "anyOf": [
                                                    {
                                                        "$ref": "#/components/schemas/Component"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/Update"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/schedules/{schedule}": {
            "get": {
                "operationId": "cachet.api.schedules.show",
                "summary": "Get Schedule",
                "tags": [
                    "Schedules"
                ],
                "parameters": [
                    {
                        "name": "schedule",
                        "in": "path",
                        "required": true,
                        "description": "The schedule ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Include related data (components, components.group, updates, user, meta).",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "components",
                                    "componentsCount",
                                    "componentsExists",
                                    "components.group",
                                    "updates",
                                    "updatesCount",
                                    "updatesExists",
                                    "user",
                                    "userCount",
                                    "userExists",
                                    "meta",
                                    "metaCount",
                                    "metaExists"
                                ]
                            }
                        },
                        "example": "meta",
                        "explode": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`Schedule`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Schedule"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "anyOf": [
                                                    {
                                                        "$ref": "#/components/schemas/Component"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/Update"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    }
                },
                "security": []
            },
            "put": {
                "operationId": "cachet.api.schedules.update",
                "summary": "Update Schedule",
                "tags": [
                    "Schedules"
                ],
                "parameters": [
                    {
                        "name": "schedule",
                        "in": "path",
                        "required": true,
                        "description": "The schedule ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "`UpdateScheduleRequestData`",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateScheduleRequestData"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Schedule`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Schedule"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "anyOf": [
                                                    {
                                                        "$ref": "#/components/schemas/Component"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/Update"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "cachet.api.schedules.destroy",
                "summary": "Delete Schedule",
                "tags": [
                    "Schedules"
                ],
                "parameters": [
                    {
                        "name": "schedule",
                        "in": "path",
                        "required": true,
                        "description": "The schedule ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/schedules/{schedule}/updates": {
            "get": {
                "operationId": "cachet.api.schedules.updates.index",
                "summary": "List Schedule Updates",
                "tags": [
                    "Schedule Updates"
                ],
                "parameters": [
                    {
                        "name": "schedule",
                        "in": "path",
                        "required": true,
                        "description": "The schedule ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "How many items to show per page.",
                        "schema": {
                            "type": "integer",
                            "default": 15
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Which page to show.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 2
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "created_at",
                                    "-created_at"
                                ]
                            }
                        },
                        "explode": false
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "schedule",
                                    "scheduleCount",
                                    "scheduleExists"
                                ]
                            }
                        },
                        "explode": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `Update`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Update"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": "string"
                                                },
                                                "last": {
                                                    "type": "string"
                                                },
                                                "prev": {
                                                    "type": "string"
                                                },
                                                "next": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "path",
                                                "per_page",
                                                "to"
                                            ]
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "anyOf": [
                                                    {
                                                        "$ref": "#/components/schemas/Incident"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/Schedule"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    }
                },
                "security": []
            },
            "post": {
                "operationId": "cachet.api.schedules.updates.store",
                "summary": "Create Schedule Update",
                "tags": [
                    "Schedule Updates"
                ],
                "parameters": [
                    {
                        "name": "schedule",
                        "in": "path",
                        "required": true,
                        "description": "The schedule ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "`CreateScheduleUpdateRequestData`",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateScheduleUpdateRequestData"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Update`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Update"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "anyOf": [
                                                    {
                                                        "$ref": "#/components/schemas/Incident"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/Schedule"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/schedules/{schedule}/updates/{update}": {
            "get": {
                "operationId": "cachet.api.schedules.updates.show",
                "summary": "Get Schedule Update",
                "tags": [
                    "Schedule Updates"
                ],
                "parameters": [
                    {
                        "name": "schedule",
                        "in": "path",
                        "required": true,
                        "description": "The schedule ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "update",
                        "in": "path",
                        "required": true,
                        "description": "The update ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "schedule",
                                    "scheduleCount",
                                    "scheduleExists"
                                ]
                            }
                        },
                        "explode": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`Update`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Update"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "anyOf": [
                                                    {
                                                        "$ref": "#/components/schemas/Incident"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/Schedule"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    }
                },
                "security": []
            },
            "put": {
                "operationId": "cachet.api.schedules.updates.update",
                "summary": "Update Schedule Update",
                "tags": [
                    "Schedule Updates"
                ],
                "parameters": [
                    {
                        "name": "schedule",
                        "in": "path",
                        "required": true,
                        "description": "The schedule ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "update",
                        "in": "path",
                        "required": true,
                        "description": "The update ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "`EditScheduleUpdateRequestData`",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditScheduleUpdateRequestData"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Update`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Update"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "anyOf": [
                                                    {
                                                        "$ref": "#/components/schemas/Incident"
                                                    },
                                                    {
                                                        "$ref": "#/components/schemas/Schedule"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "cachet.api.schedules.updates.destroy",
                "summary": "Delete Schedule Update",
                "tags": [
                    "Schedule Updates"
                ],
                "parameters": [
                    {
                        "name": "schedule",
                        "in": "path",
                        "required": true,
                        "description": "The schedule ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "update",
                        "in": "path",
                        "required": true,
                        "description": "The update ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/subscribers": {
            "get": {
                "operationId": "cachet.api.subscribers.index",
                "summary": "List Subscribers",
                "tags": [
                    "Subscribers"
                ],
                "parameters": [
                    {
                        "name": "filter[meta][key]",
                        "in": "query",
                        "description": "Filter by a metadata key/value pair.",
                        "schema": {},
                        "example": "eu-west"
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "How many items to show per page.",
                        "schema": {
                            "type": "integer",
                            "default": 15
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Which page to show.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 2
                    },
                    {
                        "name": "filter[meta]",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "email",
                                    "-email",
                                    "id",
                                    "-id"
                                ]
                            }
                        },
                        "explode": false
                    },
                    {
                        "name": "filter[email]",
                        "in": "query",
                        "description": "Filter by email address.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "john@example.com"
                    },
                    {
                        "name": "filter[global]",
                        "in": "query",
                        "description": "Filter by global subscription status.",
                        "schema": {
                            "type": "boolean"
                        },
                        "example": "1"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Include related data (components, meta).",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "components",
                                    "componentsCount",
                                    "componentsExists",
                                    "meta",
                                    "metaCount",
                                    "metaExists"
                                ]
                            }
                        },
                        "example": "meta",
                        "explode": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `Subscriber`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Subscriber"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": "string"
                                                },
                                                "last": {
                                                    "type": "string"
                                                },
                                                "prev": {
                                                    "type": "string"
                                                },
                                                "next": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "path",
                                                "per_page",
                                                "to"
                                            ]
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Component"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "post": {
                "operationId": "cachet.api.subscribers.store",
                "summary": "Create Subscriber",
                "tags": [
                    "Subscribers"
                ],
                "requestBody": {
                    "description": "`CreateSubscriberRequestData`",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateSubscriberRequestData"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Subscriber`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Subscriber"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Component"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/subscribers/{subscriber}": {
            "get": {
                "operationId": "cachet.api.subscribers.show",
                "summary": "Get Subscriber",
                "tags": [
                    "Subscribers"
                ],
                "parameters": [
                    {
                        "name": "subscriber",
                        "in": "path",
                        "required": true,
                        "description": "The subscriber ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "Include related data (components, meta).",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "components",
                                    "componentsCount",
                                    "componentsExists",
                                    "meta",
                                    "metaCount",
                                    "metaExists"
                                ]
                            }
                        },
                        "example": "meta",
                        "explode": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`Subscriber`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Subscriber"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Component"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "put": {
                "operationId": "cachet.api.subscribers.update",
                "summary": "Update Subscriber",
                "tags": [
                    "Subscribers"
                ],
                "parameters": [
                    {
                        "name": "subscriber",
                        "in": "path",
                        "required": true,
                        "description": "The subscriber ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "`UpdateSubscriberRequestData`",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateSubscriberRequestData"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Subscriber`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Subscriber"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Component"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "cachet.api.subscribers.destroy",
                "summary": "Delete Subscriber",
                "tags": [
                    "Subscribers"
                ],
                "parameters": [
                    {
                        "name": "subscriber",
                        "in": "path",
                        "required": true,
                        "description": "The subscriber ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/MissingAbilityException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/status": {
            "get": {
                "operationId": "cachet.api.status",
                "summary": "Get System Status",
                "tags": [
                    "Cachet"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "status": {
                                                    "type": "string",
                                                    "examples": [
                                                        "operational"
                                                    ]
                                                },
                                                "message": {
                                                    "type": "string",
                                                    "enum": [
                                                        "All systems are operational.",
                                                        "Some systems are experiencing issues.",
                                                        "Some systems are experiencing major issues.",
                                                        "Some systems are under maintenance."
                                                    ],
                                                    "examples": [
                                                        "All Systems Operational"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status",
                                                "message"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": []
            }
        }
    },
    "components": {
        "securitySchemes": {
            "http": {
                "type": "http",
                "scheme": "bearer"
            }
        },
        "schemas": {
            "Component": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "components"
                        ]
                    },
                    "attributes": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "integer"
                            },
                            "name": {
                                "type": "string"
                            },
                            "description": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "link": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "order": {
                                "type": [
                                    "integer",
                                    "null"
                                ]
                            },
                            "status": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": "string",
                                        "enum": [
                                            "Operational",
                                            "Performance issues",
                                            "Partial outage",
                                            "Major outage",
                                            "Under maintenance",
                                            "Unknown"
                                        ]
                                    },
                                    "value": {
                                        "type": "integer"
                                    }
                                },
                                "required": [
                                    "human",
                                    "value"
                                ]
                            },
                            "latest_status": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": "string",
                                        "enum": [
                                            "Operational",
                                            "Performance issues",
                                            "Partial outage",
                                            "Major outage",
                                            "Under maintenance",
                                            "Unknown"
                                        ]
                                    },
                                    "value": {
                                        "type": "integer"
                                    }
                                },
                                "required": [
                                    "human",
                                    "value"
                                ]
                            },
                            "enabled": {
                                "type": "boolean"
                            },
                            "meta": {
                                "type": "array",
                                "items": {}
                            },
                            "created": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            },
                            "updated": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            },
                            "pivot": {
                                "type": "object",
                                "properties": {
                                    "component_status": {
                                        "type": "object",
                                        "properties": {
                                            "human": {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ],
                                                "enum": [
                                                    "Operational",
                                                    "Performance issues",
                                                    "Partial outage",
                                                    "Major outage",
                                                    "Under maintenance",
                                                    "Unknown",
                                                    null
                                                ]
                                            },
                                            "value": {
                                                "type": [
                                                    "integer",
                                                    "null"
                                                ]
                                            }
                                        },
                                        "required": [
                                            "human",
                                            "value"
                                        ]
                                    }
                                },
                                "required": [
                                    "component_status"
                                ]
                            }
                        },
                        "required": [
                            "id",
                            "name",
                            "description",
                            "link",
                            "order",
                            "status",
                            "latest_status",
                            "enabled",
                            "created",
                            "updated"
                        ]
                    },
                    "relationships": {
                        "type": "object",
                        "properties": {
                            "group": {
                                "type": "object",
                                "properties": {
                                    "data": {
                                        "anyOf": [
                                            {
                                                "$ref": "#/components/schemas/ComponentGroupIdentifier"
                                            },
                                            {
                                                "type": "null"
                                            }
                                        ]
                                    }
                                },
                                "required": [
                                    "data"
                                ]
                            },
                            "incidents": {
                                "type": "object",
                                "properties": {
                                    "data": {
                                        "type": "array",
                                        "items": {
                                            "$ref": "#/components/schemas/IncidentIdentifier"
                                        }
                                    }
                                },
                                "required": [
                                    "data"
                                ]
                            }
                        }
                    }
                },
                "required": [
                    "id",
                    "type"
                ],
                "title": "Component"
            },
            "ComponentGroup": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "componentGroups"
                        ]
                    },
                    "attributes": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "integer"
                            },
                            "name": {
                                "type": "string"
                            },
                            "order": {
                                "type": "integer"
                            },
                            "order_column": {
                                "anyOf": [
                                    {
                                        "$ref": "#/components/schemas/ResourceOrderColumnEnum"
                                    },
                                    {
                                        "type": "null"
                                    }
                                ]
                            },
                            "order_direction": {
                                "anyOf": [
                                    {
                                        "$ref": "#/components/schemas/ResourceOrderDirectionEnum"
                                    },
                                    {
                                        "type": "null"
                                    }
                                ]
                            },
                            "collapsed": {
                                "$ref": "#/components/schemas/ComponentGroupVisibilityEnum"
                            },
                            "visible": {
                                "$ref": "#/components/schemas/ResourceVisibilityEnum"
                            },
                            "meta": {
                                "type": "array",
                                "items": {}
                            },
                            "created": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            },
                            "updated": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            }
                        },
                        "required": [
                            "id",
                            "name",
                            "order",
                            "order_column",
                            "order_direction",
                            "collapsed",
                            "visible",
                            "created",
                            "updated"
                        ]
                    },
                    "relationships": {
                        "type": "object",
                        "properties": {
                            "components": {
                                "type": "object",
                                "properties": {
                                    "data": {
                                        "type": "array",
                                        "items": {
                                            "$ref": "#/components/schemas/ComponentIdentifier"
                                        }
                                    }
                                },
                                "required": [
                                    "data"
                                ]
                            }
                        }
                    }
                },
                "required": [
                    "id",
                    "type"
                ],
                "title": "ComponentGroup"
            },
            "ComponentGroupIdentifier": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "componentGroups"
                        ]
                    },
                    "id": {
                        "type": "string"
                    }
                },
                "required": [
                    "type",
                    "id"
                ],
                "title": "ComponentGroupIdentifier"
            },
            "ComponentGroupVisibilityEnum": {
                "type": "integer",
                "enum": [
                    0,
                    1,
                    2
                ],
                "title": "ComponentGroupVisibilityEnum"
            },
            "ComponentIdentifier": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "components"
                        ]
                    },
                    "id": {
                        "type": "string"
                    }
                },
                "required": [
                    "type",
                    "id"
                ],
                "title": "ComponentIdentifier"
            },
            "ComponentStatusEnum": {
                "type": "integer",
                "enum": [
                    1,
                    2,
                    3,
                    4,
                    5,
                    6
                ],
                "title": "ComponentStatusEnum"
            },
            "CreateComponentGroupRequestData": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "order": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "minimum": 0
                    },
                    "visible": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/ResourceVisibilityEnum"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "collapsed": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/ComponentGroupVisibilityEnum"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "order_column": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/ResourceOrderColumnEnum"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "order_direction": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/ResourceOrderDirectionEnum"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "components": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    "meta": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "additionalProperties": {}
                    }
                },
                "required": [
                    "name"
                ],
                "title": "CreateComponentGroupRequestData"
            },
            "CreateComponentRequestData": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "status": {
                        "default": 5,
                        "$ref": "#/components/schemas/ComponentStatusEnum"
                    },
                    "link": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "uri"
                    },
                    "order": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "minimum": 0
                    },
                    "enabled": {
                        "type": "boolean",
                        "default": true
                    },
                    "component_group_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "minimum": 0
                    },
                    "meta": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "additionalProperties": {}
                    }
                },
                "required": [
                    "name"
                ],
                "title": "CreateComponentRequestData"
            },
            "CreateIncidentRequestData": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "status": {
                        "$ref": "#/components/schemas/IncidentStatusEnum"
                    },
                    "message": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "template": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "visible": {
                        "type": "boolean",
                        "default": false
                    },
                    "stickied": {
                        "type": "boolean",
                        "default": false
                    },
                    "notifications": {
                        "type": "boolean",
                        "default": false
                    },
                    "occurred_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "published_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "template_vars": {
                        "type": "array",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "component_id": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "component_status": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/ComponentStatusEnum"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "components": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "$ref": "#/components/schemas/IncidentComponentRequestData"
                        }
                    },
                    "meta": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "additionalProperties": {}
                    }
                },
                "required": [
                    "name",
                    "status"
                ],
                "title": "CreateIncidentRequestData"
            },
            "CreateIncidentTemplateRequestData": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "template": {
                        "type": "string"
                    },
                    "engine": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/IncidentTemplateEngineEnum"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    }
                },
                "required": [
                    "name",
                    "template"
                ],
                "title": "CreateIncidentTemplateRequestData"
            },
            "CreateIncidentUpdateRequestData": {
                "type": "object",
                "properties": {
                    "status": {
                        "$ref": "#/components/schemas/IncidentStatusEnum"
                    },
                    "message": {
                        "type": "string"
                    }
                },
                "required": [
                    "status",
                    "message"
                ],
                "title": "CreateIncidentUpdateRequestData"
            },
            "CreateMetricPointRequestData": {
                "type": "object",
                "properties": {
                    "value": {
                        "type": "number"
                    },
                    "timestamp": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "value"
                ],
                "title": "CreateMetricPointRequestData"
            },
            "CreateMetricRequestData": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "suffix": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "calc_type": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/MetricTypeEnum"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "default_value": {
                        "type": [
                            "number",
                            "null"
                        ]
                    },
                    "display_chart": {
                        "type": [
                            "boolean",
                            "null"
                        ]
                    },
                    "threshold": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "minimum": 0,
                        "maximum": 60
                    },
                    "places": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "minimum": 0,
                        "maximum": 4
                    }
                },
                "required": [
                    "name",
                    "suffix"
                ],
                "title": "CreateMetricRequestData"
            },
            "CreateScheduleRequestData": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "message": {
                        "type": "string"
                    },
                    "scheduled_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "completed_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "published_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "notifications": {
                        "type": "boolean",
                        "default": false
                    },
                    "components": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "$ref": "#/components/schemas/ScheduleComponentRequestData"
                        }
                    },
                    "meta": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "additionalProperties": {}
                    }
                },
                "required": [
                    "name",
                    "message",
                    "scheduled_at"
                ],
                "title": "CreateScheduleRequestData"
            },
            "CreateScheduleUpdateRequestData": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "completed_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    }
                },
                "required": [
                    "message"
                ],
                "title": "CreateScheduleUpdateRequestData"
            },
            "CreateSubscriberRequestData": {
                "type": "object",
                "properties": {
                    "email": {
                        "type": "string",
                        "format": "email",
                        "maxLength": 255
                    },
                    "global": {
                        "type": [
                            "boolean",
                            "null"
                        ]
                    },
                    "components": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    "verified": {
                        "type": [
                            "boolean",
                            "null"
                        ]
                    },
                    "meta": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "additionalProperties": {}
                    }
                },
                "required": [
                    "email"
                ],
                "title": "CreateSubscriberRequestData"
            },
            "EditIncidentUpdateRequestData": {
                "type": "object",
                "properties": {
                    "status": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/IncidentStatusEnum"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "message": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "title": "EditIncidentUpdateRequestData"
            },
            "EditScheduleUpdateRequestData": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "title": "EditScheduleUpdateRequestData"
            },
            "Incident": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "incidents"
                        ]
                    },
                    "attributes": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "integer"
                            },
                            "guid": {
                                "type": "string"
                            },
                            "name": {
                                "type": "string"
                            },
                            "message": {
                                "type": "string"
                            },
                            "visible": {
                                "$ref": "#/components/schemas/ResourceVisibilityEnum"
                            },
                            "stickied": {
                                "type": "boolean"
                            },
                            "notifications": {
                                "type": "integer"
                            },
                            "meta": {
                                "type": "array",
                                "items": {}
                            },
                            "components_count": {
                                "type": "string"
                            },
                            "status": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "value": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "value"
                                ]
                            },
                            "occurred": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            },
                            "published": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            },
                            "created": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            },
                            "updated": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            }
                        },
                        "required": [
                            "id",
                            "guid",
                            "name",
                            "message",
                            "visible",
                            "stickied",
                            "notifications",
                            "status",
                            "occurred",
                            "published",
                            "created",
                            "updated"
                        ]
                    },
                    "relationships": {
                        "type": "object",
                        "properties": {
                            "components": {
                                "type": "object",
                                "properties": {
                                    "data": {
                                        "type": "array",
                                        "items": {
                                            "$ref": "#/components/schemas/ComponentIdentifier"
                                        }
                                    }
                                },
                                "required": [
                                    "data"
                                ]
                            },
                            "updates": {
                                "type": "object",
                                "properties": {
                                    "data": {
                                        "type": "array",
                                        "items": {
                                            "$ref": "#/components/schemas/UpdateIdentifier"
                                        }
                                    }
                                },
                                "required": [
                                    "data"
                                ]
                            },
                            "user": {
                                "type": "object",
                                "properties": {
                                    "data": {
                                        "anyOf": [
                                            {
                                                "$ref": "#/components/schemas/UserIdentifier"
                                            },
                                            {
                                                "type": "null"
                                            }
                                        ]
                                    }
                                },
                                "required": [
                                    "data"
                                ]
                            }
                        }
                    }
                },
                "required": [
                    "id",
                    "type"
                ],
                "title": "Incident"
            },
            "IncidentComponentRequestData": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "status": {
                        "$ref": "#/components/schemas/ComponentStatusEnum"
                    }
                },
                "required": [
                    "id",
                    "status"
                ],
                "title": "IncidentComponentRequestData"
            },
            "IncidentIdentifier": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "incidents"
                        ]
                    },
                    "id": {
                        "type": "string"
                    }
                },
                "required": [
                    "type",
                    "id"
                ],
                "title": "IncidentIdentifier"
            },
            "IncidentStatusEnum": {
                "type": "integer",
                "enum": [
                    0,
                    1,
                    2,
                    3,
                    4
                ],
                "title": "IncidentStatusEnum"
            },
            "IncidentTemplate": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "incidentTemplates"
                        ]
                    },
                    "attributes": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "integer"
                            },
                            "name": {
                                "type": "string"
                            },
                            "slug": {
                                "type": "string"
                            },
                            "template": {
                                "type": "string"
                            },
                            "engine": {
                                "$ref": "#/components/schemas/IncidentTemplateEngineEnum"
                            },
                            "created": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            },
                            "updated": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            }
                        },
                        "required": [
                            "id",
                            "name",
                            "slug",
                            "template",
                            "engine",
                            "created",
                            "updated"
                        ]
                    }
                },
                "required": [
                    "id",
                    "type"
                ],
                "title": "IncidentTemplate"
            },
            "IncidentTemplateEngineEnum": {
                "type": "string",
                "enum": [
                    "blade",
                    "twig"
                ],
                "title": "IncidentTemplateEngineEnum"
            },
            "Metric": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "metrics"
                        ]
                    },
                    "attributes": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "integer"
                            },
                            "name": {
                                "type": "string"
                            },
                            "suffix": {
                                "type": "string"
                            },
                            "description": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "default_value": {
                                "type": [
                                    "object",
                                    "null"
                                ]
                            },
                            "calc_type": {
                                "$ref": "#/components/schemas/MetricTypeEnum"
                            },
                            "display_chart": {
                                "type": "integer"
                            },
                            "places": {
                                "type": "integer"
                            },
                            "default_view": {
                                "$ref": "#/components/schemas/MetricViewEnum"
                            },
                            "threshold": {
                                "type": "integer"
                            },
                            "order": {
                                "type": "integer"
                            },
                            "visible": {
                                "$ref": "#/components/schemas/ResourceVisibilityEnum"
                            },
                            "created": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            },
                            "updated": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            }
                        },
                        "required": [
                            "id",
                            "name",
                            "suffix",
                            "description",
                            "default_value",
                            "calc_type",
                            "display_chart",
                            "places",
                            "default_view",
                            "threshold",
                            "order",
                            "visible",
                            "created",
                            "updated"
                        ]
                    },
                    "relationships": {
                        "type": "object",
                        "properties": {
                            "points": {
                                "type": "object",
                                "properties": {
                                    "data": {
                                        "type": "array",
                                        "items": {
                                            "$ref": "#/components/schemas/MetricPointIdentifier"
                                        }
                                    }
                                },
                                "required": [
                                    "data"
                                ]
                            }
                        }
                    }
                },
                "required": [
                    "id",
                    "type"
                ],
                "title": "Metric"
            },
            "MetricIdentifier": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "metrics"
                        ]
                    },
                    "id": {
                        "type": "string"
                    }
                },
                "required": [
                    "type",
                    "id"
                ],
                "title": "MetricIdentifier"
            },
            "MetricPoint": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "metricPoints"
                        ]
                    },
                    "attributes": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "integer"
                            },
                            "metric_id": {
                                "type": "integer"
                            },
                            "calculated_value": {
                                "type": "number"
                            },
                            "value": {
                                "type": "number"
                            },
                            "counter": {
                                "type": "integer"
                            },
                            "created": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            },
                            "updated": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            }
                        },
                        "required": [
                            "id",
                            "metric_id",
                            "calculated_value",
                            "value",
                            "counter",
                            "created",
                            "updated"
                        ]
                    },
                    "relationships": {
                        "type": "object",
                        "properties": {
                            "metric": {
                                "type": "object",
                                "properties": {
                                    "data": {
                                        "anyOf": [
                                            {
                                                "$ref": "#/components/schemas/MetricIdentifier"
                                            },
                                            {
                                                "type": "null"
                                            }
                                        ]
                                    }
                                },
                                "required": [
                                    "data"
                                ]
                            }
                        }
                    }
                },
                "required": [
                    "id",
                    "type"
                ],
                "title": "MetricPoint"
            },
            "MetricPointIdentifier": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "metricPoints"
                        ]
                    },
                    "id": {
                        "type": "string"
                    }
                },
                "required": [
                    "type",
                    "id"
                ],
                "title": "MetricPointIdentifier"
            },
            "MetricTypeEnum": {
                "type": "integer",
                "enum": [
                    0,
                    1
                ],
                "title": "MetricTypeEnum"
            },
            "MetricViewEnum": {
                "type": "integer",
                "enum": [
                    0,
                    1,
                    2,
                    3
                ],
                "title": "MetricViewEnum"
            },
            "ResourceOrderColumnEnum": {
                "type": "string",
                "enum": [
                    "id",
                    "last_updated",
                    "name",
                    "manual",
                    "status"
                ],
                "title": "ResourceOrderColumnEnum"
            },
            "ResourceOrderDirectionEnum": {
                "type": "string",
                "enum": [
                    "asc",
                    "desc"
                ],
                "title": "ResourceOrderDirectionEnum"
            },
            "ResourceVisibilityEnum": {
                "type": "integer",
                "enum": [
                    0,
                    1,
                    2
                ],
                "title": "ResourceVisibilityEnum"
            },
            "Schedule": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "schedules"
                        ]
                    },
                    "attributes": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "integer"
                            },
                            "name": {
                                "type": "string"
                            },
                            "message": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "meta": {
                                "type": "array",
                                "items": {}
                            },
                            "status": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": "string"
                                    },
                                    "value": {
                                        "type": "string"
                                    }
                                },
                                "required": [
                                    "human",
                                    "value"
                                ]
                            },
                            "scheduled": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": "string"
                                    },
                                    "string": {
                                        "type": "string"
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            },
                            "completed": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            },
                            "published": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            },
                            "created": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            },
                            "updated": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            }
                        },
                        "required": [
                            "id",
                            "name",
                            "message",
                            "status",
                            "scheduled",
                            "completed",
                            "published",
                            "created",
                            "updated"
                        ]
                    },
                    "relationships": {
                        "type": "object",
                        "properties": {
                            "components": {
                                "type": "object",
                                "properties": {
                                    "data": {
                                        "type": "array",
                                        "items": {
                                            "$ref": "#/components/schemas/ComponentIdentifier"
                                        }
                                    }
                                },
                                "required": [
                                    "data"
                                ]
                            },
                            "updates": {
                                "type": "object",
                                "properties": {
                                    "data": {
                                        "type": "array",
                                        "items": {
                                            "$ref": "#/components/schemas/UpdateIdentifier"
                                        }
                                    }
                                },
                                "required": [
                                    "data"
                                ]
                            }
                        }
                    }
                },
                "required": [
                    "id",
                    "type"
                ],
                "title": "Schedule"
            },
            "ScheduleComponentRequestData": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "status": {
                        "$ref": "#/components/schemas/ComponentStatusEnum"
                    }
                },
                "required": [
                    "id",
                    "status"
                ],
                "title": "ScheduleComponentRequestData"
            },
            "ScheduleIdentifier": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "schedules"
                        ]
                    },
                    "id": {
                        "type": "string"
                    }
                },
                "required": [
                    "type",
                    "id"
                ],
                "title": "ScheduleIdentifier"
            },
            "ScheduleStatusEnum": {
                "type": "integer",
                "enum": [
                    0,
                    1,
                    2
                ],
                "title": "ScheduleStatusEnum"
            },
            "Subscriber": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "subscribers"
                        ]
                    },
                    "attributes": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "integer"
                            },
                            "email": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "global": {
                                "type": "boolean"
                            },
                            "verified": {
                                "type": "boolean"
                            },
                            "verified_at": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            },
                            "meta": {
                                "type": "array",
                                "items": {}
                            },
                            "created": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            },
                            "updated": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            }
                        },
                        "required": [
                            "id",
                            "email",
                            "global",
                            "verified",
                            "verified_at",
                            "created",
                            "updated"
                        ]
                    },
                    "relationships": {
                        "type": "object",
                        "properties": {
                            "components": {
                                "type": "object",
                                "properties": {
                                    "data": {
                                        "type": "array",
                                        "items": {
                                            "$ref": "#/components/schemas/ComponentIdentifier"
                                        }
                                    }
                                },
                                "required": [
                                    "data"
                                ]
                            }
                        }
                    }
                },
                "required": [
                    "id",
                    "type"
                ],
                "title": "Subscriber"
            },
            "Update": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "updates"
                        ]
                    },
                    "attributes": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "integer"
                            },
                            "updateable_id": {
                                "type": "integer"
                            },
                            "updateable_type": {
                                "type": "string"
                            },
                            "message": {
                                "type": "string"
                            },
                            "status": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "enum": [
                                            "Investigating",
                                            "Identified",
                                            "Watching",
                                            "Fixed",
                                            "Reported",
                                            null
                                        ]
                                    },
                                    "value": {
                                        "type": [
                                            "integer",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "value"
                                ]
                            },
                            "created": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            },
                            "updated": {
                                "type": "object",
                                "properties": {
                                    "human": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "string": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "human",
                                    "string"
                                ]
                            }
                        },
                        "required": [
                            "id",
                            "updateable_id",
                            "updateable_type",
                            "message",
                            "created",
                            "updated"
                        ]
                    },
                    "relationships": {
                        "type": "object",
                        "properties": {
                            "incident": {
                                "type": "object",
                                "properties": {
                                    "data": {
                                        "anyOf": [
                                            {
                                                "$ref": "#/components/schemas/IncidentIdentifier"
                                            },
                                            {
                                                "type": "null"
                                            }
                                        ]
                                    }
                                },
                                "required": [
                                    "data"
                                ]
                            },
                            "schedule": {
                                "type": "object",
                                "properties": {
                                    "data": {
                                        "anyOf": [
                                            {
                                                "$ref": "#/components/schemas/ScheduleIdentifier"
                                            },
                                            {
                                                "type": "null"
                                            }
                                        ]
                                    }
                                },
                                "required": [
                                    "data"
                                ]
                            }
                        }
                    }
                },
                "required": [
                    "id",
                    "type"
                ],
                "title": "Update"
            },
            "UpdateComponentGroupRequestData": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 255
                    },
                    "order": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "minimum": 0
                    },
                    "visible": {
                        "type": [
                            "boolean",
                            "null"
                        ]
                    },
                    "collapsed": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/ComponentGroupVisibilityEnum"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "order_column": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/ResourceOrderColumnEnum"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "order_direction": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/ResourceOrderDirectionEnum"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "components": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    "meta": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "additionalProperties": {}
                    }
                },
                "title": "UpdateComponentGroupRequestData"
            },
            "UpdateComponentRequestData": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 255
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "status": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/ComponentStatusEnum"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "link": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "uri"
                    },
                    "order": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "minimum": 0
                    },
                    "enabled": {
                        "type": [
                            "boolean",
                            "null"
                        ]
                    },
                    "component_group_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "minimum": 0
                    },
                    "meta": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "additionalProperties": {}
                    }
                },
                "title": "UpdateComponentRequestData"
            },
            "UpdateIdentifier": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "updates"
                        ]
                    },
                    "id": {
                        "type": "string"
                    }
                },
                "required": [
                    "type",
                    "id"
                ],
                "title": "UpdateIdentifier"
            },
            "UpdateIncidentRequestData": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "message": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "status": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/IncidentStatusEnum"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "visible": {
                        "type": [
                            "boolean",
                            "null"
                        ]
                    },
                    "stickied": {
                        "type": [
                            "boolean",
                            "null"
                        ]
                    },
                    "notifications": {
                        "type": [
                            "boolean",
                            "null"
                        ]
                    },
                    "occurred_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "published_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "meta": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "additionalProperties": {}
                    }
                },
                "title": "UpdateIncidentRequestData"
            },
            "UpdateIncidentTemplateRequestData": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 255
                    },
                    "template": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "engine": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/IncidentTemplateEngineEnum"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    }
                },
                "title": "UpdateIncidentTemplateRequestData"
            },
            "UpdateMetricRequestData": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 255
                    },
                    "suffix": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 255
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "default_value": {
                        "type": [
                            "number",
                            "null"
                        ]
                    },
                    "threshold": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "minimum": 0,
                        "maximum": 60
                    }
                },
                "title": "UpdateMetricRequestData"
            },
            "UpdateScheduleRequestData": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 255
                    },
                    "message": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "scheduled_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "completed_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "published_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "components": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "$ref": "#/components/schemas/ScheduleComponentRequestData"
                        }
                    },
                    "meta": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "additionalProperties": {}
                    }
                },
                "title": "UpdateScheduleRequestData"
            },
            "UpdateSubscriberRequestData": {
                "type": "object",
                "properties": {
                    "email": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "email",
                        "maxLength": 255
                    },
                    "global": {
                        "type": [
                            "boolean",
                            "null"
                        ]
                    },
                    "components": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    "meta": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "additionalProperties": {}
                    }
                },
                "title": "UpdateSubscriberRequestData"
            },
            "User": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    },
                    "attributes": {
                        "type": "object",
                        "properties": {
                            "id": {}
                        },
                        "required": [
                            "id"
                        ]
                    }
                },
                "required": [
                    "id",
                    "type"
                ],
                "title": "User"
            },
            "UserIdentifier": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string"
                    },
                    "id": {
                        "type": "string"
                    }
                },
                "required": [
                    "type",
                    "id"
                ],
                "title": "UserIdentifier"
            }
        },
        "responses": {
            "ModelNotFoundException": {
                "description": "Not found",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Error overview."
                                }
                            },
                            "required": [
                                "message"
                            ]
                        }
                    }
                }
            },
            "MissingAbilityException": {
                "description": "Authorization error",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Error overview."
                                }
                            },
                            "required": [
                                "message"
                            ]
                        }
                    }
                }
            },
            "AuthenticationException": {
                "description": "Unauthenticated",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Error overview."
                                }
                            },
                            "required": [
                                "message"
                            ]
                        }
                    }
                }
            },
            "ValidationException": {
                "description": "Validation error",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Errors overview."
                                },
                                "errors": {
                                    "type": "object",
                                    "description": "A detailed description of each field that failed validation.",
                                    "additionalProperties": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "required": [
                                "message",
                                "errors"
                            ]
                        }
                    }
                }
            }
        }
    }
}