{
    "openapi": "3.1.0",
    "info": {
        "title": "Pingolab API",
        "version": "1.0.0",
        "description": "Pingolab public REST API. Authenticate with `Authorization: Bearer pl_\u2026` (create keys in the panel under Settings \u2192 API keys). Responses use a `{data, meta, links}` envelope; errors use `{error: {code, message, details}}` with stable codes. Cursor pagination (`cursor`, `limit` \u2264 100), 60 requests\/minute per key, optional `Idempotency-Key` on POST."
    },
    "servers": [
        {
            "url": "https:\/\/panel.pingolab.net\/api\/v1"
        }
    ],
    "security": [
        {
            "http": []
        }
    ],
    "paths": {
        "\/me": {
            "get": {
                "operationId": "me",
                "summary": "Current account and API key",
                "tags": [
                    "Account",
                    "Me"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string"
                                                },
                                                "name": {
                                                    "type": "string"
                                                },
                                                "email": {
                                                    "type": "string"
                                                },
                                                "locale": {
                                                    "type": "string"
                                                },
                                                "timezone": {
                                                    "type": "string"
                                                },
                                                "is_supporter": {
                                                    "type": "boolean"
                                                },
                                                "limits": {
                                                    "type": "object",
                                                    "properties": {
                                                        "monitors": {
                                                            "type": "integer"
                                                        },
                                                        "min_interval_seconds": {
                                                            "type": "integer"
                                                        },
                                                        "status_pages": {
                                                            "type": "integer"
                                                        },
                                                        "alert_contacts": {
                                                            "type": "integer"
                                                        },
                                                        "api_rate_limit_per_minute": {
                                                            "type": "integer"
                                                        }
                                                    },
                                                    "required": [
                                                        "monitors",
                                                        "min_interval_seconds",
                                                        "status_pages",
                                                        "alert_contacts",
                                                        "api_rate_limit_per_minute"
                                                    ]
                                                },
                                                "usage": {
                                                    "type": "object",
                                                    "properties": {
                                                        "monitors": {
                                                            "type": "integer",
                                                            "minimum": 0
                                                        },
                                                        "status_pages": {
                                                            "type": "integer",
                                                            "minimum": 0
                                                        },
                                                        "alert_contacts": {
                                                            "type": "integer",
                                                            "minimum": 0
                                                        }
                                                    },
                                                    "required": [
                                                        "monitors",
                                                        "status_pages",
                                                        "alert_contacts"
                                                    ]
                                                },
                                                "api_key": {
                                                    "type": [
                                                        "object",
                                                        "null"
                                                    ],
                                                    "properties": {
                                                        "name": {
                                                            "type": "string"
                                                        },
                                                        "type": {
                                                            "type": "string"
                                                        },
                                                        "prefix": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "required": [
                                                        "name",
                                                        "type",
                                                        "prefix"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "name",
                                                "email",
                                                "locale",
                                                "timezone",
                                                "is_supporter",
                                                "limits",
                                                "usage",
                                                "api_key"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/alert-contacts": {
            "get": {
                "operationId": "alert-contacts.index",
                "summary": "List alert contacts",
                "tags": [
                    "Alert contacts",
                    "AlertContact"
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `AlertContactResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/AlertContactResource"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "next_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the next set of items."
                                                },
                                                "prev_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the previous set of items."
                                                }
                                            },
                                            "required": [
                                                "path",
                                                "per_page",
                                                "next_cursor",
                                                "prev_cursor"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "post": {
                "operationId": "alert-contacts.store",
                "description": "For webhooks the response contains the signing `secret` once.",
                "summary": "Create an alert contact (email, discord, slack, webhook). Telegram is connected from the panel",
                "tags": [
                    "Alert contacts",
                    "AlertContact"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/AlertContactRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {}
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/alert-contacts\/{alertContact}": {
            "get": {
                "operationId": "alert-contacts.show",
                "summary": "Get an alert contact",
                "tags": [
                    "Alert contacts",
                    "AlertContact"
                ],
                "parameters": [
                    {
                        "name": "alertContact",
                        "in": "path",
                        "required": true,
                        "description": "The alert contact public id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`AlertContactResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#\/components\/schemas\/AlertContactResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "put": {
                "operationId": "alert-contacts.update",
                "summary": "Update an alert contact",
                "tags": [
                    "Alert contacts",
                    "AlertContact"
                ],
                "parameters": [
                    {
                        "name": "alertContact",
                        "in": "path",
                        "required": true,
                        "description": "The alert contact public id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/AlertContactRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`AlertContactResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#\/components\/schemas\/AlertContactResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "delete": {
                "operationId": "alert-contacts.destroy",
                "summary": "Delete an alert contact",
                "tags": [
                    "Alert contacts",
                    "AlertContact"
                ],
                "parameters": [
                    {
                        "name": "alertContact",
                        "in": "path",
                        "required": true,
                        "description": "The alert contact public id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/alert-contacts\/{alertContact}\/test": {
            "post": {
                "operationId": "alert-contacts.test",
                "summary": "Send a test notification",
                "tags": [
                    "Alert contacts",
                    "AlertContact"
                ],
                "parameters": [
                    {
                        "name": "alertContact",
                        "in": "path",
                        "required": true,
                        "description": "The alert contact public id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "delivered": {
                                                    "type": "boolean"
                                                },
                                                "error": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "delivered",
                                                "error"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "An error",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "Error overview.",
                                            "examples": [
                                                ""
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/incidents": {
            "get": {
                "operationId": "incidents.index",
                "summary": "List incidents (newest first). Filter with `state=open|resolved`",
                "tags": [
                    "Incidents",
                    "Incident"
                ],
                "parameters": [
                    {
                        "name": "state",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "enum": [
                                "open",
                                "resolved",
                                null
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1,
                            "maximum": 100
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `IncidentResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "allOf": [
                                                    {
                                                        "$ref": "#\/components\/schemas\/IncidentResource"
                                                    },
                                                    {
                                                        "type": "object",
                                                        "required": [
                                                            "monitor"
                                                        ]
                                                    }
                                                ]
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "next_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the next set of items."
                                                },
                                                "prev_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the previous set of items."
                                                }
                                            },
                                            "required": [
                                                "path",
                                                "per_page",
                                                "next_cursor",
                                                "prev_cursor"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/incidents\/{incident}": {
            "get": {
                "operationId": "incidents.show",
                "summary": "Get an incident",
                "tags": [
                    "Incidents",
                    "Incident"
                ],
                "parameters": [
                    {
                        "name": "incident",
                        "in": "path",
                        "required": true,
                        "description": "The incident public id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`IncidentResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#\/components\/schemas\/IncidentResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "monitor"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "patch": {
                "operationId": "incidents.update",
                "summary": "Update the root-cause note",
                "tags": [
                    "Incidents",
                    "Incident"
                ],
                "parameters": [
                    {
                        "name": "incident",
                        "in": "path",
                        "required": true,
                        "description": "The incident public id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "note": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 5000
                                    }
                                },
                                "required": [
                                    "note"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`IncidentResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#\/components\/schemas\/IncidentResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "monitor"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/incidents\/{incident}\/acknowledge": {
            "post": {
                "operationId": "incidents.acknowledge",
                "summary": "Acknowledge an incident (stops reminders)",
                "tags": [
                    "Incidents",
                    "Incident"
                ],
                "parameters": [
                    {
                        "name": "incident",
                        "in": "path",
                        "required": true,
                        "description": "The incident public id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`IncidentResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#\/components\/schemas\/IncidentResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "monitor"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/maintenance-windows": {
            "get": {
                "operationId": "maintenance-windows.index",
                "summary": "List maintenance windows",
                "tags": [
                    "Maintenance windows",
                    "MaintenanceWindow"
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `MaintenanceWindowResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "allOf": [
                                                    {
                                                        "$ref": "#\/components\/schemas\/MaintenanceWindowResource"
                                                    },
                                                    {
                                                        "type": "object",
                                                        "required": [
                                                            "monitors"
                                                        ]
                                                    }
                                                ]
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "next_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the next set of items."
                                                },
                                                "prev_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the previous set of items."
                                                }
                                            },
                                            "required": [
                                                "path",
                                                "per_page",
                                                "next_cursor",
                                                "prev_cursor"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "post": {
                "operationId": "maintenance-windows.store",
                "summary": "Create a maintenance window. `starts_at`\/`ends_at` are interpreted in `timezone` unless they carry an offset",
                "tags": [
                    "Maintenance windows",
                    "MaintenanceWindow"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/MaintenanceWindowRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "`MaintenanceWindowResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#\/components\/schemas\/MaintenanceWindowResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "monitors"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/maintenance-windows\/{maintenanceWindow}": {
            "get": {
                "operationId": "maintenance-windows.show",
                "summary": "Get a maintenance window",
                "tags": [
                    "Maintenance windows",
                    "MaintenanceWindow"
                ],
                "parameters": [
                    {
                        "name": "maintenanceWindow",
                        "in": "path",
                        "required": true,
                        "description": "The maintenance window public id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`MaintenanceWindowResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#\/components\/schemas\/MaintenanceWindowResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "monitors"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "put": {
                "operationId": "maintenance-windows.update",
                "summary": "Update a maintenance window",
                "tags": [
                    "Maintenance windows",
                    "MaintenanceWindow"
                ],
                "parameters": [
                    {
                        "name": "maintenanceWindow",
                        "in": "path",
                        "required": true,
                        "description": "The maintenance window public id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/MaintenanceWindowRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`MaintenanceWindowResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#\/components\/schemas\/MaintenanceWindowResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "delete": {
                "operationId": "maintenance-windows.destroy",
                "summary": "Delete a maintenance window",
                "tags": [
                    "Maintenance windows",
                    "MaintenanceWindow"
                ],
                "parameters": [
                    {
                        "name": "maintenanceWindow",
                        "in": "path",
                        "required": true,
                        "description": "The maintenance window public id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/monitors": {
            "get": {
                "operationId": "monitors.index",
                "description": "Filters: `status`, `type`, `tag` (tag id), `search`. Cursor pagination with `cursor` and `limit` (max 100).",
                "summary": "List monitors",
                "tags": [
                    "Monitors",
                    "Monitor"
                ],
                "parameters": [
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "enum": [
                                "pending",
                                "up",
                                "down",
                                "paused",
                                "maintenance",
                                null
                            ]
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "enum": [
                                "http",
                                "keyword",
                                "ping",
                                "port",
                                "heartbeat",
                                "ssl",
                                null
                            ]
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "maxLength": 26
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "maxLength": 100
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1,
                            "maximum": 100
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `MonitorResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "allOf": [
                                                    {
                                                        "$ref": "#\/components\/schemas\/MonitorResource"
                                                    },
                                                    {
                                                        "type": "object",
                                                        "required": [
                                                            "tags"
                                                        ]
                                                    }
                                                ]
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "next_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the next set of items."
                                                },
                                                "prev_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the previous set of items."
                                                }
                                            },
                                            "required": [
                                                "path",
                                                "per_page",
                                                "next_cursor",
                                                "prev_cursor"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "post": {
                "operationId": "monitors.store",
                "summary": "Create a monitor",
                "tags": [
                    "Monitors",
                    "Monitor"
                ],
                "responses": {
                    "201": {
                        "description": "`MonitorResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#\/components\/schemas\/MonitorResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "tags",
                                                        "alert_contacts"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/monitors\/{monitor}": {
            "get": {
                "operationId": "monitors.show",
                "summary": "Get a monitor",
                "tags": [
                    "Monitors",
                    "Monitor"
                ],
                "parameters": [
                    {
                        "name": "monitor",
                        "in": "path",
                        "required": true,
                        "description": "The monitor public id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`MonitorResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#\/components\/schemas\/MonitorResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "tags",
                                                        "alert_contacts"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "patch": {
                "operationId": "monitors.update",
                "summary": "Update a monitor (partial)",
                "tags": [
                    "Monitors",
                    "Monitor"
                ],
                "parameters": [
                    {
                        "name": "monitor",
                        "in": "path",
                        "required": true,
                        "description": "The monitor public id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`MonitorResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#\/components\/schemas\/MonitorResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "delete": {
                "operationId": "monitors.destroy",
                "summary": "Delete a monitor",
                "tags": [
                    "Monitors",
                    "Monitor"
                ],
                "parameters": [
                    {
                        "name": "monitor",
                        "in": "path",
                        "required": true,
                        "description": "The monitor public id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/monitors\/{monitor}\/checks": {
            "get": {
                "operationId": "monitors.checks",
                "summary": "Raw check results (up to the retention window, 30 days by default)",
                "tags": [
                    "Monitors",
                    "Monitor"
                ],
                "parameters": [
                    {
                        "name": "monitor",
                        "in": "path",
                        "required": true,
                        "description": "The monitor public id",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1,
                            "maximum": 100
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `CheckResultResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/CheckResultResource"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "next_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the next set of items."
                                                },
                                                "prev_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the previous set of items."
                                                }
                                            },
                                            "required": [
                                                "path",
                                                "per_page",
                                                "next_cursor",
                                                "prev_cursor"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/monitors\/{monitor}\/uptime": {
            "get": {
                "operationId": "monitors.uptime",
                "summary": "Uptime for a period (`24h`, `7d`, `30d`, `90d`) or a custom `from`\/`to` range",
                "tags": [
                    "Monitors",
                    "Monitor"
                ],
                "parameters": [
                    {
                        "name": "monitor",
                        "in": "path",
                        "required": true,
                        "description": "The monitor public id",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "period",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "enum": [
                                "24h",
                                "7d",
                                "30d",
                                "90d",
                                "custom",
                                null
                            ]
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "format": "date-time"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "period": {
                                                    "anyOf": [
                                                        {
                                                            "anyOf": [
                                                                {
                                                                    "type": "string"
                                                                },
                                                                {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "30d"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        {
                                                            "type": [
                                                                "number",
                                                                "null"
                                                            ]
                                                        }
                                                    ]
                                                },
                                                "uptime_percent": {
                                                    "type": [
                                                        "number",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "period",
                                                "uptime_percent"
                                            ],
                                            "additionalProperties": {
                                                "type": [
                                                    "number",
                                                    "null"
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/monitors\/{monitor}\/response-times": {
            "get": {
                "operationId": "monitors.response-times",
                "summary": "Response-time series: `raw` (last 24 h), `hour` or `day` resolution",
                "tags": [
                    "Monitors",
                    "Monitor"
                ],
                "parameters": [
                    {
                        "name": "monitor",
                        "in": "path",
                        "required": true,
                        "description": "The monitor public id",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "resolution",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "enum": [
                                "raw",
                                "hour",
                                "day",
                                null
                            ]
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "format": "date-time"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "t": {
                                                        "type": "string"
                                                    },
                                                    "avg_ms": {
                                                        "type": [
                                                            "integer",
                                                            "null"
                                                        ]
                                                    },
                                                    "min_ms": {
                                                        "type": [
                                                            "integer",
                                                            "null"
                                                        ]
                                                    },
                                                    "max_ms": {
                                                        "type": [
                                                            "integer",
                                                            "null"
                                                        ]
                                                    },
                                                    "p95_ms": {
                                                        "type": [
                                                            "integer",
                                                            "null"
                                                        ]
                                                    },
                                                    "uptime_percent": {
                                                        "type": [
                                                            "number",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "t",
                                                    "avg_ms",
                                                    "min_ms",
                                                    "max_ms",
                                                    "p95_ms",
                                                    "uptime_percent"
                                                ]
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "resolution": {
                                                    "anyOf": [
                                                        {
                                                            "type": "string"
                                                        },
                                                        {
                                                            "type": "string",
                                                            "enum": [
                                                                "hour"
                                                            ]
                                                        }
                                                    ]
                                                },
                                                "from": {
                                                    "type": "string"
                                                },
                                                "to": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "resolution",
                                                "from",
                                                "to"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/monitors\/{monitor}\/incidents": {
            "get": {
                "operationId": "monitors.incidents",
                "summary": "Incidents of a monitor",
                "tags": [
                    "Monitors",
                    "Monitor"
                ],
                "parameters": [
                    {
                        "name": "monitor",
                        "in": "path",
                        "required": true,
                        "description": "The monitor public id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `IncidentResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/IncidentResource"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "next_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the next set of items."
                                                },
                                                "prev_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the previous set of items."
                                                }
                                            },
                                            "required": [
                                                "path",
                                                "per_page",
                                                "next_cursor",
                                                "prev_cursor"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/monitors\/{monitor}\/pause": {
            "post": {
                "operationId": "monitors.pause",
                "summary": "Pause a monitor",
                "tags": [
                    "Monitors",
                    "Monitor"
                ],
                "parameters": [
                    {
                        "name": "monitor",
                        "in": "path",
                        "required": true,
                        "description": "The monitor public id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`MonitorResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#\/components\/schemas\/MonitorResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/monitors\/{monitor}\/resume": {
            "post": {
                "operationId": "monitors.resume",
                "summary": "Resume a paused monitor",
                "tags": [
                    "Monitors",
                    "Monitor"
                ],
                "parameters": [
                    {
                        "name": "monitor",
                        "in": "path",
                        "required": true,
                        "description": "The monitor public id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`MonitorResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#\/components\/schemas\/MonitorResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/status-pages": {
            "get": {
                "operationId": "status-pages.index",
                "summary": "List status pages",
                "tags": [
                    "Status pages",
                    "StatusPage"
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `StatusPageResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/StatusPageResource"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "next_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the next set of items."
                                                },
                                                "prev_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the previous set of items."
                                                }
                                            },
                                            "required": [
                                                "path",
                                                "per_page",
                                                "next_cursor",
                                                "prev_cursor"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "post": {
                "operationId": "status-pages.store",
                "summary": "Create a status page",
                "tags": [
                    "Status pages",
                    "StatusPage"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart\/form-data": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/StatusPageRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "`StatusPageResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#\/components\/schemas\/StatusPageResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "monitors"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            }
        },
        "\/status-pages\/{statusPage}": {
            "get": {
                "operationId": "status-pages.show",
                "summary": "Get a status page",
                "tags": [
                    "Status pages",
                    "StatusPage"
                ],
                "parameters": [
                    {
                        "name": "statusPage",
                        "in": "path",
                        "required": true,
                        "description": "The status page public id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`StatusPageResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#\/components\/schemas\/StatusPageResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "monitors"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "put": {
                "operationId": "status-pages.update",
                "summary": "Update a status page",
                "tags": [
                    "Status pages",
                    "StatusPage"
                ],
                "parameters": [
                    {
                        "name": "statusPage",
                        "in": "path",
                        "required": true,
                        "description": "The status page public id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart\/form-data": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/StatusPageRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`StatusPageResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#\/components\/schemas\/StatusPageResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    }
                }
            },
            "delete": {
                "operationId": "status-pages.destroy",
                "summary": "Delete a status page",
                "tags": [
                    "Status pages",
                    "StatusPage"
                ],
                "parameters": [
                    {
                        "name": "statusPage",
                        "in": "path",
                        "required": true,
                        "description": "The status page public id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/status-pages\/{statusPage}\/monitors": {
            "put": {
                "operationId": "status-pages.monitors",
                "summary": "Replace the monitors shown on a status page (order = array order)",
                "tags": [
                    "Status pages",
                    "StatusPage"
                ],
                "parameters": [
                    {
                        "name": "statusPage",
                        "in": "path",
                        "required": true,
                        "description": "The status page public id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "monitors": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string"
                                                },
                                                "display_name": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "maxLength": 120
                                                },
                                                "group_name": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "maxLength": 80
                                                }
                                            },
                                            "required": [
                                                "id"
                                            ]
                                        },
                                        "maxItems": 100
                                    }
                                },
                                "required": [
                                    "monitors"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`StatusPageResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#\/components\/schemas\/StatusPageResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/tags": {
            "get": {
                "operationId": "tags.index",
                "summary": "List tags",
                "tags": [
                    "Tags",
                    "Tag"
                ],
                "responses": {
                    "200": {
                        "description": "Array of `TagResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/TagResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "post": {
                "operationId": "tags.store",
                "summary": "Create a tag",
                "tags": [
                    "Tags",
                    "Tag"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "maxLength": 50
                                    },
                                    "color": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "enum": [
                                            "indigo",
                                            "emerald",
                                            "amber",
                                            "rose",
                                            "sky",
                                            "violet",
                                            "slate",
                                            null
                                        ]
                                    }
                                },
                                "required": [
                                    "name"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "`TagResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#\/components\/schemas\/TagResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/tags\/{tag}": {
            "delete": {
                "operationId": "tags.destroy",
                "summary": "Delete a tag (monitors are kept)",
                "tags": [
                    "Tags",
                    "Tag"
                ],
                "parameters": [
                    {
                        "name": "tag",
                        "in": "path",
                        "required": true,
                        "description": "The tag public id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#\/components\/responses\/AuthorizationException"
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "http": {
                "type": "http",
                "scheme": "bearer",
                "bearerFormat": "pl_\u2026"
            }
        },
        "schemas": {
            "AlertContactRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 100
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "email",
                            "discord",
                            "slack",
                            "webhook"
                        ]
                    }
                },
                "required": [
                    "name",
                    "type"
                ],
                "title": "AlertContactRequest"
            },
            "AlertContactResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "target": {
                        "description": "Webhook URLs of Discord\/Slack embed credentials: never returned."
                    },
                    "verified": {
                        "type": "boolean"
                    },
                    "is_active": {
                        "type": "boolean"
                    },
                    "disabled_reason": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "id",
                    "type",
                    "name",
                    "target",
                    "verified",
                    "is_active",
                    "disabled_reason",
                    "created_at"
                ],
                "title": "AlertContactResource"
            },
            "CheckResultResource": {
                "type": "object",
                "properties": {
                    "checked_at": {
                        "type": "string"
                    },
                    "is_up": {
                        "type": "boolean"
                    },
                    "response_time_ms": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "status_code": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "error_type": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "error_message": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "is_confirmation": {
                        "type": "boolean"
                    },
                    "excluded": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "checked_at",
                    "is_up",
                    "response_time_ms",
                    "status_code",
                    "error_type",
                    "error_message",
                    "is_confirmation",
                    "excluded"
                ],
                "title": "CheckResultResource"
            },
            "IncidentResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "started_at": {
                        "type": "string"
                    },
                    "resolved_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "duration_seconds": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "is_open": {
                        "type": "boolean"
                    },
                    "error_type": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "error_message": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "acknowledged_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "note": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "monitor": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "name": {
                                "type": "string"
                            },
                            "type": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "id",
                            "name",
                            "type"
                        ]
                    }
                },
                "required": [
                    "id",
                    "started_at",
                    "resolved_at",
                    "duration_seconds",
                    "is_open",
                    "error_type",
                    "error_message",
                    "acknowledged_at",
                    "note"
                ],
                "title": "IncidentResource"
            },
            "MaintenanceRecurrence": {
                "type": "string",
                "enum": [
                    "none",
                    "daily",
                    "weekly",
                    "monthly"
                ],
                "title": "MaintenanceRecurrence"
            },
            "MaintenanceWindowRequest": {
                "type": "object",
                "description": "Times arrive as local wall-clock values (\"2026-10-01T02:00\") in the chosen timezone and\nare stored in UTC.",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 120
                    },
                    "starts_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "ends_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "timezone": {
                        "type": "string"
                    },
                    "recurrence": {
                        "$ref": "#\/components\/schemas\/MaintenanceRecurrence"
                    },
                    "days": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 7
                        }
                    },
                    "monitors": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "maxItems": 500
                    }
                },
                "required": [
                    "name",
                    "starts_at",
                    "ends_at",
                    "timezone",
                    "recurrence"
                ],
                "title": "MaintenanceWindowRequest"
            },
            "MaintenanceWindowResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "starts_at": {
                        "type": "string"
                    },
                    "ends_at": {
                        "type": "string"
                    },
                    "timezone": {
                        "type": "string"
                    },
                    "recurrence": {
                        "type": "string"
                    },
                    "days": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "monitors": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "required": [
                    "id",
                    "name",
                    "starts_at",
                    "ends_at",
                    "timezone",
                    "recurrence",
                    "days"
                ],
                "title": "MaintenanceWindowResource"
            },
            "MonitorResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string"
                    },
                    "url": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "host": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "port": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "interval_seconds": {
                        "type": "integer"
                    },
                    "timeout_seconds": {
                        "type": "integer"
                    },
                    "confirmation_count": {
                        "type": "integer"
                    },
                    "http_method": {
                        "type": "string"
                    },
                    "expected_status_codes": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "follow_redirects": {
                        "type": "boolean"
                    },
                    "verify_ssl": {
                        "type": "boolean"
                    },
                    "keyword": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "keyword_mode": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "keyword_case_sensitive": {
                        "type": "boolean"
                    },
                    "ssl_alert_days": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "integer"
                        }
                    },
                    "ssl_expires_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "ssl_issuer": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "heartbeat_url": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "heartbeat_grace_seconds": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "dns_record_type": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "dns_expected_value": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "last_heartbeat_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "is_public_badge": {
                        "type": "boolean"
                    },
                    "last_checked_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "last_status_change_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "last_response_time_ms": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string"
                                },
                                "name": {
                                    "type": "string"
                                },
                                "color": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                }
                            },
                            "required": [
                                "id",
                                "name",
                                "color"
                            ]
                        }
                    },
                    "alert_contacts": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string"
                                },
                                "name": {
                                    "type": "string"
                                },
                                "type": {
                                    "type": "string"
                                },
                                "notify_after_minutes": {
                                    "type": "integer"
                                },
                                "reminder_every_minutes": {
                                    "type": [
                                        "integer",
                                        "null"
                                    ]
                                }
                            },
                            "required": [
                                "id",
                                "name",
                                "type",
                                "notify_after_minutes",
                                "reminder_every_minutes"
                            ]
                        }
                    },
                    "http_headers": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "description": "Secrets (headers, body, basic auth) are only returned to the owner's edit form.",
                        "additionalProperties": {
                            "type": "string"
                        }
                    },
                    "http_body": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "http_basic_auth": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "properties": {
                            "username": {
                                "type": "string"
                            },
                            "password": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "username",
                            "password"
                        ]
                    }
                },
                "required": [
                    "id",
                    "name",
                    "type",
                    "status",
                    "url",
                    "host",
                    "port",
                    "interval_seconds",
                    "timeout_seconds",
                    "confirmation_count",
                    "http_method",
                    "expected_status_codes",
                    "follow_redirects",
                    "verify_ssl",
                    "keyword",
                    "keyword_mode",
                    "keyword_case_sensitive",
                    "ssl_alert_days",
                    "ssl_expires_at",
                    "ssl_issuer",
                    "heartbeat_url",
                    "heartbeat_grace_seconds",
                    "dns_record_type",
                    "dns_expected_value",
                    "last_heartbeat_at",
                    "is_public_badge",
                    "last_checked_at",
                    "last_status_change_at",
                    "last_response_time_ms",
                    "created_at"
                ],
                "title": "MonitorResource"
            },
            "StatusPageLocale": {
                "type": "string",
                "enum": [
                    "auto",
                    "tr",
                    "en"
                ],
                "title": "StatusPageLocale"
            },
            "StatusPageRequest": {
                "type": "object",
                "properties": {
                    "title": {
                        "type": "string",
                        "maxLength": 120
                    },
                    "slug": {
                        "type": "string",
                        "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
                        "minLength": 3,
                        "maxLength": 64
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 500
                    },
                    "locale": {
                        "$ref": "#\/components\/schemas\/StatusPageLocale"
                    },
                    "theme": {
                        "$ref": "#\/components\/schemas\/StatusPageTheme"
                    },
                    "is_published": {
                        "type": "boolean"
                    },
                    "noindex": {
                        "type": "boolean"
                    },
                    "show_response_times": {
                        "type": "boolean"
                    },
                    "show_uptime_bars": {
                        "type": "boolean"
                    },
                    "password": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "minLength": 6,
                        "maxLength": 100
                    },
                    "remove_password": {
                        "type": "boolean"
                    },
                    "logo": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "binary",
                        "contentMediaType": "application\/octet-stream",
                        "description": "Maximum file size: 512 kilobytes."
                    },
                    "remove_logo": {
                        "type": "boolean"
                    },
                    "monitors": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string"
                                },
                                "display_name": {
                                    "type": [
                                        "string",
                                        "null"
                                    ],
                                    "maxLength": 120
                                },
                                "group_name": {
                                    "type": [
                                        "string",
                                        "null"
                                    ],
                                    "maxLength": 80
                                }
                            },
                            "required": [
                                "id"
                            ]
                        },
                        "maxItems": 100
                    }
                },
                "required": [
                    "title",
                    "slug",
                    "locale",
                    "theme"
                ],
                "title": "StatusPageRequest"
            },
            "StatusPageResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "slug": {
                        "type": "string"
                    },
                    "title": {
                        "type": "string"
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "locale": {
                        "type": "string"
                    },
                    "theme": {
                        "type": "string"
                    },
                    "is_published": {
                        "type": "boolean"
                    },
                    "password_protected": {
                        "type": "boolean"
                    },
                    "noindex": {
                        "type": "boolean"
                    },
                    "show_response_times": {
                        "type": "boolean"
                    },
                    "show_uptime_bars": {
                        "type": "boolean"
                    },
                    "url": {
                        "type": "string"
                    },
                    "monitors": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string"
                                },
                                "display_name": {},
                                "group_name": {},
                                "sort_order": {
                                    "type": "integer"
                                }
                            },
                            "required": [
                                "id",
                                "display_name",
                                "group_name",
                                "sort_order"
                            ]
                        }
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "id",
                    "slug",
                    "title",
                    "description",
                    "locale",
                    "theme",
                    "is_published",
                    "password_protected",
                    "noindex",
                    "show_response_times",
                    "show_uptime_bars",
                    "url",
                    "created_at"
                ],
                "title": "StatusPageResource"
            },
            "StatusPageTheme": {
                "type": "string",
                "enum": [
                    "light",
                    "dark",
                    "auto"
                ],
                "title": "StatusPageTheme"
            },
            "TagResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "color": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "id",
                    "name",
                    "color"
                ],
                "title": "TagResource"
            }
        },
        "responses": {
            "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"
                            ]
                        }
                    }
                }
            },
            "AuthorizationException": {
                "description": "Authorization error",
                "content": {
                    "application\/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Error overview."
                                }
                            },
                            "required": [
                                "message"
                            ]
                        }
                    }
                }
            },
            "ModelNotFoundException": {
                "description": "Not found",
                "content": {
                    "application\/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Error overview."
                                }
                            },
                            "required": [
                                "message"
                            ]
                        }
                    }
                }
            }
        }
    }
}