{
    "openapi": "3.0.0",
    "info": {
        "title": "Uptimia API v2",
        "description": "The Uptimia REST API lets you do everything you can do in the web app \u2014\nmanage monitors, contacts, status pages, maintenance windows, reports and\nteams, and read incidents, logs and uptime statistics \u2014 over HTTPS, returning JSON.\n\nThis is **API v2**, the current version. The v1 API remains available but is\nlegacy; new integrations should use v2.\n\n# Getting started\n\nUptimia is a website uptime and performance monitoring tool. With the API you\ncan access the features you normally use in your browser via simple HTTPS calls.\nThe API supports the standard `GET`, `POST`, `PATCH` and `DELETE` methods.\n\nSend all requests to `https://www.uptimia.com/api/v2/`.\n\nEvery call needs an API key \u2014 see **Authentication** below \u2014 then browse the\navailable endpoints in the reference that follows.\n\n# Authentication\n\nThe Uptimia API uses **Bearer authentication**. Include your API key in an\n`Authorization` header on every request:\n\n```\nAuthorization: Bearer YOUR_API_KEY\n```\n\n## How to create an API key\n\n1. Log in to your Uptimia account and open **Settings \u2192 API Keys**.\n2. Click **Create API key** and give it a name (for your own reference).\n3. Copy the key that is shown \u2014 for security you won't be able to see it again.\n4. Use the key in the `Authorization` header of your requests.\n\n> **Keep your API key secret.** Don't share it or commit it to source control.\n> If you think a key may be compromised, delete it and create a new one.\n\n## How to use an API key\n\nPass the key as a Bearer token. For example, with cURL:\n\n```\ncurl \"https://www.uptimia.com/api/v2/uptime\" \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n```\n\n## When the API key is invalid\n\nRequests with a missing or invalid key return `401 Unauthorized`:\n\n```\n{\n  \"error_code\": \"invalid_api_key\",\n  \"message\": \"API key invalid\"\n}\n```\n",
        "version": "2.0.0"
    },
    "servers": [
        {
            "url": "https://www.uptimia.com",
            "description": "Production"
        }
    ],
    "paths": {
        "/api/v2/branding": {
            "get": {
                "tags": [
                    "Branding"
                ],
                "summary": "List all branding themes for the authenticated account",
                "description": "Returns every branding theme owned by the account, each with its ID, name and a fully-qualified logo URL (relative filenames are expanded to the CDN uploads base URL). Themes control the colours and logo applied to email reports and status pages. The response includes a metadata.total count.",
                "operationId": "get_api-v2-branding-list",
                "responses": {
                    "200": {
                        "description": "List of branding themes",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer"
                                                    },
                                                    "name": {
                                                        "type": "string"
                                                    },
                                                    "logo": {
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            },
            "post": {
                "tags": [
                    "Branding"
                ],
                "summary": "Create a new branding theme",
                "description": "Creates a new branding theme for the account with a required name and an optional map of colour overrides; unspecified colours fall back to defaults. A logo is added separately via the logo upload endpoint. Returns the new theme ID, or a 400 error if the name is missing or creation fails.",
                "operationId": "post_api-v2-branding-create",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name"
                                ],
                                "properties": {
                                    "name": {
                                        "description": "Theme name",
                                        "type": "string"
                                    },
                                    "colors": {
                                        "description": "Color overrides",
                                        "type": "object"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Theme created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v2/branding/{id}": {
            "get": {
                "tags": [
                    "Branding"
                ],
                "summary": "Get a single branding theme with all color data",
                "description": "Retrieves one branding theme by ID with its name, logo URL and the full set of colour fields (backgrounds, text, headers, links and separators). The theme must belong to the authenticated account; returns 404 if it does not exist or is not yours.",
                "operationId": "get_api-v2-branding-get",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Branding theme details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "type": "string"
                                                },
                                                "logo": {
                                                    "type": "string"
                                                },
                                                "colors": {
                                                    "type": "object"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Theme not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "theme_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Branding"
                ],
                "summary": "Delete a branding theme",
                "description": "Permanently deletes a branding theme from the account. The theme must belong to the authenticated account; returns 404 if not found. This action cannot be undone.",
                "operationId": "delete_api-v2-branding-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Theme deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Theme not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "theme_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Branding"
                ],
                "summary": "Update an existing branding theme",
                "description": "Updates a branding theme's name and colours; supplied colour fields are merged over the theme's existing colours and the current logo is preserved. Returns the full updated theme. The theme must belong to the authenticated account; returns 404 if not found.",
                "operationId": "patch_api-v2-branding-update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "colors": {
                                        "type": "object"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Theme updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "type": "string"
                                                },
                                                "logo": {
                                                    "type": "string"
                                                },
                                                "colors": {
                                                    "type": "object"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Theme not found"
                    }
                }
            }
        },
        "/api/v2/branding/{id}/logo": {
            "post": {
                "tags": [
                    "Branding"
                ],
                "summary": "Upload a logo for a branding theme",
                "description": "Uploads a logo image (PNG, JPG or SVG, max 2MB; SVGs are sanitized server-side) via multipart form-data and attaches it to the theme, replacing any previous logo. Returns the fully-qualified logo URL. The theme must belong to the authenticated account; returns 404 if not found.",
                "operationId": "post_api-v2-branding-logo-upload",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "logo": {
                                        "description": "Logo file (PNG, JPG or SVG, max 2MB). SVGs are sanitized server-side.",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Logo uploaded",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "filename": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Upload error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Theme not found"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Branding"
                ],
                "summary": "Remove the logo from a branding theme",
                "description": "Clears the logo from a branding theme while keeping the theme and its colours intact. The theme must belong to the authenticated account; returns 404 if not found.",
                "operationId": "delete_api-v2-branding-logo-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Logo removed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Theme not found"
                    }
                }
            }
        },
        "/api/v2/contacts/types": {
            "get": {
                "tags": [
                    "Contacts"
                ],
                "summary": "List available contact types (Email, SMS + user integrations)",
                "description": "Returns the set of contact channel types you can assign to a new contact: the built-in Email and SMS types plus one entry per integration profile already configured on your account (Slack, Discord, Telegram, webhooks, etc.). Use the returned ids/type codes when creating or updating contacts.",
                "operationId": "get_api-v2-contacts-types",
                "responses": {
                    "200": {
                        "description": "Available contact types",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "description": "1=email, 2=sms, or integration profile ID",
                                                        "type": "integer"
                                                    },
                                                    "type": {
                                                        "description": "Type code (email, sms, slack, etc.)",
                                                        "type": "string"
                                                    },
                                                    "name": {
                                                        "description": "Display name",
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v2/contacts": {
            "get": {
                "tags": [
                    "Contacts"
                ],
                "summary": "List all contacts for the authenticated account",
                "description": "Returns every alert recipient configured on your account, including email and SMS contacts as well as integration-backed contacts, with their confirmation status and the operator they belong to. The response includes a metadata.total count; results are not paginated.",
                "operationId": "get_api-v2-contacts-list",
                "responses": {
                    "200": {
                        "description": "List of contacts",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer"
                                                    },
                                                    "user": {
                                                        "description": "Owning account user ID",
                                                        "type": "integer"
                                                    },
                                                    "operator": {
                                                        "description": "Owning operator ID (0 for the account owner)",
                                                        "type": "integer"
                                                    },
                                                    "name": {
                                                        "type": "string"
                                                    },
                                                    "type": {
                                                        "description": "Type code (1=email, 2=sms, integration code otherwise)",
                                                        "type": "integer"
                                                    },
                                                    "contact": {
                                                        "description": "Contact value (email address, phone number, etc.)",
                                                        "type": "string"
                                                    },
                                                    "is_integration": {
                                                        "description": "1 if this contact is backed by an integration",
                                                        "type": "integer"
                                                    },
                                                    "integration_type": {
                                                        "type": "string"
                                                    },
                                                    "integration_id": {
                                                        "type": "integer"
                                                    },
                                                    "is_confirmed": {
                                                        "type": "integer"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            },
            "post": {
                "tags": [
                    "Contacts"
                ],
                "summary": "Create a new contact",
                "description": "Adds a new alert recipient to your account. For email/sms types the value is the address or phone number, and SMS numbers must be in international format (starting with a +); for integration types the value is optional and integration_id links to an existing integration profile. SMS contacts start unconfirmed (is_confirmed=false) and must be verified via the confirmation flow before they will receive alerts.",
                "operationId": "post_api-v2-contacts-create",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "type",
                                    "value"
                                ],
                                "properties": {
                                    "name": {
                                        "description": "Contact display name",
                                        "type": "string"
                                    },
                                    "type": {
                                        "description": "Contact type (email, sms, slack, etc.)",
                                        "type": "string",
                                        "example": "email"
                                    },
                                    "value": {
                                        "description": "Contact value (email address, phone number, etc.)",
                                        "type": "string",
                                        "example": "john@example.com"
                                    },
                                    "integration_id": {
                                        "description": "Integration ID if this is an integration contact",
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "user_id": {
                                        "description": "User/operator ID this contact belongs to (0 for main user)",
                                        "type": "integer",
                                        "example": 0
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Contact created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "is_confirmed": {
                                                    "type": "boolean"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v2/contacts/{id}": {
            "get": {
                "tags": [
                    "Contacts"
                ],
                "summary": "Get a single contact by ID",
                "description": "Returns the full record for one alert recipient, including its type, value, confirmation flag and integration linkage. The contact must belong to the authenticated account; a 404 is returned if no matching contact exists.",
                "operationId": "get_api-v2-contacts-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Contact details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "user": {
                                                    "description": "Owning account user ID",
                                                    "type": "integer"
                                                },
                                                "operator": {
                                                    "description": "Owning operator ID (0 for the account owner)",
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "type": "string"
                                                },
                                                "type": {
                                                    "description": "Type code (1=email, 2=sms, integration code otherwise)",
                                                    "type": "integer"
                                                },
                                                "contact": {
                                                    "description": "Contact value (email address, phone number, etc.)",
                                                    "type": "string"
                                                },
                                                "is_integration": {
                                                    "description": "1 if this contact is backed by an integration",
                                                    "type": "integer"
                                                },
                                                "integration_type": {
                                                    "type": "string"
                                                },
                                                "integration_id": {
                                                    "type": "integer"
                                                },
                                                "is_confirmed": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Contact not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "contact_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Contacts"
                ],
                "summary": "Delete a contact",
                "description": "Permanently removes an alert recipient from your account so it will no longer receive notifications. This action cannot be undone; returns a 400 if the contact could not be deleted.",
                "operationId": "delete_api-v2-contacts-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Contact deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deletion failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "could_not_delete_contact"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            },
            "patch": {
                "tags": [
                    "Contacts"
                ],
                "summary": "Update an existing contact",
                "description": "Modifies an existing alert recipient; only the fields you supply are changed and any omitted fields keep their current values. SMS numbers must remain in international format (starting with a +). The contact must belong to the authenticated account, otherwise a 404 is returned.",
                "operationId": "patch_api-v2-contacts-update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "description": "Contact display name",
                                        "type": "string"
                                    },
                                    "type": {
                                        "description": "Contact type",
                                        "type": "string"
                                    },
                                    "value": {
                                        "description": "Contact value",
                                        "type": "string"
                                    },
                                    "integration_id": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Contact updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "is_confirmed": {
                                                    "type": "boolean"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Contact not found"
                    }
                }
            }
        },
        "/api/v2/contacts/selected/{monitorId}/{type}": {
            "get": {
                "tags": [
                    "Contacts"
                ],
                "summary": "Get contacts with selection state for a specific monitor",
                "description": "Returns all of your contacts annotated with an is_selected flag indicating whether each one is currently assigned to receive alerts for the given monitor. Use it to render an alert-recipient picker for a monitor of the specified type (uptime, ssl, domain, fpl, transaction, rum, virus, reports).",
                "operationId": "get_api-v2-contacts-selected",
                "parameters": [
                    {
                        "name": "monitorId",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "type",
                        "in": "path",
                        "description": "Monitor type (uptime, ssl, domain, fpl, transaction, rum, virus, reports)",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Contacts with selection state",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer"
                                                    },
                                                    "name": {
                                                        "type": "string"
                                                    },
                                                    "type": {
                                                        "description": "Type code (email, sms, slack, etc.)",
                                                        "type": "string"
                                                    },
                                                    "type_text": {
                                                        "description": "Human-readable type label",
                                                        "type": "string"
                                                    },
                                                    "contact_value": {
                                                        "description": "Contact value (email address, phone number, etc.)",
                                                        "type": "string"
                                                    },
                                                    "is_selected": {
                                                        "description": "Whether this contact is assigned to the monitor",
                                                        "type": "boolean"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v2/contacts/{id}/request-confirmation": {
            "post": {
                "tags": [
                    "Contacts"
                ],
                "summary": "Send an SMS confirmation code to a contact",
                "description": "Generates and texts a one-time confirmation code to an SMS contact so it can be verified before receiving alerts. The contact must belong to your account and be an SMS type; each send is charged against your SMS credit balance and is rate-limited per number, so repeated calls may return 429 (too many requests) or fail if you have no SMS credits.",
                "operationId": "post_api-v2-contacts-request-confirmation",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Confirmation code sent",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "429": {
                        "description": "Too many confirmation requests"
                    }
                }
            }
        },
        "/api/v2/contacts/{id}/confirm": {
            "post": {
                "tags": [
                    "Contacts"
                ],
                "summary": "Verify an SMS confirmation code",
                "description": "Confirms an SMS contact by submitting the code previously delivered via the request-confirmation endpoint; on success the contact is marked confirmed and becomes eligible to receive alerts. The contact must belong to your account, and an incorrect code returns a 400 with code invalid_code.",
                "operationId": "post_api-v2-contacts-confirm",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "code"
                                ],
                                "properties": {
                                    "code": {
                                        "description": "The confirmation code received via SMS",
                                        "type": "string",
                                        "example": "123456"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Contact confirmed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid code",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "invalid_code"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v2/incidents/active": {
            "get": {
                "tags": [
                    "Incidents"
                ],
                "summary": "List active incidents",
                "description": "Returns a list of currently active (ongoing) incidents across all monitor types. Supports filtering by groups or individual monitors.",
                "operationId": "get_api-v2-incidents-active",
                "parameters": [
                    {
                        "name": "all",
                        "in": "query",
                        "description": "Show all monitors (default true)",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "groups[]",
                        "in": "query",
                        "description": "Filter by group IDs",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "monitors[uptime][]",
                        "in": "query",
                        "description": "Filter by specific uptime monitor IDs",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "monitors[ssl][]",
                        "in": "query",
                        "description": "Filter by specific SSL monitor IDs",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "monitors[domain][]",
                        "in": "query",
                        "description": "Filter by specific domain monitor IDs",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "monitors[fpl][]",
                        "in": "query",
                        "description": "Filter by specific speed (full page load) monitor IDs. Note: the type key for speed monitors is \"fpl\".",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "monitors[transaction][]",
                        "in": "query",
                        "description": "Filter by specific transaction monitor IDs",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "monitors[virus][]",
                        "in": "query",
                        "description": "Filter by specific virus monitor IDs",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "monitors[rum][]",
                        "in": "query",
                        "description": "Filter by specific RUM monitor IDs",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "monitors[server][]",
                        "in": "query",
                        "description": "Filter by specific server monitor IDs",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of active incidents",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "description": "Incident ID",
                                                        "type": "integer"
                                                    },
                                                    "monitor_id": {
                                                        "description": "Monitor ID",
                                                        "type": "integer"
                                                    },
                                                    "monitor_name": {
                                                        "description": "Monitor display name",
                                                        "type": "string"
                                                    },
                                                    "monitor_type": {
                                                        "description": "Monitor type",
                                                        "type": "string"
                                                    },
                                                    "error": {
                                                        "description": "Error name",
                                                        "type": "string"
                                                    },
                                                    "error_tooltip": {
                                                        "description": "Error details",
                                                        "type": "string"
                                                    },
                                                    "time_started": {
                                                        "description": "Formatted start time",
                                                        "type": "string"
                                                    },
                                                    "time_ended": {
                                                        "description": "Formatted end time or \"Ongoing\"",
                                                        "type": "string"
                                                    },
                                                    "down_since": {
                                                        "description": "Human-readable time since incident started",
                                                        "type": "string"
                                                    },
                                                    "is_critical": {
                                                        "description": "Whether the incident is a hard critical failure (e.g. uptime down, SSL expired). SSL/domain/speed \"trouble\" warnings report false here.",
                                                        "type": "boolean"
                                                    },
                                                    "is_trouble": {
                                                        "description": "Whether the incident is a non-critical \"trouble\" warning (e.g. SSL nearing expiry, speed degraded)",
                                                        "type": "boolean"
                                                    },
                                                    "path": {
                                                        "description": "Control panel path to the monitor",
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total active incidents",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Authentication required"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/incidents/history": {
            "get": {
                "tags": [
                    "Incidents"
                ],
                "summary": "List incident history",
                "description": "Returns a paginated history of resolved and ongoing incidents across all monitor types within the specified date range.",
                "operationId": "get_api-v2-incidents-history",
                "parameters": [
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date (Unix timestamp or YYYYMMDD string, defaults to 7 days ago)",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date (Unix timestamp or YYYYMMDD string, defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "groups[]",
                        "in": "query",
                        "description": "Filter by group IDs",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "monitors[uptime][]",
                        "in": "query",
                        "description": "Filter by specific uptime monitor IDs",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "monitors[ssl][]",
                        "in": "query",
                        "description": "Filter by specific SSL monitor IDs",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "monitors[domain][]",
                        "in": "query",
                        "description": "Filter by specific domain monitor IDs",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "monitors[fpl][]",
                        "in": "query",
                        "description": "Filter by specific speed (full page load) monitor IDs. Note: the type key for speed monitors is \"fpl\".",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "monitors[transaction][]",
                        "in": "query",
                        "description": "Filter by specific transaction monitor IDs",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "monitors[virus][]",
                        "in": "query",
                        "description": "Filter by specific virus monitor IDs",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "monitors[rum][]",
                        "in": "query",
                        "description": "Filter by specific RUM monitor IDs",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "monitors[server][]",
                        "in": "query",
                        "description": "Filter by specific server monitor IDs",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Page number (default 1)",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "default": 1
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Results per page (default 20)",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "default": 20
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated incident history",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "path": {
                                                        "description": "Control panel path to the monitor",
                                                        "type": "string"
                                                    },
                                                    "id": {
                                                        "description": "Monitor ID",
                                                        "type": "integer"
                                                    },
                                                    "name": {
                                                        "description": "Monitor display name",
                                                        "type": "string"
                                                    },
                                                    "error_name": {
                                                        "description": "Error name",
                                                        "type": "string"
                                                    },
                                                    "error_tooltip": {
                                                        "description": "Error details",
                                                        "type": "string"
                                                    },
                                                    "time": {
                                                        "description": "Formatted incident end time, or \"Ongoing\" if still active",
                                                        "type": "string"
                                                    },
                                                    "time_started": {
                                                        "description": "Formatted incident start time",
                                                        "type": "string"
                                                    },
                                                    "time_ago": {
                                                        "description": "Human-readable time since the incident ended (\"Ongoing\" if still active)",
                                                        "type": "string"
                                                    },
                                                    "errors_sent_tooltip": {
                                                        "description": "HTML tooltip listing the alert notifications sent for this incident",
                                                        "type": "string"
                                                    },
                                                    "errors_sent": {
                                                        "description": "Number of alert notifications sent for this incident",
                                                        "type": "integer"
                                                    },
                                                    "duration": {
                                                        "description": "Incident duration",
                                                        "type": "string"
                                                    },
                                                    "incident_id": {
                                                        "description": "Incident ID",
                                                        "type": "integer"
                                                    },
                                                    "type_name": {
                                                        "description": "Monitor type code (lowercase, e.g. uptime, ssl, fpl)",
                                                        "type": "string"
                                                    },
                                                    "type_name_display": {
                                                        "description": "Human-readable monitor type label",
                                                        "type": "string"
                                                    },
                                                    "incident_start": {
                                                        "description": "Incident start time (Unix timestamp)",
                                                        "type": "integer"
                                                    },
                                                    "incident_end": {
                                                        "description": "Incident end time (Unix timestamp, 0 if ongoing)",
                                                        "type": "integer"
                                                    },
                                                    "is_critical": {
                                                        "description": "Whether the incident is critical (downtime)",
                                                        "type": "boolean"
                                                    },
                                                    "is_trouble": {
                                                        "description": "Whether the incident is a trouble/warning state",
                                                        "type": "boolean"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "type": "integer"
                                                },
                                                "page": {
                                                    "type": "integer"
                                                },
                                                "pages": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Authentication required"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/incidents/{type}/{id}": {
            "get": {
                "tags": [
                    "Incidents"
                ],
                "summary": "Get incident details",
                "description": "Returns full details for a single incident including monitor info, error data, checkpoint servers, screenshots, response headers/body, and traceroute.",
                "operationId": "get_api-v2-incidents-detail",
                "parameters": [
                    {
                        "name": "type",
                        "in": "path",
                        "description": "Monitor type (the speed-monitor type key is fpl; speed is accepted as an alias)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "uptime",
                                "ssl",
                                "domain",
                                "fpl",
                                "speed",
                                "virus",
                                "transaction",
                                "rum",
                                "server"
                            ]
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Incident ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Incident details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "description": "Incident detail object. The exact field set varies by monitor type; the properties below are the common fields.",
                                            "properties": {
                                                "id": {
                                                    "description": "Incident ID",
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "description": "Monitor name",
                                                    "type": "string"
                                                },
                                                "monitor_id": {
                                                    "description": "Monitor ID",
                                                    "type": "integer"
                                                },
                                                "type": {
                                                    "description": "Monitor type display name",
                                                    "type": "string"
                                                },
                                                "type_id": {
                                                    "description": "Numeric monitor type code",
                                                    "type": "integer"
                                                },
                                                "type_code": {
                                                    "description": "Monitor type code (e.g. uptime, ssl, fpl)",
                                                    "type": "string"
                                                },
                                                "url": {
                                                    "description": "Monitored URL",
                                                    "type": "string"
                                                },
                                                "time_started": {
                                                    "description": "Formatted incident start time",
                                                    "type": "string"
                                                },
                                                "time_started_unix": {
                                                    "description": "Incident start time (Unix timestamp)",
                                                    "type": "integer"
                                                },
                                                "time_ended": {
                                                    "description": "Formatted incident end time",
                                                    "type": "string"
                                                },
                                                "time_ended_unix": {
                                                    "description": "Incident end time (Unix timestamp, 0 if ongoing)",
                                                    "type": "integer"
                                                },
                                                "error": {
                                                    "description": "Error description",
                                                    "type": "string"
                                                },
                                                "duration": {
                                                    "description": "Incident duration (\"Ongoing\" if not yet ended)",
                                                    "type": "string"
                                                },
                                                "errors": {
                                                    "description": "Distinct errors collected during the incident (empty string if none)",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "error": {
                                                                "description": "Error description",
                                                                "type": "string"
                                                            },
                                                            "count": {
                                                                "description": "Number of occurrences",
                                                                "type": "integer"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "servers": {
                                                    "description": "Checkpoints that detected the incident",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "name": {
                                                                "description": "Checkpoint location name",
                                                                "type": "string"
                                                            },
                                                            "flag": {
                                                                "description": "Country flag code",
                                                                "type": "string"
                                                            },
                                                            "ip": {
                                                                "description": "Checkpoint IP address",
                                                                "type": "string"
                                                            },
                                                            "date": {
                                                                "description": "Formatted detection time",
                                                                "type": "string"
                                                            },
                                                            "error": {
                                                                "description": "Error reported by this checkpoint",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "response_headers": {
                                                    "description": "Captured response headers (empty for types that do not capture them)",
                                                    "type": "string"
                                                },
                                                "response_body": {
                                                    "description": "Captured response body (empty for types that do not capture it)",
                                                    "type": "string"
                                                },
                                                "traceroute": {
                                                    "description": "Traceroute output captured at incident time (empty if none)",
                                                    "type": "string"
                                                },
                                                "screenshot": {
                                                    "description": "Screenshot path (uptime only; empty otherwise)",
                                                    "type": "string"
                                                },
                                                "is_critical": {
                                                    "description": "Whether the incident is critical (downtime). Returned for ssl, domain, speed (fpl), virus and transaction incidents; not present for uptime incidents.",
                                                    "type": "boolean"
                                                },
                                                "is_trouble": {
                                                    "description": "Whether the incident is a trouble/warning state (returned alongside is_critical for the same types).",
                                                    "type": "boolean"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid type",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "invalid_type"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid monitor type"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Authentication required"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Incident not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "not_found"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Incident not found."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Incidents"
                ],
                "summary": "Delete an incident",
                "description": "Permanently deletes a specific incident and its associated status page threads.",
                "operationId": "delete_api-v2-incidents-delete",
                "parameters": [
                    {
                        "name": "type",
                        "in": "path",
                        "description": "Monitor type (the speed-monitor type key is fpl; speed is accepted as an alias)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "uptime",
                                "ssl",
                                "domain",
                                "fpl",
                                "speed",
                                "virus",
                                "transaction",
                                "rum",
                                "server"
                            ]
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Incident ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Incident deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid type or deletion failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "invalid_type"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid monitor type"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Authentication required"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/logs": {
            "get": {
                "tags": [
                    "Monitoring Logs"
                ],
                "summary": "List monitoring logs across all monitor types",
                "description": "Returns a paginated list of monitoring check logs across all monitor types (uptime, SSL, domain, speed, virus, transaction). Supports filtering by date range, monitor, status, and location.",
                "operationId": "get_api-v2-logs",
                "parameters": [
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date (Unix timestamp or YYYYMMDD string, defaults to 7 days ago)",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date (Unix timestamp or YYYYMMDD string, defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "monitors[uptime][]",
                        "in": "query",
                        "description": "Filter by specific uptime monitor IDs",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "monitors[ssl][]",
                        "in": "query",
                        "description": "Filter by specific SSL monitor IDs",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "monitors[domain][]",
                        "in": "query",
                        "description": "Filter by specific domain monitor IDs",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "monitors[fpl][]",
                        "in": "query",
                        "description": "Filter by specific speed (full page load) monitor IDs. Note: the type key for speed monitors is \"fpl\".",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "monitors[transaction][]",
                        "in": "query",
                        "description": "Filter by specific transaction monitor IDs",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "monitors[virus][]",
                        "in": "query",
                        "description": "Filter by specific virus monitor IDs",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "status[up]",
                        "in": "query",
                        "description": "Include checks with up status (default true)",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "status[down]",
                        "in": "query",
                        "description": "Include checks with down status (default true)",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "locations",
                        "in": "query",
                        "description": "Location filter: \"all\" or comma-separated location IDs",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "default": "all"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Page number (default 1)",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "default": 1
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Results per page (default 20)",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "default": 20
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated monitoring logs",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "description": "Log entry ID",
                                                        "type": "integer"
                                                    },
                                                    "monitor_name": {
                                                        "description": "Monitor display name",
                                                        "type": "string"
                                                    },
                                                    "monitor_type": {
                                                        "description": "Monitor type display name",
                                                        "type": "string"
                                                    },
                                                    "monitor_id": {
                                                        "description": "Monitor ID",
                                                        "type": "integer"
                                                    },
                                                    "location": {
                                                        "description": "Probe location name",
                                                        "type": "string"
                                                    },
                                                    "location_code": {
                                                        "description": "Location flag code",
                                                        "type": "string"
                                                    },
                                                    "time": {
                                                        "description": "Human-readable time (e.g. \"5 minutes ago\")",
                                                        "type": "string"
                                                    },
                                                    "status": {
                                                        "description": "Check result: Up or Down",
                                                        "type": "string"
                                                    },
                                                    "duration": {
                                                        "description": "Response time (e.g. \"250 ms\" or \"3.50 sec\")",
                                                        "type": "string"
                                                    },
                                                    "response_time": {
                                                        "description": "Raw response time value",
                                                        "type": "integer"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "type": "integer"
                                                },
                                                "page": {
                                                    "type": "integer"
                                                },
                                                "pages": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Authentication required"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/monitors/{type}/{id}/pause": {
            "post": {
                "tags": [
                    "Monitors"
                ],
                "summary": "Pause a single monitor",
                "description": "Pauses a single monitor by type and ID. Creates a pause history entry.",
                "operationId": "post_api-v2-monitors-pause",
                "parameters": [
                    {
                        "name": "type",
                        "in": "path",
                        "description": "Monitor type",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "uptime",
                                "ssl",
                                "domain",
                                "virus",
                                "fpl",
                                "transaction",
                                "rum"
                            ]
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Monitor paused",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid type"
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v2/monitors/{type}/{id}/resume": {
            "post": {
                "tags": [
                    "Monitors"
                ],
                "summary": "Resume a single monitor",
                "description": "Resumes a single paused monitor by type and ID. Closes the pause history entry.",
                "operationId": "post_api-v2-monitors-resume",
                "parameters": [
                    {
                        "name": "type",
                        "in": "path",
                        "description": "Monitor type",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "uptime",
                                "ssl",
                                "domain",
                                "virus",
                                "fpl",
                                "transaction",
                                "rum"
                            ]
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Monitor resumed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid type"
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v2/monitors/{type}/{id}/copy": {
            "post": {
                "tags": [
                    "Monitors"
                ],
                "summary": "Copy a monitor",
                "description": "Creates a copy of an existing monitor. Currently only supported for uptime monitors.",
                "operationId": "post_api-v2-monitors-copy",
                "parameters": [
                    {
                        "name": "type",
                        "in": "path",
                        "description": "Monitor type (only \"uptime\" supported)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "uptime"
                            ]
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID to copy",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Monitor copied",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "ID of the newly created monitor",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid type or copy not supported for this type"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Monitor not found"
                    }
                }
            }
        },
        "/api/v2/domain": {
            "get": {
                "tags": [
                    "Domain Monitors"
                ],
                "summary": "List all domain monitors",
                "description": "Returns a paginated list of all domain monitors for the authenticated account. Supports filtering by monitor status.",
                "operationId": "get_api-v2-domain-list",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of monitors to return (0 = no limit)",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "example": 25
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Number of monitors to skip",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "example": 0
                        }
                    },
                    {
                        "name": "show_is_up",
                        "in": "query",
                        "description": "Include monitors that are up",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_critical",
                        "in": "query",
                        "description": "Include monitors with critical incidents",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_trouble",
                        "in": "query",
                        "description": "Include monitors with trouble incidents",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_suspended",
                        "in": "query",
                        "description": "Include suspended monitors",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_paused",
                        "in": "query",
                        "description": "Include paused monitors",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_maintenance",
                        "in": "query",
                        "description": "Include monitors in maintenance",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of domain monitors",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "description": "Monitor ID",
                                                        "type": "integer"
                                                    },
                                                    "name": {
                                                        "description": "Monitor display name",
                                                        "type": "string"
                                                    },
                                                    "is_up": {
                                                        "description": "Whether the monitor is currently up",
                                                        "type": "boolean"
                                                    },
                                                    "is_critical": {
                                                        "description": "Whether the domain is expiring very soon or expired",
                                                        "type": "boolean"
                                                    },
                                                    "is_trouble": {
                                                        "description": "Whether the domain is expiring soon",
                                                        "type": "boolean"
                                                    },
                                                    "is_suspended": {
                                                        "description": "Whether the monitor is suspended",
                                                        "type": "boolean"
                                                    },
                                                    "is_paused": {
                                                        "description": "Whether the monitor is paused",
                                                        "type": "boolean"
                                                    },
                                                    "is_maintenance": {
                                                        "description": "Whether the monitor is in maintenance",
                                                        "type": "boolean"
                                                    },
                                                    "groups": {
                                                        "description": "Groups this monitor belongs to",
                                                        "type": "array",
                                                        "items": {
                                                            "properties": {
                                                                "id": {
                                                                    "type": "integer"
                                                                },
                                                                "name": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "type": "object"
                                                        }
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total number of monitors matching filters",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Authentication required"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Domain Monitors"
                ],
                "summary": "Create a new domain monitor",
                "description": "Creates a new domain expiration monitor. Validates domain zone against supported TLD whitelist.",
                "operationId": "post_api-v2-domain-create",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "url",
                                    "project_name"
                                ],
                                "properties": {
                                    "url": {
                                        "description": "Domain name to monitor (e.g. example.com)",
                                        "type": "string",
                                        "example": "example.com"
                                    },
                                    "project_name": {
                                        "description": "Monitor display name",
                                        "type": "string",
                                        "example": "My Domain"
                                    },
                                    "monitoring_interval_slider": {
                                        "description": "Monitoring interval slider value (1-10, determines check frequency, minimum 1 day)",
                                        "type": "integer",
                                        "example": 5
                                    },
                                    "report_down_slider": {
                                        "description": "Report down delay slider value (1-5)",
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "expire_alert_days": {
                                        "description": "Days before domain expiry to alert (1-90, default 7)",
                                        "type": "integer",
                                        "example": 7
                                    },
                                    "expiry_date": {
                                        "description": "Manual expiry date in YYYY-MM-DD format (only for manual zones)",
                                        "type": "string",
                                        "example": "2027-01-15"
                                    },
                                    "contacts": {
                                        "description": "Contact IDs to notify on incidents",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "groups": {
                                        "description": "Group IDs to assign the monitor to",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "report_up": {
                                        "description": "Send notification when monitor recovers (0=no, 1=yes)",
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "branding_id": {
                                        "description": "Branding template ID for notifications",
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "bulk_data": {
                                        "description": "Bulk import: newline-separated list of domains",
                                        "type": "string",
                                        "example": ""
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Monitor created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "ID of the newly created monitor",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unsupported_domain"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "The domain zone .xyz is not supported"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/domain/{id}": {
            "get": {
                "tags": [
                    "Domain Monitors"
                ],
                "summary": "Get a single domain monitor",
                "description": "Returns full details of a specific domain monitor including WHOIS data, expiration info, registrar, and nameservers.",
                "operationId": "get_api-v2-domain-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Monitor details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "Monitor ID",
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "description": "Monitor display name",
                                                    "type": "string"
                                                },
                                                "is_up": {
                                                    "description": "Whether the monitor is currently up",
                                                    "type": "boolean"
                                                },
                                                "is_critical": {
                                                    "description": "Whether the domain is expiring very soon or expired",
                                                    "type": "boolean"
                                                },
                                                "is_trouble": {
                                                    "description": "Whether the domain is expiring soon",
                                                    "type": "boolean"
                                                },
                                                "is_suspended": {
                                                    "description": "Whether the monitor is suspended",
                                                    "type": "boolean"
                                                },
                                                "is_paused": {
                                                    "description": "Whether the monitor is paused",
                                                    "type": "boolean"
                                                },
                                                "is_maintenance": {
                                                    "description": "Whether the monitor is in maintenance",
                                                    "type": "boolean"
                                                },
                                                "groups": {
                                                    "description": "Assigned groups",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    }
                                                },
                                                "interval": {
                                                    "description": "Monitoring interval in seconds",
                                                    "type": "integer"
                                                },
                                                "report_down": {
                                                    "description": "Seconds to wait before reporting down",
                                                    "type": "integer"
                                                },
                                                "report_up": {
                                                    "description": "Whether to send notification when monitor recovers",
                                                    "type": "boolean"
                                                },
                                                "url": {
                                                    "description": "Monitored domain URL",
                                                    "type": "string"
                                                },
                                                "incident_id": {
                                                    "description": "Current active incident ID, null if none",
                                                    "type": "integer",
                                                    "nullable": true
                                                },
                                                "expire_alert_days": {
                                                    "description": "Days before expiry to alert",
                                                    "type": "integer"
                                                },
                                                "branding_id": {
                                                    "description": "Branding template ID",
                                                    "type": "integer"
                                                },
                                                "contacts": {
                                                    "description": "Assigned alert contacts",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "is_team": {
                                                                "type": "boolean"
                                                            },
                                                            "is_user": {
                                                                "type": "boolean"
                                                            },
                                                            "is_operator": {
                                                                "type": "boolean"
                                                            },
                                                            "is_individual_contact": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "is_manual": {
                                                    "description": "Whether the expiry date is managed manually rather than fetched via WHOIS",
                                                    "type": "boolean"
                                                },
                                                "tld": {
                                                    "description": "Top-level domain name being monitored (e.g. \"example.com\")",
                                                    "type": "string"
                                                },
                                                "zone": {
                                                    "description": "Domain zone / suffix (e.g. \".com\")",
                                                    "type": "string"
                                                },
                                                "domain_creation_date": {
                                                    "description": "Domain registration date as a Unix timestamp (0 if unknown)",
                                                    "type": "integer"
                                                },
                                                "domain_updated_date": {
                                                    "description": "Domain last-updated date as a Unix timestamp (0 if unknown)",
                                                    "type": "integer"
                                                },
                                                "domain_expiry_date": {
                                                    "description": "Domain expiry date as a Unix timestamp (0 if unknown)",
                                                    "type": "integer"
                                                },
                                                "days_remaining": {
                                                    "description": "Days until the domain expires (0 if unknown, -1 if already expired)",
                                                    "type": "integer"
                                                },
                                                "registrar": {
                                                    "description": "Domain registrar from the last WHOIS lookup",
                                                    "type": "string"
                                                },
                                                "nameservers": {
                                                    "description": "Nameservers from the last WHOIS lookup",
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Domain Monitors"
                ],
                "summary": "Delete a domain monitor",
                "description": "Permanently deletes a domain monitor and its associated reporting configuration. Incident and log data may be retained.",
                "operationId": "delete_api-v2-domain-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Monitor deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deletion failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "could_not_delete_monitor"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Domain Monitors"
                ],
                "summary": "Update an existing domain monitor",
                "description": "Updates an existing domain monitor. Only include fields you want to change. Omitted fields retain their current values.",
                "operationId": "patch_api-v2-domain-update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "is_paused": {
                                        "description": "Pause (true) or resume (false) the monitor. When present, only the pause/resume action is performed and other fields are ignored.",
                                        "type": "boolean"
                                    },
                                    "url": {
                                        "description": "Domain name to monitor",
                                        "type": "string"
                                    },
                                    "project_name": {
                                        "description": "Monitor display name",
                                        "type": "string"
                                    },
                                    "monitoring_interval_slider": {
                                        "description": "Monitoring interval slider value (1-10)",
                                        "type": "integer"
                                    },
                                    "report_down_slider": {
                                        "description": "Report down delay slider value (1-5)",
                                        "type": "integer"
                                    },
                                    "expire_alert_days": {
                                        "description": "Days before domain expiry to alert (1-90)",
                                        "type": "integer"
                                    },
                                    "expiry_date": {
                                        "description": "Manual expiry date in YYYY-MM-DD format (only for manual zones)",
                                        "type": "string",
                                        "example": "2027-01-15"
                                    },
                                    "contacts": {
                                        "description": "Contact IDs to notify",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "groups": {
                                        "description": "Group IDs",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "report_up": {
                                        "description": "Send notification when monitor recovers (0=no, 1=yes)",
                                        "type": "integer"
                                    },
                                    "branding_id": {
                                        "description": "Branding template ID",
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Monitor updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "Updated monitor ID",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/domain/{id}/incidents": {
            "get": {
                "tags": [
                    "Domain Monitors"
                ],
                "summary": "List incidents for a domain monitor",
                "description": "Returns a list of domain expiration incidents within the given date range. Defaults to the last 30 days. Domain-specific error codes: domain_expires_soon, domain_expires_very_soon, domain_expired.",
                "operationId": "get_api-v2-domain-incidents-list",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 30 days ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of incidents to return",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Number of incidents to skip",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of incidents",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "error_id": {
                                                        "description": "Incident ID",
                                                        "type": "integer"
                                                    },
                                                    "error_display": {
                                                        "description": "Human-readable error description",
                                                        "type": "string"
                                                    },
                                                    "time_started": {
                                                        "description": "Formatted start time (e.g. \"March 15, 2026 14:30\")",
                                                        "type": "string"
                                                    },
                                                    "date_ended": {
                                                        "description": "Duration string or \"Ongoing\"",
                                                        "type": "string"
                                                    },
                                                    "time_elapsed": {
                                                        "description": "Time since incident started (e.g. \"2 hours ago\")",
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total incidents returned",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/domain/{id}/incidents/{incidentId}": {
            "get": {
                "tags": [
                    "Domain Monitors"
                ],
                "summary": "Get a single domain incident",
                "description": "Returns details of a specific domain expiration incident.",
                "operationId": "get_api-v2-domain-incidents-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "incidentId",
                        "in": "path",
                        "description": "Incident ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Incident details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "Incident ID",
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "description": "Monitor display name",
                                                    "type": "string"
                                                },
                                                "monitor_id": {
                                                    "description": "ID of the monitor the incident belongs to",
                                                    "type": "integer"
                                                },
                                                "type": {
                                                    "description": "Monitor type",
                                                    "type": "string",
                                                    "example": "Domain"
                                                },
                                                "type_code": {
                                                    "description": "Monitor category code",
                                                    "type": "string",
                                                    "example": "domain"
                                                },
                                                "url": {
                                                    "description": "Monitored domain URL",
                                                    "type": "string"
                                                },
                                                "port": {
                                                    "description": "Port number (always 0 for domain monitors)",
                                                    "type": "integer",
                                                    "example": 0
                                                },
                                                "time_started": {
                                                    "description": "Formatted incident start time (e.g. \"Mar 15 2026, 14:30:00\")",
                                                    "type": "string"
                                                },
                                                "time_started_unix": {
                                                    "description": "Incident start time as Unix timestamp",
                                                    "type": "integer"
                                                },
                                                "time_ended": {
                                                    "description": "Formatted incident end time, or 0 if ongoing",
                                                    "oneOf": [
                                                        {
                                                            "type": "string"
                                                        },
                                                        {
                                                            "type": "integer",
                                                            "example": 0
                                                        }
                                                    ]
                                                },
                                                "time_ended_unix": {
                                                    "description": "Incident end time as Unix timestamp (0 if ongoing)",
                                                    "type": "integer"
                                                },
                                                "error": {
                                                    "description": "Top-level incident error reason",
                                                    "type": "string"
                                                },
                                                "duration": {
                                                    "description": "Human-readable incident duration, or \"Ongoing\"",
                                                    "type": "string"
                                                },
                                                "errors": {
                                                    "description": "List of detected errors with occurrence counts",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "error": {
                                                                "description": "Error description",
                                                                "type": "string"
                                                            },
                                                            "count": {
                                                                "description": "Number of occurrences",
                                                                "type": "integer"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "servers": {
                                                    "description": "Probe locations that detected the incident",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "name": {
                                                                "description": "Probe/server name",
                                                                "type": "string"
                                                            },
                                                            "flag": {
                                                                "description": "Country flag code",
                                                                "type": "string"
                                                            },
                                                            "ip": {
                                                                "description": "Probe IP address",
                                                                "type": "string"
                                                            },
                                                            "date": {
                                                                "description": "Formatted detection time",
                                                                "type": "string"
                                                            },
                                                            "error": {
                                                                "description": "Error reason reported by the probe",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "response_headers": {
                                                    "description": "Raw response captured for the incident",
                                                    "type": "string"
                                                },
                                                "response_body": {
                                                    "description": "HTML-escaped response body captured for the incident",
                                                    "type": "string"
                                                },
                                                "traceroute": {
                                                    "description": "Newline-joined traceroute output, if captured",
                                                    "type": "string"
                                                },
                                                "screenshot": {
                                                    "description": "Screenshot filename or URL captured for the incident",
                                                    "type": "string"
                                                },
                                                "is_critical": {
                                                    "description": "Whether the incident is critical",
                                                    "type": "boolean"
                                                },
                                                "is_trouble": {
                                                    "description": "Whether the incident is a trouble-level event",
                                                    "type": "boolean"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "incident_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Domain Monitors"
                ],
                "summary": "Delete a domain incident",
                "description": "Permanently deletes a specific domain expiration incident and its associated status page threads.",
                "operationId": "delete_api-v2-domain-incidents-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "incidentId",
                        "in": "path",
                        "description": "Incident ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Incident deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deletion failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "could_not_delete_incident"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/domain/{id}/logs": {
            "get": {
                "tags": [
                    "Domain Monitors"
                ],
                "summary": "List domain WHOIS check logs",
                "description": "Returns recent WHOIS monitoring check logs for the specified domain monitor. Shows the last 90 days of data, limited to 20 entries.",
                "operationId": "get_api-v2-domain-logs-list",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of log entries to return",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Number of log entries to skip",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp to filter the log range",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp to filter the log range",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of monitoring logs",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "description": "Log entry ID",
                                                        "type": "integer"
                                                    },
                                                    "flag": {
                                                        "description": "Country flag code of the probe location",
                                                        "type": "string"
                                                    },
                                                    "location": {
                                                        "description": "Probe location name",
                                                        "type": "string"
                                                    },
                                                    "time_elapsed": {
                                                        "description": "Time since check (e.g. \"5 minutes ago\")",
                                                        "type": "string"
                                                    },
                                                    "response_time": {
                                                        "description": "WHOIS response time in ms, or \"Backup check\"",
                                                        "type": "string"
                                                    },
                                                    "status_icon": {
                                                        "description": "Status icon filename (site_up.png or site_down.png)",
                                                        "type": "string"
                                                    },
                                                    "status_alt": {
                                                        "description": "Status description (\"Test successful\" or \"Test has failed\")",
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total log entries returned",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/domain/{id}/logs/{logId}": {
            "get": {
                "tags": [
                    "Domain Monitors"
                ],
                "summary": "Get a single domain monitoring log entry",
                "description": "Returns full details of a specific domain WHOIS check log.",
                "operationId": "get_api-v2-domain-log-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "logId",
                        "in": "path",
                        "description": "Log entry ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Log entry details"
                    },
                    "404": {
                        "description": "Not found"
                    }
                }
            }
        },
        "/api/v2/domain/{id}/timeline": {
            "get": {
                "tags": [
                    "Domain Monitors"
                ],
                "summary": "Get timeline segments for a domain monitor",
                "description": "Returns up, down, maintenance and unknown timeline segments for the domain monitor over the requested date range, suitable for rendering an availability timeline strip.",
                "operationId": "get_api-v2-domain-timeline",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 7 days ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Timeline segments"
                    },
                    "404": {
                        "description": "Monitor not found"
                    }
                }
            }
        },
        "/api/v2/domain/{id}/charts/response-time": {
            "get": {
                "tags": [
                    "Domain Monitors"
                ],
                "summary": "Get domain WHOIS response time history",
                "description": "Returns WHOIS response time and downtime chart data for the specified domain monitor. Data is cached for 60 seconds.",
                "operationId": "get_api-v2-domain-charts-response-time",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 24 hours ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response time chart data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "speed": {
                                                    "description": "WHOIS response times in ms",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "number"
                                                    }
                                                },
                                                "downtime": {
                                                    "description": "Downtime percentage per data point (0-100)",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "integer"
                                                    }
                                                },
                                                "date": {
                                                    "description": "Formatted date labels for each data point",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                },
                                                "max_value": {
                                                    "description": "Suggested Y-axis maximum value",
                                                    "type": "number"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/integrations": {
            "get": {
                "tags": [
                    "Integrations"
                ],
                "summary": "List all integrations for the authenticated account",
                "description": "Returns every third-party notification channel configured on your account (Slack, Discord, Telegram, PagerDuty, MS Teams, Statuspage, Mattermost, Twilio, WhatsApp, Twitter, webhooks, etc.) with its id, name and type. The response includes a metadata.total count; results are not paginated.",
                "operationId": "get_api-v2-integrations-list",
                "responses": {
                    "200": {
                        "description": "List of integrations",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer"
                                                    },
                                                    "name": {
                                                        "type": "string"
                                                    },
                                                    "type": {
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            },
            "post": {
                "tags": [
                    "Integrations"
                ],
                "summary": "Create a new integration",
                "description": "Creates a third-party notification channel of the given type (slack, discord, telegram, pagerduty, etc.). Required and meaningful fields vary by type and are validated server-side; the type-specific values map onto component_id, page_id, custom_headers and additional_value_1 (for example Slack channel, Twilio phone, or Twitter secret). A matching alert contact is created automatically, so the response returns both the integration id and the new contact_id.",
                "operationId": "post_api-v2-integrations-create",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "type",
                                    "api_key"
                                ],
                                "properties": {
                                    "name": {
                                        "description": "Integration display name",
                                        "type": "string"
                                    },
                                    "type": {
                                        "description": "Integration type (slack, discord, telegram, etc.)",
                                        "type": "string",
                                        "example": "slack"
                                    },
                                    "api_key": {
                                        "description": "API key or webhook URL",
                                        "type": "string"
                                    },
                                    "component_id": {
                                        "description": "Component ID (statuspage/twilio)",
                                        "type": "string"
                                    },
                                    "page_id": {
                                        "description": "Page ID (statuspage/twilio)",
                                        "type": "string"
                                    },
                                    "custom_headers": {
                                        "description": "Custom headers (webhook)",
                                        "type": "string"
                                    },
                                    "additional_value_1": {
                                        "description": "Additional value (slack channel, twilio phone, twitter secret)",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Integration created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "contact_id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error"
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v2/integrations/webhooks": {
            "get": {
                "tags": [
                    "Integrations"
                ],
                "summary": "List all webhook integrations",
                "description": "Returns only the webhook-type integrations on your account, each with its target URL (api_key) and any custom headers. Use this to manage outbound HTTP notification endpoints separately from other integration types.",
                "operationId": "get_api-v2-integrations-webhooks-list",
                "responses": {
                    "200": {
                        "description": "List of webhooks",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer"
                                                    },
                                                    "name": {
                                                        "type": "string"
                                                    },
                                                    "api_key": {
                                                        "type": "string"
                                                    },
                                                    "custom_headers": {
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            },
            "post": {
                "tags": [
                    "Integrations"
                ],
                "summary": "Create a new webhook",
                "description": "Registers a new outbound webhook that Uptimia will POST to when alerts fire. The api_key field must be a valid public URL; it is validated and screened against an SSRF guard, so internal/private addresses are rejected with a 400. Optionally supply custom_headers as a JSON string to attach to each request.",
                "operationId": "post_api-v2-integrations-webhooks-create",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "api_key"
                                ],
                                "properties": {
                                    "name": {
                                        "description": "Webhook display name",
                                        "type": "string"
                                    },
                                    "api_key": {
                                        "description": "Webhook URL",
                                        "type": "string"
                                    },
                                    "custom_headers": {
                                        "description": "Custom headers as JSON string",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Webhook created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error"
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v2/integrations/webhooks/{id}": {
            "get": {
                "tags": [
                    "Integrations"
                ],
                "summary": "Get a single webhook by ID",
                "description": "Returns the configuration of one webhook integration, including its target URL and custom headers. The integration must belong to your account and be of type webhook; a 404 is returned otherwise.",
                "operationId": "get_api-v2-integrations-webhooks-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Webhook details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "type": "string"
                                                },
                                                "api_key": {
                                                    "type": "string"
                                                },
                                                "custom_headers": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Webhook not found"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Integrations"
                ],
                "summary": "Delete a webhook",
                "description": "Permanently removes a webhook integration so it will no longer receive alert notifications. The integration must belong to your account and be of type webhook (404 otherwise); returns a 400 if deletion fails.",
                "operationId": "delete_api-v2-integrations-webhooks-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Webhook deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deletion failed"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Webhook not found"
                    }
                }
            },
            "patch": {
                "tags": [
                    "Integrations"
                ],
                "summary": "Update a webhook",
                "description": "Updates the name, target URL or custom headers of an existing webhook; omitted fields keep their current values. The integration must belong to your account and be of type webhook, otherwise a 404 is returned.",
                "operationId": "patch_api-v2-integrations-webhooks-update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "api_key": {
                                        "description": "Webhook URL",
                                        "type": "string"
                                    },
                                    "custom_headers": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Webhook updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "type": "string"
                                                },
                                                "api_key": {
                                                    "type": "string"
                                                },
                                                "custom_headers": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Webhook not found"
                    }
                }
            }
        },
        "/api/v2/integrations/{id}": {
            "get": {
                "tags": [
                    "Integrations"
                ],
                "summary": "Get a single integration by ID",
                "description": "Returns the full configuration of one integration of any type, including its api_key plus type-specific fields such as component_id, page_id, custom_headers and additional_value_1. The integration must belong to the authenticated account; a 404 is returned if not found.",
                "operationId": "get_api-v2-integrations-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Integration details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "type": "string"
                                                },
                                                "type": {
                                                    "type": "string"
                                                },
                                                "api_key": {
                                                    "type": "string"
                                                },
                                                "component_id": {
                                                    "type": "string"
                                                },
                                                "custom_headers": {
                                                    "type": "string"
                                                },
                                                "page_id": {
                                                    "type": "string"
                                                },
                                                "additional_value_1": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Integration not found"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Integrations"
                ],
                "summary": "Delete an integration",
                "description": "Permanently removes an integration of any type along with its associated alert contacts so it no longer receives notifications. The integration must belong to your account (404 otherwise); returns a 400 if deletion fails.",
                "operationId": "delete_api-v2-integrations-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Integration deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deletion failed"
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            },
            "patch": {
                "tags": [
                    "Integrations"
                ],
                "summary": "Update an existing integration",
                "description": "Updates any field of an existing integration of any type; omitted fields retain their current values. If the integration name changes, the linked alert contact is renamed to match. The integration must belong to your account, otherwise a 404 is returned.",
                "operationId": "patch_api-v2-integrations-update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "type": {
                                        "type": "string"
                                    },
                                    "api_key": {
                                        "type": "string"
                                    },
                                    "component_id": {
                                        "type": "string"
                                    },
                                    "page_id": {
                                        "type": "string"
                                    },
                                    "custom_headers": {
                                        "type": "string"
                                    },
                                    "additional_value_1": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Integration updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "type": "string"
                                                },
                                                "type": {
                                                    "type": "string"
                                                },
                                                "api_key": {
                                                    "type": "string"
                                                },
                                                "component_id": {
                                                    "type": "string"
                                                },
                                                "custom_headers": {
                                                    "type": "string"
                                                },
                                                "page_id": {
                                                    "type": "string"
                                                },
                                                "additional_value_1": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Integration not found"
                    }
                }
            }
        },
        "/api/v2/integrations/{id}/test": {
            "post": {
                "tags": [
                    "Integrations"
                ],
                "summary": "Send a test notification for an integration",
                "description": "Dispatches a sample alert through the integration using its stored credentials so you can confirm the channel is wired up correctly before relying on it. The integration must belong to your account (404 otherwise); unsupported integration types or delivery failures (for example an invalid Twilio phone number) return a 400.",
                "operationId": "post_api-v2-integrations-test",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Test notification sent",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Test failed"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Integration not found"
                    }
                }
            }
        },
        "/api/v2/locations": {
            "get": {
                "tags": [
                    "Locations"
                ],
                "summary": "List monitoring locations (probes) grouped by region",
                "description": "Returns the full catalogue of monitoring checkpoint probes available to the account, organised into geographic regions; each probe lists its ID, city, country, ISO country code and IP. Use these probe IDs when creating or scoping monitors to choose which locations run the checks.",
                "operationId": "get_api-v2-locations-list",
                "responses": {
                    "200": {
                        "description": "Monitoring locations grouped by region",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "regions": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "example": "europe"
                                                    },
                                                    "name": {
                                                        "type": "string",
                                                        "example": "Europe"
                                                    },
                                                    "probes": {
                                                        "type": "array",
                                                        "items": {
                                                            "properties": {
                                                                "id": {
                                                                    "type": "integer",
                                                                    "example": 1
                                                                },
                                                                "city": {
                                                                    "type": "string",
                                                                    "example": "Frankfurt"
                                                                },
                                                                "country": {
                                                                    "type": "string",
                                                                    "example": "Germany"
                                                                },
                                                                "countryCode": {
                                                                    "type": "string",
                                                                    "example": "DE"
                                                                },
                                                                "ip": {
                                                                    "type": "string",
                                                                    "example": "203.0.113.10"
                                                                },
                                                                "enabled": {
                                                                    "type": "boolean",
                                                                    "example": true
                                                                }
                                                            },
                                                            "type": "object"
                                                        }
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Authentication required"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/logs/{type}/{id}": {
            "get": {
                "tags": [
                    "Monitoring Logs"
                ],
                "summary": "Get single monitoring log detail",
                "description": "Returns detailed data for a single monitoring check result.",
                "operationId": "get_api-v2-logs-detail",
                "parameters": [
                    {
                        "name": "type",
                        "in": "path",
                        "description": "Monitor type",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "uptime",
                                "ssl",
                                "domain",
                                "virus",
                                "fpl",
                                "transaction"
                            ]
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Log entry ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Log detail data"
                    },
                    "400": {
                        "description": "Invalid type"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Log entry not found"
                    }
                }
            }
        },
        "/api/v2/maintenance": {
            "get": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "List all maintenance windows for the authenticated user",
                "description": "Returns every scheduled maintenance window belonging to the authenticated account, each with its schedule, current status, and the monitors it covers. The metadata object reports the total count.",
                "operationId": "get_api-v2-maintenance-list",
                "responses": {
                    "200": {
                        "description": "List of maintenance windows",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer"
                                                    },
                                                    "name": {
                                                        "type": "string"
                                                    },
                                                    "frequency_code": {
                                                        "type": "integer"
                                                    },
                                                    "frequency": {
                                                        "type": "string"
                                                    },
                                                    "start": {
                                                        "type": "string"
                                                    },
                                                    "end": {
                                                        "type": "string"
                                                    },
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "monitors": {
                                                        "type": "string"
                                                    },
                                                    "thread_id": {
                                                        "type": "integer"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            },
            "post": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Create a new maintenance window",
                "description": "Schedules a new maintenance window during which alerts are suppressed for the selected monitors. Set type to once, daily, weekly, or monthly, and pick monitors via selection_mode (all, by_type, by_group, or individual). For a one-off window you may also publish a status page thread via status_page and status_summary. Returns the new window ID.",
                "operationId": "post_api-v2-maintenance-create",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "type"
                                ],
                                "properties": {
                                    "name": {
                                        "description": "Maintenance window name",
                                        "type": "string"
                                    },
                                    "type": {
                                        "description": "Schedule type: once, daily, weekly, monthly",
                                        "type": "string",
                                        "enum": [
                                            "once",
                                            "daily",
                                            "weekly",
                                            "monthly"
                                        ]
                                    },
                                    "time_start": {
                                        "description": "Start time (datetime string for once, HHMM string for recurring)",
                                        "type": "string"
                                    },
                                    "time_end": {
                                        "description": "End time (datetime string for once, HHMM string for recurring)",
                                        "type": "string"
                                    },
                                    "days": {
                                        "description": "Days (weekday numbers for weekly, day-of-month for monthly)",
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "weeks": {
                                        "description": "Week numbers for weekly type",
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "selection_mode": {
                                        "description": "Monitor selection mode: all, by_type, by_group, individual",
                                        "type": "string",
                                        "enum": [
                                            "all",
                                            "by_type",
                                            "by_group",
                                            "individual"
                                        ]
                                    },
                                    "uptime": {
                                        "description": "Include uptime monitors (for by_type mode)",
                                        "type": "integer"
                                    },
                                    "ssl": {
                                        "type": "integer"
                                    },
                                    "domain": {
                                        "type": "integer"
                                    },
                                    "virus": {
                                        "type": "integer"
                                    },
                                    "fpl": {
                                        "type": "integer"
                                    },
                                    "transaction": {
                                        "type": "integer"
                                    },
                                    "rum": {
                                        "type": "integer"
                                    },
                                    "server": {
                                        "type": "integer"
                                    },
                                    "individual_monitors": {
                                        "description": "Monitor IDs as type|id strings",
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "individual_groups": {
                                        "description": "Group IDs",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "status_page": {
                                        "description": "Create status page thread (once type only)",
                                        "type": "integer"
                                    },
                                    "status_summary": {
                                        "description": "Status page thread summary",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Maintenance window created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error"
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v2/maintenance/monitors": {
            "get": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Get all monitors available for maintenance selection",
                "description": "Returns all of the account monitors that can be attached to a maintenance window, grouped by monitor type (uptime, ssl, domain, virus, fpl, transaction, rum). Use the returned IDs when building the individual_monitors selection.",
                "operationId": "get_api-v2-maintenance-monitors",
                "responses": {
                    "200": {
                        "description": "Monitors grouped by type",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "uptime": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "ssl": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "domain": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "virus": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "fpl": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "transaction": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "rum": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "server": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v2/maintenance/{id}": {
            "get": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Get a single maintenance window with full details",
                "description": "Returns the full configuration of one maintenance window, including its schedule type, start/end times, recurrence days and weeks, monitor selection, and whether the window is currently running. Returns 404 if the window does not exist or does not belong to your account.",
                "operationId": "get_api-v2-maintenance-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Maintenance window details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "type": "string"
                                                },
                                                "type": {
                                                    "description": "once, daily, weekly, monthly",
                                                    "type": "string"
                                                },
                                                "time_start": {
                                                    "description": "Datetime for once, HH:mm for recurring",
                                                    "type": "string"
                                                },
                                                "time_end": {
                                                    "description": "Datetime for once, HH:mm for recurring",
                                                    "type": "string"
                                                },
                                                "days": {
                                                    "description": "JSON array of day numbers",
                                                    "type": "string"
                                                },
                                                "weeks": {
                                                    "description": "JSON array of week numbers",
                                                    "type": "string"
                                                },
                                                "all_monitors": {
                                                    "type": "integer"
                                                },
                                                "groups": {
                                                    "type": "integer"
                                                },
                                                "uptime": {
                                                    "type": "integer"
                                                },
                                                "fpl": {
                                                    "type": "integer"
                                                },
                                                "ssl": {
                                                    "type": "integer"
                                                },
                                                "domain": {
                                                    "type": "integer"
                                                },
                                                "virus": {
                                                    "type": "integer"
                                                },
                                                "transaction": {
                                                    "type": "integer"
                                                },
                                                "rum": {
                                                    "type": "integer"
                                                },
                                                "server": {
                                                    "type": "integer"
                                                },
                                                "individual_monitors": {
                                                    "description": "JSON array of type|id strings",
                                                    "type": "string"
                                                },
                                                "individual_groups": {
                                                    "description": "JSON array of group ID strings",
                                                    "type": "string"
                                                },
                                                "is_maintenance_running": {
                                                    "type": "boolean"
                                                },
                                                "is_maintenance_temporary": {
                                                    "type": "boolean"
                                                },
                                                "status_page": {
                                                    "description": "1 if an active maintenance status thread already exists for this window (once type only)",
                                                    "type": "integer"
                                                },
                                                "status_summary": {
                                                    "description": "Summary of the existing maintenance status thread, so re-edits preserve it",
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Maintenance window not found"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Delete a maintenance window and revert affected monitors",
                "description": "Permanently deletes a maintenance window and reverts any monitors currently held in maintenance by it back to active checking. Returns 404 if the window does not exist or does not belong to your account.",
                "operationId": "delete_api-v2-maintenance-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Maintenance window deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Maintenance window not found"
                    }
                }
            },
            "patch": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Update an existing maintenance window",
                "description": "Replaces the configuration of an existing maintenance window with the supplied schedule and monitor selection, then returns the updated window. Returns 404 if the window does not exist or does not belong to your account.",
                "operationId": "patch_api-v2-maintenance-update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "once",
                                            "daily",
                                            "weekly",
                                            "monthly"
                                        ]
                                    },
                                    "time_start": {
                                        "type": "string"
                                    },
                                    "time_end": {
                                        "type": "string"
                                    },
                                    "days": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "weeks": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "selection_mode": {
                                        "type": "string",
                                        "enum": [
                                            "all",
                                            "by_type",
                                            "by_group",
                                            "individual"
                                        ]
                                    },
                                    "uptime": {
                                        "type": "integer"
                                    },
                                    "ssl": {
                                        "type": "integer"
                                    },
                                    "domain": {
                                        "type": "integer"
                                    },
                                    "virus": {
                                        "type": "integer"
                                    },
                                    "fpl": {
                                        "type": "integer"
                                    },
                                    "transaction": {
                                        "type": "integer"
                                    },
                                    "rum": {
                                        "type": "integer"
                                    },
                                    "server": {
                                        "type": "integer"
                                    },
                                    "individual_monitors": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "individual_groups": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "status_page": {
                                        "type": "integer"
                                    },
                                    "status_summary": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Maintenance window updated"
                    },
                    "400": {
                        "description": "Validation error"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Maintenance window not found"
                    }
                }
            }
        },
        "/api/v2/reports": {
            "get": {
                "tags": [
                    "Reports"
                ],
                "summary": "List all scheduled reports for the authenticated account",
                "description": "Returns the recurring email reports configured on your account, each with its frequency (and a human-readable frequency_label), last/next send timestamps, attachment options and monitor-scope flags. One-time temporary reports are excluded; the response includes a metadata.total count and is not paginated.",
                "operationId": "get_api-v2-reports-list",
                "responses": {
                    "200": {
                        "description": "List of reports",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer"
                                                    },
                                                    "name": {
                                                        "type": "string"
                                                    },
                                                    "frequency": {
                                                        "type": "integer"
                                                    },
                                                    "frequency_label": {
                                                        "type": "string"
                                                    },
                                                    "temporary": {
                                                        "type": "integer"
                                                    },
                                                    "last_sent": {
                                                        "type": "integer"
                                                    },
                                                    "next_send": {
                                                        "type": "integer"
                                                    },
                                                    "show_all_incidents": {
                                                        "type": "integer"
                                                    },
                                                    "show_maintenances": {
                                                        "type": "integer"
                                                    },
                                                    "attach_pdf": {
                                                        "type": "integer"
                                                    },
                                                    "attach_html": {
                                                        "type": "integer"
                                                    },
                                                    "attach_csv": {
                                                        "type": "integer"
                                                    },
                                                    "theme_id": {
                                                        "type": "integer"
                                                    },
                                                    "all_monitors": {
                                                        "type": "integer"
                                                    },
                                                    "all_uptime": {
                                                        "type": "integer"
                                                    },
                                                    "all_ssl": {
                                                        "type": "integer"
                                                    },
                                                    "all_fpl": {
                                                        "description": "Whether all speed (full page load) monitors are included",
                                                        "type": "integer"
                                                    },
                                                    "all_rum": {
                                                        "description": "Whether all RUM monitors are included",
                                                        "type": "integer"
                                                    },
                                                    "all_domain": {
                                                        "description": "Whether all domain monitors are included",
                                                        "type": "integer"
                                                    },
                                                    "all_virus": {
                                                        "description": "Whether all virus monitors are included",
                                                        "type": "integer"
                                                    },
                                                    "all_transaction": {
                                                        "description": "Whether all transaction monitors are included",
                                                        "type": "integer"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            },
            "post": {
                "tags": [
                    "Reports"
                ],
                "summary": "Create a new scheduled report",
                "description": "Creates a recurring email report delivered on the chosen frequency (1=Daily, 7=Weekly, 30=Monthly, 90=Quarterly, 365=Yearly). Choose monitors via the per-type all_* flags or by selecting specific monitors, set which contacts receive it, and toggle PDF/HTML/CSV attachments and incident/maintenance inclusion. Contacts are validated for ownership; invalid frequencies or contacts return a 400.",
                "operationId": "post_api-v2-reports-create",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "frequency"
                                ],
                                "properties": {
                                    "name": {
                                        "description": "Report name",
                                        "type": "string"
                                    },
                                    "frequency": {
                                        "description": "Frequency: 1=Daily, 7=Weekly, 30=Monthly, 90=Quarterly, 365=Yearly",
                                        "type": "integer",
                                        "example": 7
                                    },
                                    "theme": {
                                        "description": "Branding theme ID",
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "all_monitors": {
                                        "description": "Include all monitors",
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "all_uptime": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "all_fpl": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "all_rum": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "all_ssl": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "all_domain": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "all_virus": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "all_transaction": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "monitors_uptime": {
                                        "description": "Specific uptime monitor IDs to include (when not using all_uptime).",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "monitors_ssl": {
                                        "description": "Specific SSL monitor IDs to include.",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "monitors_domain": {
                                        "description": "Specific domain monitor IDs to include.",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "monitors_fpl": {
                                        "description": "Specific speed (full page load) monitor IDs to include. The type key for speed monitors is \"fpl\".",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "monitors_transaction": {
                                        "description": "Specific transaction monitor IDs to include.",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "monitors_virus": {
                                        "description": "Specific virus monitor IDs to include.",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "monitors_rum": {
                                        "description": "Specific RUM monitor IDs to include.",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "show_all_incidents": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "show_maintenances": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "attach_pdf": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "attach_html": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "attach_csv": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "contacts": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "is_team": {
                                                    "type": "integer"
                                                },
                                                "is_user": {
                                                    "type": "integer"
                                                },
                                                "is_operator": {
                                                    "type": "integer"
                                                },
                                                "is_individual_contact": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Report created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v2/reports/{id}": {
            "get": {
                "tags": [
                    "Reports"
                ],
                "summary": "Get a single report with monitors and contacts",
                "description": "Returns one scheduled report including its full settings plus the expanded list of monitors it covers and the contacts (individual recipients, teams, users and operators) it is delivered to. Monitors and contacts are resolved only when they belong to the report owner. The report must belong to the authenticated account; a 404 is returned if not found.",
                "operationId": "get_api-v2-reports-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Report details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "type": "string"
                                                },
                                                "frequency": {
                                                    "type": "integer"
                                                },
                                                "frequency_label": {
                                                    "type": "string"
                                                },
                                                "temporary": {
                                                    "type": "integer"
                                                },
                                                "last_sent": {
                                                    "type": "integer"
                                                },
                                                "next_send": {
                                                    "type": "integer"
                                                },
                                                "show_all_incidents": {
                                                    "type": "integer"
                                                },
                                                "show_maintenances": {
                                                    "type": "integer"
                                                },
                                                "attach_pdf": {
                                                    "type": "integer"
                                                },
                                                "attach_html": {
                                                    "type": "integer"
                                                },
                                                "attach_csv": {
                                                    "type": "integer"
                                                },
                                                "theme_id": {
                                                    "type": "integer"
                                                },
                                                "all_monitors": {
                                                    "type": "integer"
                                                },
                                                "all_uptime": {
                                                    "type": "integer"
                                                },
                                                "all_ssl": {
                                                    "type": "integer"
                                                },
                                                "all_fpl": {
                                                    "description": "Whether all speed (full page load) monitors are included",
                                                    "type": "integer"
                                                },
                                                "all_rum": {
                                                    "description": "Whether all RUM monitors are included",
                                                    "type": "integer"
                                                },
                                                "all_domain": {
                                                    "description": "Whether all domain monitors are included",
                                                    "type": "integer"
                                                },
                                                "all_virus": {
                                                    "description": "Whether all virus monitors are included",
                                                    "type": "integer"
                                                },
                                                "all_transaction": {
                                                    "description": "Whether all transaction monitors are included",
                                                    "type": "integer"
                                                },
                                                "monitors": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "type": {
                                                                "type": "string"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "contacts": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            },
                                                            "type": {
                                                                "type": "integer"
                                                            },
                                                            "is_team": {
                                                                "type": "integer"
                                                            },
                                                            "is_user": {
                                                                "description": "Whether the contact is the account owner (user)",
                                                                "type": "integer"
                                                            },
                                                            "is_operator": {
                                                                "description": "Whether the contact is an operator (sub-user)",
                                                                "type": "integer"
                                                            },
                                                            "is_individual_contact": {
                                                                "description": "Whether the contact is an individual contact entry",
                                                                "type": "integer"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Report not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "report_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Reports"
                ],
                "summary": "Delete a scheduled report",
                "description": "Permanently deletes a scheduled report along with its monitor and contact associations so it stops being sent. The report must belong to the authenticated account; a 404 is returned if not found.",
                "operationId": "delete_api-v2-reports-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Report deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Report not found"
                    }
                }
            },
            "patch": {
                "tags": [
                    "Reports"
                ],
                "summary": "Update an existing scheduled report",
                "description": "Updates the settings, monitor selection, contacts and attachment options of an existing scheduled report. The report must belong to your account (404 otherwise); supplied contacts are validated for ownership and an invalid set returns a 400.",
                "operationId": "patch_api-v2-reports-update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "frequency": {
                                        "type": "integer"
                                    },
                                    "theme": {
                                        "type": "integer"
                                    },
                                    "all_monitors": {
                                        "type": "integer"
                                    },
                                    "all_uptime": {
                                        "type": "integer"
                                    },
                                    "all_fpl": {
                                        "type": "integer"
                                    },
                                    "all_rum": {
                                        "type": "integer"
                                    },
                                    "all_ssl": {
                                        "type": "integer"
                                    },
                                    "all_domain": {
                                        "type": "integer"
                                    },
                                    "all_virus": {
                                        "type": "integer"
                                    },
                                    "all_transaction": {
                                        "type": "integer"
                                    },
                                    "monitors_uptime": {
                                        "description": "Specific uptime monitor IDs to include (when not using all_uptime).",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "monitors_ssl": {
                                        "description": "Specific SSL monitor IDs to include.",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "monitors_domain": {
                                        "description": "Specific domain monitor IDs to include.",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "monitors_fpl": {
                                        "description": "Specific speed (full page load) monitor IDs to include. The type key for speed monitors is \"fpl\".",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "monitors_transaction": {
                                        "description": "Specific transaction monitor IDs to include.",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "monitors_virus": {
                                        "description": "Specific virus monitor IDs to include.",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "monitors_rum": {
                                        "description": "Specific RUM monitor IDs to include.",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "show_all_incidents": {
                                        "type": "integer"
                                    },
                                    "show_maintenances": {
                                        "type": "integer"
                                    },
                                    "attach_pdf": {
                                        "type": "integer"
                                    },
                                    "attach_html": {
                                        "type": "integer"
                                    },
                                    "attach_csv": {
                                        "type": "integer"
                                    },
                                    "contacts": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "is_team": {
                                                    "type": "integer"
                                                },
                                                "is_user": {
                                                    "type": "integer"
                                                },
                                                "is_operator": {
                                                    "type": "integer"
                                                },
                                                "is_individual_contact": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Report updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Report not found"
                    }
                }
            }
        },
        "/api/v2/reports/branding-themes": {
            "get": {
                "tags": [
                    "Reports"
                ],
                "summary": "List branding themes available for reports",
                "description": "Returns the branding themes (logo/colour presets) defined on your account that can be applied to report emails and exports via the theme field when creating or updating a report.",
                "operationId": "get_api-v2-reports-branding-themes",
                "responses": {
                    "200": {
                        "description": "List of branding themes",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer"
                                                    },
                                                    "name": {
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v2/reports/{id}/send": {
            "post": {
                "tags": [
                    "Reports"
                ],
                "summary": "Send a report email immediately",
                "description": "Generates the report on demand and emails it right away to all of its email contacts, honouring the report's configured PDF/HTML/CSV attachments, then updates its last_sent timestamp. Your account email must be verified (403 otherwise), the report must belong to you (404 otherwise), and a temporary one-time report is removed after sending. Returns the number of emails actually sent.",
                "operationId": "post_api-v2-reports-send",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Report sent",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "emails_sent": {
                                            "type": "integer"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Email not verified"
                    },
                    "404": {
                        "description": "Report not found"
                    }
                }
            }
        },
        "/api/v2/reports/{id}/export/pdf": {
            "get": {
                "tags": [
                    "Reports"
                ],
                "summary": "Download report as PDF",
                "description": "Generates the report on demand and returns it as a downloadable PDF file (application/pdf) rather than emailing it. The report must belong to your account (404 otherwise), a report with no data returns a 400, and a temporary one-time report is removed after the export.",
                "operationId": "get_api-v2-reports-export-pdf",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "PDF file",
                        "content": {
                            "application/pdf": {}
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Report not found"
                    }
                }
            }
        },
        "/api/v2/reports/{id}/export/html": {
            "get": {
                "tags": [
                    "Reports"
                ],
                "summary": "Download report as HTML",
                "description": "Generates the report on demand and returns it as a downloadable standalone HTML file (text/html). The report must belong to your account (404 otherwise), a report with no data returns a 400, and a temporary one-time report is removed after the export.",
                "operationId": "get_api-v2-reports-export-html",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "HTML file",
                        "content": {
                            "text/html": {}
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Report not found"
                    }
                }
            }
        },
        "/api/v2/reports/{id}/export/csv": {
            "get": {
                "tags": [
                    "Reports"
                ],
                "summary": "Download report as CSV",
                "description": "Generates the report on demand and returns its data as a downloadable CSV file (text/csv) for use in spreadsheets. The report must belong to your account (404 otherwise), a report with no data returns a 400, and a temporary one-time report is removed after the export.",
                "operationId": "get_api-v2-reports-export-csv",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "CSV file",
                        "content": {
                            "text/csv": {}
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Report not found"
                    }
                }
            }
        },
        "/api/v2/reports/{id}/public-link": {
            "post": {
                "tags": [
                    "Reports"
                ],
                "summary": "Generate a public link for a report",
                "description": "Renders the report to a static HTML page saved under /reports and returns a shareable URL that anyone with the link can view without authenticating. The report must belong to your account (404 otherwise) and a report with no data returns a 400; a temporary one-time report is removed once the page is generated.",
                "operationId": "post_api-v2-reports-public-link",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Public link generated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "url": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Report not found"
                    }
                }
            }
        },
        "/api/v2/reports/custom": {
            "post": {
                "tags": [
                    "Reports"
                ],
                "summary": "Create and deliver a custom one-time report",
                "description": "Builds an ad-hoc report for an explicit date range and monitor/contact selection and delivers it in one call according to the delivery field: email it to the chosen contacts, return it as a downloadable file in the requested format (pdf, html or csv), or publish it as a public link. Email delivery requires a verified account email (403 otherwise); the temporary report is removed after delivery and the response returns its id plus a url when a public link was generated.",
                "operationId": "post_api-v2-reports-custom",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "description": "Report name (defaults to \"Custom Report\" when omitted)",
                                        "type": "string",
                                        "example": "Custom Report"
                                    },
                                    "date_started": {
                                        "description": "Start date as YYYYMMDD integer",
                                        "type": "integer",
                                        "example": 20240301
                                    },
                                    "date_ended": {
                                        "description": "End date as YYYYMMDD integer",
                                        "type": "integer",
                                        "example": 20240331
                                    },
                                    "monitors": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "type": {
                                                    "type": "string",
                                                    "example": "uptime"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "contacts": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "is_team": {
                                                    "type": "integer"
                                                },
                                                "is_user": {
                                                    "type": "integer"
                                                },
                                                "is_operator": {
                                                    "type": "integer"
                                                },
                                                "is_individual_contact": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "show_all_incidents": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "show_maintenances": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "delivery": {
                                        "type": "string",
                                        "enum": [
                                            "email",
                                            "download",
                                            "public_link"
                                        ],
                                        "example": "email"
                                    },
                                    "format": {
                                        "description": "Export format for download delivery",
                                        "type": "string",
                                        "enum": [
                                            "pdf",
                                            "html",
                                            "csv"
                                        ],
                                        "example": "pdf"
                                    },
                                    "all_monitors": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "theme": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Custom report created and delivered",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "url": {
                                                    "type": "string",
                                                    "nullable": true
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Email not verified"
                    }
                }
            }
        },
        "/api/v2/rum": {
            "get": {
                "tags": [
                    "RUM Monitors"
                ],
                "summary": "List all RUM monitors",
                "description": "Returns a paginated list of all RUM monitors for the authenticated account. Supports filtering by monitor status.",
                "operationId": "get_api-v2-rum-list",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of monitors to return (0 = no limit)",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "example": 25
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Number of monitors to skip",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "example": 0
                        }
                    },
                    {
                        "name": "show_is_up",
                        "in": "query",
                        "description": "Include monitors that are up",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_critical",
                        "in": "query",
                        "description": "Include monitors with critical incidents",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_trouble",
                        "in": "query",
                        "description": "Include monitors with trouble incidents",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_suspended",
                        "in": "query",
                        "description": "Include suspended monitors",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_paused",
                        "in": "query",
                        "description": "Include paused monitors",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_maintenance",
                        "in": "query",
                        "description": "Include monitors in maintenance",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of RUM monitors",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "description": "Monitor ID",
                                                        "type": "integer"
                                                    },
                                                    "name": {
                                                        "description": "Monitor display name",
                                                        "type": "string"
                                                    },
                                                    "is_up": {
                                                        "description": "Whether the monitor is currently up",
                                                        "type": "boolean"
                                                    },
                                                    "is_critical": {
                                                        "description": "Whether the monitor has a critical incident",
                                                        "type": "boolean"
                                                    },
                                                    "is_trouble": {
                                                        "description": "Whether the monitor has a trouble incident",
                                                        "type": "boolean"
                                                    },
                                                    "is_suspended": {
                                                        "description": "Whether the monitor is suspended",
                                                        "type": "boolean"
                                                    },
                                                    "is_paused": {
                                                        "description": "Whether the monitor is paused",
                                                        "type": "boolean"
                                                    },
                                                    "is_maintenance": {
                                                        "description": "Whether the monitor is in maintenance",
                                                        "type": "boolean"
                                                    },
                                                    "groups": {
                                                        "description": "Groups this monitor belongs to",
                                                        "type": "array",
                                                        "items": {
                                                            "properties": {
                                                                "id": {
                                                                    "type": "integer"
                                                                },
                                                                "name": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "type": "object"
                                                        }
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total number of monitors matching filters",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Authentication required"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "RUM Monitors"
                ],
                "summary": "Create a new RUM monitor",
                "description": "Creates a new Real User Monitoring site with the specified configuration.",
                "operationId": "post_api-v2-rum-create",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "url",
                                    "project_name"
                                ],
                                "properties": {
                                    "url": {
                                        "description": "URL of the website to monitor",
                                        "type": "string",
                                        "example": "https://example.com"
                                    },
                                    "project_name": {
                                        "description": "Monitor display name",
                                        "type": "string",
                                        "example": "My Website"
                                    },
                                    "apdex_score": {
                                        "description": "Apdex threshold in seconds (1-20, default 4)",
                                        "type": "integer",
                                        "example": 4
                                    },
                                    "is_alert_traffic_stops": {
                                        "description": "Enable traffic stop alerts (0=no, 1=yes)",
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "alert_traffic_stops_minutes": {
                                        "description": "Minutes without traffic before alerting",
                                        "type": "integer",
                                        "example": 30
                                    },
                                    "is_alert_speed_drops": {
                                        "description": "Enable speed drop alerts (0=no, 1=yes)",
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "alert_speed_drops_percent": {
                                        "description": "Speed drop percentage threshold",
                                        "type": "integer",
                                        "example": 50
                                    },
                                    "alert_speed_drops_time": {
                                        "description": "Minutes of sustained speed drop before alerting",
                                        "type": "integer",
                                        "example": 30
                                    },
                                    "is_alert_traffic_drops": {
                                        "description": "Enable traffic drop alerts (0=no, 1=yes)",
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "alert_traffic_drops_percent": {
                                        "description": "Traffic drop percentage threshold",
                                        "type": "integer",
                                        "example": 50
                                    },
                                    "alert_traffic_drops_time": {
                                        "description": "Minutes of sustained traffic drop before alerting",
                                        "type": "integer",
                                        "example": 30
                                    },
                                    "is_alert_js_errors": {
                                        "description": "Enable JS error alerts (0=no, 1=yes)",
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "alert_js_errors_percent": {
                                        "description": "JS error percentage threshold",
                                        "type": "integer",
                                        "example": 10
                                    },
                                    "alert_js_errors_time": {
                                        "description": "Minutes of sustained JS errors before alerting",
                                        "type": "integer",
                                        "example": 30
                                    },
                                    "contacts": {
                                        "description": "Contact IDs to notify on incidents",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "groups": {
                                        "description": "Group assignment: a single group ID or an array of group IDs.",
                                        "oneOf": [
                                            {
                                                "type": "integer"
                                            },
                                            {
                                                "type": "array",
                                                "items": {
                                                    "type": "integer"
                                                }
                                            }
                                        ]
                                    },
                                    "branding_id": {
                                        "description": "Branding template ID",
                                        "type": "integer",
                                        "example": 0
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Monitor created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "ID of the newly created monitor",
                                                    "type": "integer"
                                                },
                                                "script_hash": {
                                                    "description": "Script hash for the tracking beacon",
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "invalid_url"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Please enter a valid site URL."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/rum/{id}": {
            "get": {
                "tags": [
                    "RUM Monitors"
                ],
                "summary": "Get a single RUM monitor",
                "description": "Returns full details of a specific RUM monitor including configuration, tracking code, alert settings, and assigned contacts.",
                "operationId": "get_api-v2-rum-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Monitor details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "Monitor ID",
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "description": "Monitor display name",
                                                    "type": "string"
                                                },
                                                "url": {
                                                    "description": "Monitored URL",
                                                    "type": "string"
                                                },
                                                "is_up": {
                                                    "description": "Whether the monitor is currently up",
                                                    "type": "boolean"
                                                },
                                                "is_critical": {
                                                    "description": "Whether a critical incident is active",
                                                    "type": "boolean"
                                                },
                                                "is_trouble": {
                                                    "description": "Whether a trouble incident is active",
                                                    "type": "boolean"
                                                },
                                                "is_suspended": {
                                                    "description": "Whether the monitor is suspended",
                                                    "type": "boolean"
                                                },
                                                "is_paused": {
                                                    "description": "Whether the monitor is paused",
                                                    "type": "boolean"
                                                },
                                                "is_maintenance": {
                                                    "description": "Whether the monitor is in maintenance",
                                                    "type": "boolean"
                                                },
                                                "groups": {
                                                    "description": "Assigned groups",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    }
                                                },
                                                "tracking_code": {
                                                    "description": "Embeddable HTML script snippet for the website",
                                                    "type": "string"
                                                },
                                                "script_found": {
                                                    "description": "Whether the tracking script has been detected on the monitored website",
                                                    "type": "boolean"
                                                },
                                                "apdex_score": {
                                                    "description": "Apdex threshold in seconds (1-20)",
                                                    "type": "integer"
                                                },
                                                "is_alert_traffic_stops": {
                                                    "description": "Whether traffic stop alerts are enabled",
                                                    "type": "boolean"
                                                },
                                                "alert_traffic_stops_minutes": {
                                                    "description": "Minutes without traffic before alerting",
                                                    "type": "integer"
                                                },
                                                "is_alert_speed_drops": {
                                                    "description": "Whether speed drop alerts are enabled",
                                                    "type": "boolean"
                                                },
                                                "alert_speed_drops_percent": {
                                                    "description": "Speed drop percentage threshold",
                                                    "type": "integer"
                                                },
                                                "alert_speed_drops_time": {
                                                    "description": "Minutes of sustained speed drop before alerting",
                                                    "type": "integer"
                                                },
                                                "is_alert_traffic_drops": {
                                                    "description": "Whether traffic drop alerts are enabled",
                                                    "type": "boolean"
                                                },
                                                "alert_traffic_drops_percent": {
                                                    "description": "Traffic drop percentage threshold",
                                                    "type": "integer"
                                                },
                                                "alert_traffic_drops_time": {
                                                    "description": "Minutes of sustained traffic drop before alerting",
                                                    "type": "integer"
                                                },
                                                "is_alert_js_errors": {
                                                    "description": "Whether JS error alerts are enabled",
                                                    "type": "boolean"
                                                },
                                                "alert_js_errors_percent": {
                                                    "description": "JS error percentage threshold",
                                                    "type": "integer"
                                                },
                                                "alert_js_errors_time": {
                                                    "description": "Minutes of sustained JS errors before alerting",
                                                    "type": "integer"
                                                },
                                                "branding_id": {
                                                    "description": "Branding template ID",
                                                    "type": "integer"
                                                },
                                                "contacts": {
                                                    "description": "Assigned alert contacts",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "is_team": {
                                                                "type": "boolean"
                                                            },
                                                            "is_user": {
                                                                "type": "boolean"
                                                            },
                                                            "is_operator": {
                                                                "type": "boolean"
                                                            },
                                                            "is_individual_contact": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "RUM Monitors"
                ],
                "summary": "Delete a RUM monitor",
                "description": "Permanently deletes a RUM monitor and its associated configuration. Incident and log data may be retained.",
                "operationId": "delete_api-v2-rum-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Monitor deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deletion failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "could_not_delete_monitor"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "RUM Monitors"
                ],
                "summary": "Update an existing RUM monitor",
                "description": "Updates an existing RUM monitor. Only include fields you want to change. Omitted fields retain their current values.",
                "operationId": "patch_api-v2-rum-update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "url": {
                                        "description": "URL of the website to monitor",
                                        "type": "string"
                                    },
                                    "project_name": {
                                        "description": "Monitor display name",
                                        "type": "string"
                                    },
                                    "apdex_score": {
                                        "description": "Apdex threshold in seconds (1-20)",
                                        "type": "integer"
                                    },
                                    "is_alert_traffic_stops": {
                                        "description": "Enable traffic stop alerts (0=no, 1=yes)",
                                        "type": "integer"
                                    },
                                    "alert_traffic_stops_minutes": {
                                        "description": "Minutes without traffic before alerting",
                                        "type": "integer"
                                    },
                                    "is_alert_speed_drops": {
                                        "description": "Enable speed drop alerts (0=no, 1=yes)",
                                        "type": "integer"
                                    },
                                    "alert_speed_drops_percent": {
                                        "description": "Speed drop percentage threshold",
                                        "type": "integer"
                                    },
                                    "alert_speed_drops_time": {
                                        "description": "Minutes of sustained speed drop before alerting",
                                        "type": "integer"
                                    },
                                    "is_alert_traffic_drops": {
                                        "description": "Enable traffic drop alerts (0=no, 1=yes)",
                                        "type": "integer"
                                    },
                                    "alert_traffic_drops_percent": {
                                        "description": "Traffic drop percentage threshold",
                                        "type": "integer"
                                    },
                                    "alert_traffic_drops_time": {
                                        "description": "Minutes of sustained traffic drop before alerting",
                                        "type": "integer"
                                    },
                                    "is_alert_js_errors": {
                                        "description": "Enable JS error alerts (0=no, 1=yes)",
                                        "type": "integer"
                                    },
                                    "alert_js_errors_percent": {
                                        "description": "JS error percentage threshold",
                                        "type": "integer"
                                    },
                                    "alert_js_errors_time": {
                                        "description": "Minutes of sustained JS errors before alerting",
                                        "type": "integer"
                                    },
                                    "contacts": {
                                        "description": "Contact IDs to notify",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "is_paused": {
                                        "description": "Pause (true) or resume (false) the monitor. When present, only the pause/resume action is performed and other fields are ignored.",
                                        "type": "boolean"
                                    },
                                    "groups": {
                                        "description": "Group assignment: a single group ID or an array of group IDs.",
                                        "oneOf": [
                                            {
                                                "type": "integer"
                                            },
                                            {
                                                "type": "array",
                                                "items": {
                                                    "type": "integer"
                                                }
                                            }
                                        ]
                                    },
                                    "branding_id": {
                                        "description": "Branding template ID",
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Monitor updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "Updated monitor ID",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/rum/{id}/incidents": {
            "get": {
                "tags": [
                    "RUM Monitors"
                ],
                "summary": "List incidents for a RUM monitor",
                "description": "Returns a list of incidents for the specified RUM monitor within the given date range. Defaults to the last 30 days. Incidents that overlap the range (including ongoing incidents that started before it) are included, and the result set is paginated with the limit/offset parameters.",
                "operationId": "get_api-v2-rum-incidents-list",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 30 days ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of incidents to return",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Number of incidents to skip",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of incidents",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "error_id": {
                                                        "description": "Incident ID",
                                                        "type": "integer"
                                                    },
                                                    "error_short": {
                                                        "description": "Short error description",
                                                        "type": "string"
                                                    },
                                                    "error_long": {
                                                        "description": "Detailed error description",
                                                        "type": "string"
                                                    },
                                                    "severity": {
                                                        "description": "Incident severity (Critical or Trouble)",
                                                        "type": "string"
                                                    },
                                                    "time_started": {
                                                        "description": "Formatted start time",
                                                        "type": "string"
                                                    },
                                                    "date_ended": {
                                                        "description": "Duration string or \"Ongoing\"",
                                                        "type": "string"
                                                    },
                                                    "time_elapsed": {
                                                        "description": "Time since incident started",
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total number of incidents in the date range (before limit/offset pagination is applied).",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/rum/{id}/incidents/{incidentId}": {
            "get": {
                "tags": [
                    "RUM Monitors"
                ],
                "summary": "Get a single RUM incident",
                "description": "Returns full details of a specific RUM incident.",
                "operationId": "get_api-v2-rum-incident-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "incidentId",
                        "in": "path",
                        "description": "Incident ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Incident details"
                    },
                    "404": {
                        "description": "Not found"
                    }
                }
            },
            "delete": {
                "tags": [
                    "RUM Monitors"
                ],
                "summary": "Delete a RUM incident",
                "description": "Permanently deletes a specific RUM incident and its associated status page threads.",
                "operationId": "delete_api-v2-rum-incident-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "incidentId",
                        "in": "path",
                        "description": "Incident ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Incident deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deletion failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "could_not_delete_incident"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/rum/{id}/check-code": {
            "post": {
                "tags": [
                    "RUM Monitors"
                ],
                "summary": "Verify tracking script installation",
                "description": "Checks whether the RUM tracking script has been correctly installed on the monitored website by fetching the page and searching for the script hash.",
                "operationId": "post_api-v2-rum-check-code",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Script check result",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "script_found": {
                                                    "description": "Whether the tracking script was found on the page",
                                                    "type": "boolean"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/rum/{id}/data/summary": {
            "get": {
                "tags": [
                    "RUM Monitors"
                ],
                "summary": "Get RUM summary analytics",
                "description": "Returns summary analytics for a RUM monitor: average load time, pageviews, JS errors, and user satisfaction breakdown.",
                "operationId": "get_api-v2-rum-data-summary",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date (YYYY-MM-DD), defaults to 30 days ago",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date (YYYY-MM-DD), defaults to today",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Summary analytics",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "avg_load_time": {
                                                    "description": "Average page load time in seconds",
                                                    "type": "number"
                                                },
                                                "pageviews": {
                                                    "description": "Total pageviews in the period",
                                                    "type": "integer"
                                                },
                                                "js_errors": {
                                                    "description": "Total JavaScript errors",
                                                    "type": "integer"
                                                },
                                                "satisfaction": {
                                                    "properties": {
                                                        "satisfied_pct": {
                                                            "description": "Percentage of satisfied users",
                                                            "type": "number"
                                                        },
                                                        "tolerating_pct": {
                                                            "description": "Percentage of tolerating users",
                                                            "type": "number"
                                                        },
                                                        "frustrated_pct": {
                                                            "description": "Percentage of frustrated users",
                                                            "type": "number"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/rum/{id}/data/pages": {
            "get": {
                "tags": [
                    "RUM Monitors"
                ],
                "summary": "Get per-page performance breakdown",
                "description": "Returns per-page performance data including pageviews and average load time for each tracked URL.",
                "operationId": "get_api-v2-rum-data-pages",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date (YYYY-MM-DD), defaults to 30 days ago",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date (YYYY-MM-DD), defaults to today",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Per-page breakdown",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "url": {
                                                        "description": "Page URL path",
                                                        "type": "string"
                                                    },
                                                    "pageviews": {
                                                        "description": "Number of pageviews",
                                                        "type": "integer"
                                                    },
                                                    "avg_load_time": {
                                                        "description": "Average load time in seconds",
                                                        "type": "number"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/rum/{id}/data/js-errors": {
            "get": {
                "tags": [
                    "RUM Monitors"
                ],
                "summary": "Get JavaScript error analytics",
                "description": "Returns JavaScript error data including totals, error breakdown by name and by script.",
                "operationId": "get_api-v2-rum-data-js-errors",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date (YYYY-MM-DD), defaults to 30 days ago",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date (YYYY-MM-DD), defaults to today",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "JavaScript error analytics",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total JS errors",
                                                    "type": "integer"
                                                },
                                                "unique": {
                                                    "description": "Number of unique error types",
                                                    "type": "integer"
                                                },
                                                "affected_pages": {
                                                    "description": "Number of pages with errors",
                                                    "type": "integer"
                                                },
                                                "error_rate": {
                                                    "description": "Error rate as a percentage",
                                                    "type": "number"
                                                },
                                                "by_name": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "name": {
                                                                "description": "Error message",
                                                                "type": "string"
                                                            },
                                                            "count": {
                                                                "description": "Number of occurrences",
                                                                "type": "integer"
                                                            },
                                                            "pages": {
                                                                "description": "Number of pages affected",
                                                                "type": "integer"
                                                            },
                                                            "rate": {
                                                                "description": "Error rate",
                                                                "type": "number"
                                                            },
                                                            "last_seen": {
                                                                "description": "Last occurrence timestamp",
                                                                "type": "string"
                                                            },
                                                            "stack_trace": {
                                                                "description": "Stack trace if available",
                                                                "type": "string",
                                                                "nullable": true
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "by_script": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "script": {
                                                                "description": "Script URL",
                                                                "type": "string"
                                                            },
                                                            "count": {
                                                                "description": "Number of errors from this script",
                                                                "type": "integer"
                                                            },
                                                            "last_seen": {
                                                                "description": "Last occurrence timestamp",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/rum/{id}/data/geographic": {
            "get": {
                "tags": [
                    "RUM Monitors"
                ],
                "summary": "Get geographic distribution",
                "description": "Returns visitor distribution by country with load counts and average load times.",
                "operationId": "get_api-v2-rum-data-geographic",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date (YYYY-MM-DD), defaults to 30 days ago",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date (YYYY-MM-DD), defaults to today",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Geographic distribution",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "country": {
                                                        "description": "Country name",
                                                        "type": "string"
                                                    },
                                                    "country_code": {
                                                        "description": "ISO country code",
                                                        "type": "string"
                                                    },
                                                    "loads": {
                                                        "description": "Number of page loads",
                                                        "type": "integer"
                                                    },
                                                    "avg_load_time": {
                                                        "description": "Average load time in seconds",
                                                        "type": "number"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/rum/{id}/data/browsers": {
            "get": {
                "tags": [
                    "RUM Monitors"
                ],
                "summary": "Get browser distribution",
                "description": "Returns visitor distribution by browser with share percentage and load counts.",
                "operationId": "get_api-v2-rum-data-browsers",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date (YYYY-MM-DD), defaults to 30 days ago",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date (YYYY-MM-DD), defaults to today",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Browser distribution",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "name": {
                                                        "description": "Browser name",
                                                        "type": "string"
                                                    },
                                                    "share_pct": {
                                                        "description": "Market share percentage",
                                                        "type": "number"
                                                    },
                                                    "loads": {
                                                        "description": "Number of page loads",
                                                        "type": "integer"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/rum/{id}/data/devices": {
            "get": {
                "tags": [
                    "RUM Monitors"
                ],
                "summary": "Get device type distribution",
                "description": "Returns visitor distribution by device type (Desktop, Mobile, Tablet) with share percentage and load counts.",
                "operationId": "get_api-v2-rum-data-devices",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date (YYYY-MM-DD), defaults to 30 days ago",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date (YYYY-MM-DD), defaults to today",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Device distribution",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "type": {
                                                        "description": "Device type (Desktop, Mobile, Tablet)",
                                                        "type": "string"
                                                    },
                                                    "share_pct": {
                                                        "description": "Market share percentage",
                                                        "type": "number"
                                                    },
                                                    "loads": {
                                                        "description": "Number of page loads",
                                                        "type": "integer"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/rum/{id}/data/os": {
            "get": {
                "tags": [
                    "RUM Monitors"
                ],
                "summary": "Get operating system distribution",
                "description": "Returns visitor distribution by operating system with share percentage and load counts.",
                "operationId": "get_api-v2-rum-data-os",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date (YYYY-MM-DD), defaults to 30 days ago",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date (YYYY-MM-DD), defaults to today",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OS distribution",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "name": {
                                                        "description": "Operating system name",
                                                        "type": "string"
                                                    },
                                                    "share_pct": {
                                                        "description": "Market share percentage",
                                                        "type": "number"
                                                    },
                                                    "loads": {
                                                        "description": "Number of page loads",
                                                        "type": "integer"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/rum/{id}/snippet": {
            "get": {
                "tags": [
                    "RUM Monitors"
                ],
                "summary": "Get tracking JavaScript snippet",
                "description": "Returns the JavaScript tracking code snippet that should be embedded in the monitored website to collect Real User Monitoring data.",
                "operationId": "get_api-v2-rum-snippet",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Tracking snippet",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "snippet": {
                                                    "description": "HTML script tag to embed in the website",
                                                    "type": "string"
                                                },
                                                "script_hash": {
                                                    "description": "Unique script hash identifier",
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Monitor not found"
                    }
                }
            }
        },
        "/api/v2/rum/{id}/logs": {
            "get": {
                "tags": [
                    "RUM Monitors"
                ],
                "summary": "List alert logs for a RUM monitor",
                "description": "Returns recent alert/incident logs for the specified RUM monitor. RUM monitors collect client-side data, so logs reflect alert events rather than server-side checks.",
                "operationId": "get_api-v2-rum-logs-list",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 30 days ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of log entries to return",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Number of log entries to skip",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of alert logs",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "description": "Log entry ID",
                                                        "type": "integer"
                                                    },
                                                    "error_type": {
                                                        "description": "Alert type (traffic_stopped, speed_dropped, traffic_dropped, js_errors). NOTE: this field is currently always an empty string, as the underlying incident data does not expose the raw error type; use error_short/severity to identify the alert.",
                                                        "type": "string"
                                                    },
                                                    "error_short": {
                                                        "description": "Short error description",
                                                        "type": "string"
                                                    },
                                                    "severity": {
                                                        "description": "Incident severity",
                                                        "type": "string"
                                                    },
                                                    "time_started": {
                                                        "description": "Formatted start time",
                                                        "type": "string"
                                                    },
                                                    "date_ended": {
                                                        "description": "Duration string or \"Ongoing\"",
                                                        "type": "string"
                                                    },
                                                    "time_elapsed": {
                                                        "description": "Time since event",
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total log entries returned",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Monitor not found"
                    }
                }
            }
        },
        "/api/v2/rum/{id}/timeline": {
            "get": {
                "tags": [
                    "RUM Monitors"
                ],
                "summary": "Get timeline segments for a RUM monitor",
                "description": "Returns up, down, maintenance and unknown timeline segments for the RUM monitor over the requested date range, suitable for rendering an availability timeline strip.",
                "operationId": "get_api-v2-rum-timeline",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 7 days ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Timeline segments"
                    },
                    "404": {
                        "description": "Monitor not found"
                    }
                }
            }
        },
        "/api/v2/settings/timezones": {
            "get": {
                "tags": [
                    "Settings"
                ],
                "summary": "List available timezones",
                "description": "Returns the complete map of supported timezone IDs to their human-readable labels, intended to populate a timezone picker before setting the time_zone field on the user profile. This endpoint requires no parameters.",
                "operationId": "get_api-v2-settings-timezones",
                "responses": {
                    "200": {
                        "description": "Timezone list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "description": "Map of timezone ID to label",
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/settings/profile": {
            "get": {
                "tags": [
                    "Settings"
                ],
                "summary": "Get current user profile",
                "description": "Returns the authenticated user's profile (name, email, timezone, custom email sender, 2FA and login-email flags) plus the account plan, trial state and per-monitor-type usage versus plan limits. When signed in as an operator the operator's own name and email are returned along with impersonation context.",
                "operationId": "get_api-v2-settings-profile",
                "responses": {
                    "200": {
                        "description": "User profile",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "full_name": {
                                                    "description": "Display name of the current user (the operator's own name when signed in as an operator)",
                                                    "type": "string"
                                                },
                                                "email": {
                                                    "description": "Email address of the current user (the operator's own email when signed in as an operator)",
                                                    "type": "string"
                                                },
                                                "time_zone": {
                                                    "description": "Account timezone ID",
                                                    "type": "integer"
                                                },
                                                "custom_sender": {
                                                    "description": "Custom SMS/email sender name",
                                                    "type": "string"
                                                },
                                                "twofa": {
                                                    "description": "Whether two-factor authentication is enabled (0 = off, 1 = on)",
                                                    "type": "integer"
                                                },
                                                "login_in_emails": {
                                                    "description": "Whether login notification emails are enabled",
                                                    "type": "boolean"
                                                },
                                                "plan": {
                                                    "description": "Numeric plan ID of the account",
                                                    "type": "integer"
                                                },
                                                "api_user": {
                                                    "description": "Whether the account has API access enabled (0 = no, 1 = yes)",
                                                    "type": "integer"
                                                },
                                                "operator_id": {
                                                    "description": "ID of the operator for the current session, or 0 when signed in as the account owner",
                                                    "type": "integer"
                                                },
                                                "is_operator": {
                                                    "description": "Whether the current session is an operator (subuser) session",
                                                    "type": "boolean"
                                                },
                                                "is_impersonated": {
                                                    "description": "Whether the operator is impersonating a different account",
                                                    "type": "boolean"
                                                },
                                                "is_dashboard_tour_seen": {
                                                    "description": "Whether the user has completed the dashboard onboarding tour",
                                                    "type": "boolean"
                                                },
                                                "is_sumoling": {
                                                    "description": "Whether the account is an AppSumo lifetime-deal account",
                                                    "type": "boolean"
                                                },
                                                "sumo_tier": {
                                                    "description": "AppSumo tier number (0 when not an AppSumo account)",
                                                    "type": "integer"
                                                },
                                                "needs_password_setup": {
                                                    "description": "Whether the operator still needs to set an initial password",
                                                    "type": "boolean"
                                                },
                                                "server_monitoring_enabled": {
                                                    "description": "Whether server monitoring is enabled for this account",
                                                    "type": "boolean"
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "plan": {
                                            "description": "Account plan, trial state and per-monitor-type usage versus plan limits",
                                            "properties": {
                                                "name": {
                                                    "description": "Human-readable plan name (e.g. \"Free\", or \"AppSumo Tier N\" for AppSumo accounts)",
                                                    "type": "string"
                                                },
                                                "is_legacy": {
                                                    "description": "Whether the account is on legacy pricing",
                                                    "type": "boolean"
                                                },
                                                "is_trial": {
                                                    "description": "Whether the account is currently in its trial period (always false for AppSumo accounts)",
                                                    "type": "boolean"
                                                },
                                                "trial_days_left": {
                                                    "description": "Number of trial days remaining (0 when not in trial)",
                                                    "type": "integer"
                                                },
                                                "is_sumoling": {
                                                    "description": "Whether the account is an AppSumo lifetime-deal account",
                                                    "type": "boolean"
                                                },
                                                "usage": {
                                                    "description": "Per-resource current usage versus the plan maximum",
                                                    "properties": {
                                                        "uptime": {
                                                            "description": "Uptime monitor usage",
                                                            "properties": {
                                                                "used": {
                                                                    "description": "Number currently in use",
                                                                    "type": "integer"
                                                                },
                                                                "max": {
                                                                    "description": "Maximum allowed by the plan",
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "ssl": {
                                                            "description": "SSL monitor usage",
                                                            "properties": {
                                                                "used": {
                                                                    "description": "Number currently in use",
                                                                    "type": "integer"
                                                                },
                                                                "max": {
                                                                    "description": "Maximum allowed by the plan",
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "domain": {
                                                            "description": "Domain monitor usage",
                                                            "properties": {
                                                                "used": {
                                                                    "description": "Number currently in use",
                                                                    "type": "integer"
                                                                },
                                                                "max": {
                                                                    "description": "Maximum allowed by the plan",
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "virus": {
                                                            "description": "Virus monitor usage",
                                                            "properties": {
                                                                "used": {
                                                                    "description": "Number currently in use",
                                                                    "type": "integer"
                                                                },
                                                                "max": {
                                                                    "description": "Maximum allowed by the plan",
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "rum": {
                                                            "description": "RUM monitor usage",
                                                            "properties": {
                                                                "used": {
                                                                    "description": "Number currently in use",
                                                                    "type": "integer"
                                                                },
                                                                "max": {
                                                                    "description": "Maximum allowed by the plan",
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "sms_credits": {
                                                            "description": "SMS credit usage",
                                                            "properties": {
                                                                "used": {
                                                                    "description": "Number of SMS credits used so far this period",
                                                                    "type": "integer"
                                                                },
                                                                "max": {
                                                                    "description": "Maximum allowed by the plan",
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "users": {
                                                            "description": "Operator (sub-user) usage",
                                                            "properties": {
                                                                "used": {
                                                                    "description": "Number currently in use",
                                                                    "type": "integer"
                                                                },
                                                                "max": {
                                                                    "description": "Maximum allowed by the plan",
                                                                    "type": "integer"
                                                                }
                                                            },
                                                            "type": "object"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Settings"
                ],
                "summary": "Update user profile",
                "description": "Updates the authenticated user's full name, email, timezone and custom email sender. The email must be valid and unique and the custom sender must be 3-11 alphanumeric characters. For operator sessions the operator's own name and email are returned so the form is not overwritten with the owner's values; returns a 400 error on validation failure.",
                "operationId": "patch_api-v2-settings-profile-update",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "full_name": {
                                        "type": "string"
                                    },
                                    "email": {
                                        "type": "string",
                                        "format": "email"
                                    },
                                    "time_zone": {
                                        "type": "string"
                                    },
                                    "custom_sender": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Updated profile",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "full_name": {
                                                    "type": "string"
                                                },
                                                "email": {
                                                    "type": "string"
                                                },
                                                "time_zone": {
                                                    "type": "integer"
                                                },
                                                "custom_sender": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v2/speed": {
            "get": {
                "tags": [
                    "Speed Monitors"
                ],
                "summary": "List all speed monitors",
                "description": "Returns a paginated list of all speed monitors for the authenticated account. Supports filtering by monitor status.",
                "operationId": "get_api-v2-speed-list",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of monitors to return (0 = no limit)",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "example": 25
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Number of monitors to skip",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "example": 0
                        }
                    },
                    {
                        "name": "show_is_up",
                        "in": "query",
                        "description": "Include monitors that are up",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_critical",
                        "in": "query",
                        "description": "Include monitors with critical incidents",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_trouble",
                        "in": "query",
                        "description": "Include monitors with trouble incidents",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_suspended",
                        "in": "query",
                        "description": "Include suspended monitors",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_paused",
                        "in": "query",
                        "description": "Include paused monitors",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_maintenance",
                        "in": "query",
                        "description": "Include monitors in maintenance",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of speed monitors",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "description": "Monitor ID",
                                                        "type": "integer"
                                                    },
                                                    "name": {
                                                        "description": "Monitor display name",
                                                        "type": "string"
                                                    },
                                                    "is_up": {
                                                        "description": "Whether the monitor is currently up",
                                                        "type": "boolean"
                                                    },
                                                    "is_critical": {
                                                        "description": "Whether the monitor has a critical incident",
                                                        "type": "boolean"
                                                    },
                                                    "is_trouble": {
                                                        "description": "Whether the monitor has a trouble incident",
                                                        "type": "boolean"
                                                    },
                                                    "is_suspended": {
                                                        "description": "Whether the monitor is suspended",
                                                        "type": "boolean"
                                                    },
                                                    "is_paused": {
                                                        "description": "Whether the monitor is paused",
                                                        "type": "boolean"
                                                    },
                                                    "is_maintenance": {
                                                        "description": "Whether the monitor is in maintenance",
                                                        "type": "boolean"
                                                    },
                                                    "groups": {
                                                        "description": "Groups this monitor belongs to",
                                                        "type": "array",
                                                        "items": {
                                                            "properties": {
                                                                "id": {
                                                                    "type": "integer"
                                                                },
                                                                "name": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "type": "object"
                                                        }
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total number of monitors matching filters",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Authentication required"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Speed Monitors"
                ],
                "summary": "Create a new speed monitor",
                "description": "Creates a new speed/page load monitor for the specified URL.",
                "operationId": "post_api-v2-speed-create",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "url"
                                ],
                                "properties": {
                                    "url": {
                                        "description": "URL to monitor page speed for",
                                        "type": "string",
                                        "example": "https://example.com"
                                    },
                                    "project_name": {
                                        "description": "Monitor display name",
                                        "type": "string",
                                        "example": "My Website Speed"
                                    },
                                    "monitoring_interval_slider": {
                                        "description": "Monitoring interval slider value (1-10, determines check frequency)",
                                        "type": "integer",
                                        "example": 5
                                    },
                                    "report_down_slider": {
                                        "description": "Report down delay slider value (1-5)",
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "probes": {
                                        "description": "Monitoring locations: \"all\" for all locations, or comma-separated probe IDs",
                                        "type": "string",
                                        "example": "all"
                                    },
                                    "contacts": {
                                        "description": "Contact IDs to notify on incidents",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "groups": {
                                        "description": "Group IDs to assign the monitor to",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "is_alert_speed_drops": {
                                        "description": "Enable speed drop alerts (0=no, 1=yes)",
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "alert_speed_threshold": {
                                        "description": "Speed alert threshold in seconds (1-30)",
                                        "type": "integer",
                                        "example": 5
                                    },
                                    "alert_speed_time": {
                                        "description": "Speed alert time window in minutes (20-60)",
                                        "type": "integer",
                                        "example": 30
                                    },
                                    "report_up": {
                                        "description": "Send notification when monitor recovers (0=no, 1=yes)",
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "branding_id": {
                                        "description": "Branding template ID for notifications",
                                        "type": "integer",
                                        "example": 0
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Monitor created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "ID of the newly created monitor",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "invalid_url"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Please enter a valid site URL."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/speed/{id}": {
            "get": {
                "tags": [
                    "Speed Monitors"
                ],
                "summary": "Get a single speed monitor",
                "description": "Returns full details of a specific speed monitor including configuration, status, speed alert settings, and assigned contacts.",
                "operationId": "get_api-v2-speed-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Monitor details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "Monitor ID",
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "description": "Monitor display name",
                                                    "type": "string"
                                                },
                                                "is_up": {
                                                    "description": "Whether the monitor is currently up",
                                                    "type": "boolean"
                                                },
                                                "is_critical": {
                                                    "description": "Whether a critical incident is active",
                                                    "type": "boolean"
                                                },
                                                "is_trouble": {
                                                    "description": "Whether a trouble incident is active",
                                                    "type": "boolean"
                                                },
                                                "is_suspended": {
                                                    "description": "Whether the monitor is suspended",
                                                    "type": "boolean"
                                                },
                                                "is_paused": {
                                                    "description": "Whether the monitor is paused",
                                                    "type": "boolean"
                                                },
                                                "is_maintenance": {
                                                    "description": "Whether the monitor is in maintenance",
                                                    "type": "boolean"
                                                },
                                                "groups": {
                                                    "description": "Assigned groups",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    }
                                                },
                                                "interval": {
                                                    "description": "Monitoring interval in seconds",
                                                    "type": "integer"
                                                },
                                                "report_down": {
                                                    "description": "Seconds to wait before reporting down",
                                                    "type": "integer"
                                                },
                                                "report_up": {
                                                    "description": "Whether to send notification when monitor recovers",
                                                    "type": "boolean"
                                                },
                                                "url": {
                                                    "description": "Monitored URL",
                                                    "type": "string"
                                                },
                                                "incident_id": {
                                                    "description": "Current active incident ID, null if none",
                                                    "type": "integer",
                                                    "nullable": true
                                                },
                                                "locations": {
                                                    "description": "Monitoring probe locations",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "integer"
                                                    }
                                                },
                                                "is_alert_speed_drops": {
                                                    "description": "Whether speed drop alerts are enabled (0=no, 1=yes)",
                                                    "type": "integer"
                                                },
                                                "alert_speed_threshold": {
                                                    "description": "Speed alert threshold in seconds (1-30)",
                                                    "type": "integer"
                                                },
                                                "alert_speed_time": {
                                                    "description": "Speed alert time window in minutes (20-60)",
                                                    "type": "integer"
                                                },
                                                "branding_id": {
                                                    "description": "Branding template ID",
                                                    "type": "integer"
                                                },
                                                "contacts": {
                                                    "description": "Assigned alert contacts",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "is_team": {
                                                                "type": "boolean"
                                                            },
                                                            "is_user": {
                                                                "type": "boolean"
                                                            },
                                                            "is_operator": {
                                                                "type": "boolean"
                                                            },
                                                            "is_individual_contact": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Speed Monitors"
                ],
                "summary": "Delete a speed monitor",
                "description": "Permanently deletes a speed monitor and its associated reporting configuration. Incident and log data may be retained.",
                "operationId": "delete_api-v2-speed-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Monitor deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deletion failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "could_not_delete_monitor"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Speed Monitors"
                ],
                "summary": "Update an existing speed monitor",
                "description": "Updates an existing speed monitor. Only include fields you want to change. Omitted fields retain their current values.",
                "operationId": "patch_api-v2-speed-update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "is_paused": {
                                        "description": "Pause (true) or resume (false) the monitor. When present, only the pause/resume action is performed and other fields are ignored.",
                                        "type": "boolean"
                                    },
                                    "url": {
                                        "description": "URL to monitor page speed for",
                                        "type": "string"
                                    },
                                    "project_name": {
                                        "description": "Monitor display name",
                                        "type": "string"
                                    },
                                    "monitoring_interval_slider": {
                                        "description": "Monitoring interval slider value (1-10)",
                                        "type": "integer"
                                    },
                                    "report_down_slider": {
                                        "description": "Report down delay slider value (1-5)",
                                        "type": "integer"
                                    },
                                    "probes": {
                                        "description": "Monitoring locations: \"all\" or comma-separated probe IDs",
                                        "type": "string"
                                    },
                                    "contacts": {
                                        "description": "Contact IDs to notify",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "groups": {
                                        "description": "Group IDs",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "is_alert_speed_drops": {
                                        "description": "Enable speed drop alerts (0=no, 1=yes)",
                                        "type": "integer"
                                    },
                                    "alert_speed_threshold": {
                                        "description": "Speed alert threshold in seconds (1-30)",
                                        "type": "integer"
                                    },
                                    "alert_speed_time": {
                                        "description": "Speed alert time window in minutes (20-60)",
                                        "type": "integer"
                                    },
                                    "report_up": {
                                        "description": "Send notification when monitor recovers (0=no, 1=yes)",
                                        "type": "integer"
                                    },
                                    "branding_id": {
                                        "description": "Branding template ID",
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Monitor updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "Updated monitor ID",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/speed/{id}/incidents": {
            "get": {
                "tags": [
                    "Speed Monitors"
                ],
                "summary": "List incidents for a speed monitor",
                "description": "Returns a list of incidents for the specified speed monitor within the given date range. Defaults to the last 30 days.",
                "operationId": "get_api-v2-speed-incidents-list",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 30 days ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of incidents to return",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Number of incidents to skip",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of incidents",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "error_id": {
                                                        "description": "Incident ID",
                                                        "type": "integer"
                                                    },
                                                    "error_display": {
                                                        "description": "Human-readable error description",
                                                        "type": "string"
                                                    },
                                                    "time_started": {
                                                        "description": "Formatted start time (e.g. \"March 15, 2026 14:30\")",
                                                        "type": "string"
                                                    },
                                                    "date_ended": {
                                                        "description": "Duration string or \"Ongoing\"",
                                                        "type": "string"
                                                    },
                                                    "time_elapsed": {
                                                        "description": "Time since incident started (e.g. \"2 hours ago\")",
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total number of incidents in the date range (before limit/offset pagination is applied).",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/speed/{id}/incidents/{incidentId}": {
            "get": {
                "tags": [
                    "Speed Monitors"
                ],
                "summary": "Get a single speed incident",
                "description": "Returns the full detail of a specific incident for the given speed monitor, including the parsed error list, the probe servers that detected the incident, the captured response headers/body, traceroute and screenshot.",
                "operationId": "get_api-v2-speed-incidents-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "incidentId",
                        "in": "path",
                        "description": "Incident ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Incident details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "Incident ID",
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "description": "Monitor display name",
                                                    "type": "string"
                                                },
                                                "monitor_id": {
                                                    "description": "Parent monitor ID",
                                                    "type": "integer"
                                                },
                                                "type": {
                                                    "description": "Monitor type label",
                                                    "type": "string",
                                                    "example": "Speed"
                                                },
                                                "type_code": {
                                                    "description": "Monitor type code",
                                                    "type": "string",
                                                    "example": "speed"
                                                },
                                                "url": {
                                                    "description": "Monitored URL",
                                                    "type": "string"
                                                },
                                                "port": {
                                                    "description": "Monitored port (always 0 for speed monitors)",
                                                    "type": "integer"
                                                },
                                                "time_started": {
                                                    "description": "Formatted incident start time (M d Y, H:i:s)",
                                                    "type": "string"
                                                },
                                                "time_started_unix": {
                                                    "description": "Incident start time as Unix timestamp",
                                                    "type": "integer"
                                                },
                                                "time_ended": {
                                                    "description": "Formatted incident end time (M d Y, H:i:s), or 0 if ongoing",
                                                    "oneOf": [
                                                        {
                                                            "type": "string"
                                                        },
                                                        {
                                                            "type": "integer"
                                                        }
                                                    ]
                                                },
                                                "time_ended_unix": {
                                                    "description": "Incident end time as Unix timestamp (0 if ongoing)",
                                                    "type": "integer"
                                                },
                                                "error": {
                                                    "description": "Primary failure reason",
                                                    "type": "string"
                                                },
                                                "duration": {
                                                    "description": "Human-readable duration, or \"Ongoing\"",
                                                    "type": "string"
                                                },
                                                "errors": {
                                                    "description": "Parsed list of detected errors",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "error": {
                                                                "description": "Error description (type, code and reason joined)",
                                                                "type": "string"
                                                            },
                                                            "count": {
                                                                "description": "Number of occurrences",
                                                                "type": "integer"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "servers": {
                                                    "description": "Probe servers that detected the incident",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "name": {
                                                                "description": "Probe/server name",
                                                                "type": "string"
                                                            },
                                                            "flag": {
                                                                "description": "Country flag code",
                                                                "type": "string"
                                                            },
                                                            "ip": {
                                                                "description": "Probe IP address",
                                                                "type": "string"
                                                            },
                                                            "date": {
                                                                "description": "Detection time (M d Y, H:i:s)",
                                                                "type": "string"
                                                            },
                                                            "error": {
                                                                "description": "Failure reason reported by this probe",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "response_headers": {
                                                    "description": "Captured HTTP response headers",
                                                    "type": "string"
                                                },
                                                "response_body": {
                                                    "description": "Captured HTTP response body (HTML-escaped)",
                                                    "type": "string"
                                                },
                                                "traceroute": {
                                                    "description": "Traceroute output (newline-joined), empty if none",
                                                    "type": "string"
                                                },
                                                "screenshot": {
                                                    "description": "Screenshot filename, empty if none",
                                                    "type": "string"
                                                },
                                                "is_critical": {
                                                    "description": "Whether the incident is critical",
                                                    "type": "boolean"
                                                },
                                                "is_trouble": {
                                                    "description": "Whether the incident is a trouble (non-critical) incident",
                                                    "type": "boolean"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "incident_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Speed Monitors"
                ],
                "summary": "Delete a speed incident",
                "description": "Permanently deletes a specific speed incident and its associated status page threads.",
                "operationId": "delete_api-v2-speed-incidents-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "incidentId",
                        "in": "path",
                        "description": "Incident ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Incident deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deletion failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "could_not_delete_incident"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/speed/{id}/logs": {
            "get": {
                "tags": [
                    "Speed Monitors"
                ],
                "summary": "List speed monitoring logs",
                "description": "Returns recent monitoring check logs for the specified speed monitor. Shows the last 14 days of data, limited to 10 entries.",
                "operationId": "get_api-v2-speed-logs-list",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of log entries to return",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Number of log entries to skip",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of monitoring logs",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "description": "Log entry ID",
                                                        "type": "integer"
                                                    },
                                                    "flag": {
                                                        "description": "Country flag code of the probe location",
                                                        "type": "string"
                                                    },
                                                    "location": {
                                                        "description": "Probe location name",
                                                        "type": "string"
                                                    },
                                                    "time_elapsed": {
                                                        "description": "Time since check (e.g. \"5 minutes ago\")",
                                                        "type": "string"
                                                    },
                                                    "speed": {
                                                        "description": "Load speed in seconds",
                                                        "type": "string"
                                                    },
                                                    "status_icon": {
                                                        "description": "Status icon filename (site_up.png or site_down.png)",
                                                        "type": "string"
                                                    },
                                                    "status_alt": {
                                                        "description": "Status description (\"Test successful\" or \"Test has failed\")",
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total log entries returned",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/speed/{id}/logs/{logId}": {
            "get": {
                "tags": [
                    "Speed Monitors"
                ],
                "summary": "Get a single speed monitoring log entry",
                "description": "Returns full details of a specific speed monitoring check log.",
                "operationId": "get_api-v2-speed-log-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "logId",
                        "in": "path",
                        "description": "Log entry ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Log entry details"
                    },
                    "404": {
                        "description": "Not found"
                    }
                }
            }
        },
        "/api/v2/speed/{id}/timeline": {
            "get": {
                "tags": [
                    "Speed Monitors"
                ],
                "summary": "Get timeline segments for a speed monitor",
                "description": "Returns up, down, maintenance and unknown timeline segments for the speed monitor over the requested date range, suitable for rendering an availability timeline strip.",
                "operationId": "get_api-v2-speed-timeline",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 7 days ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Timeline segments"
                    },
                    "404": {
                        "description": "Monitor not found"
                    }
                }
            }
        },
        "/api/v2/speed/{id}/charts/load-time": {
            "get": {
                "tags": [
                    "Speed Monitors"
                ],
                "summary": "Get speed load time chart data",
                "description": "Returns load time and downtime chart data for the specified speed monitor, including per-point probe location. Data is cached for 60 seconds.",
                "operationId": "get_api-v2-speed-charts-load-time",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 24 hours ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Load time chart data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "speed": {
                                                    "description": "Load times in seconds (rounded to 1 decimal)",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "number"
                                                    }
                                                },
                                                "downtime": {
                                                    "description": "Downtime flags per data point",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "integer"
                                                    }
                                                },
                                                "date": {
                                                    "description": "Formatted date labels (d.m.Y H:i)",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                },
                                                "location": {
                                                    "description": "Probe location per data point",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "name": {
                                                                "description": "Location name",
                                                                "type": "string"
                                                            },
                                                            "flag": {
                                                                "description": "Country flag code",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "max_value": {
                                                    "description": "Suggested Y-axis maximum value (max speed + 20% buffer)",
                                                    "type": "number"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/speed/{id}/averages": {
            "get": {
                "tags": [
                    "Speed Monitors"
                ],
                "summary": "Get speed monitor averages",
                "description": "Returns aggregated average metrics for the specified speed monitor within the given date range: load time, requests, size, own domain time, and number of hosts.",
                "operationId": "get_api-v2-speed-averages",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 30 days ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Average metrics",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "load_time": {
                                                    "description": "Average load time in milliseconds",
                                                    "type": "number"
                                                },
                                                "total_resource_time": {
                                                    "description": "Average total resource (all hosts) load time in milliseconds",
                                                    "type": "number"
                                                },
                                                "requests": {
                                                    "description": "Average number of requests",
                                                    "type": "number"
                                                },
                                                "size": {
                                                    "description": "Average page size in bytes",
                                                    "type": "number"
                                                },
                                                "own_domain_time": {
                                                    "description": "Average own domain load time in milliseconds",
                                                    "type": "number"
                                                },
                                                "own_domain_pct": {
                                                    "description": "Own domain time as percentage of total resource time",
                                                    "type": "number"
                                                },
                                                "third_party_time": {
                                                    "description": "Average third-party load time in milliseconds (total resource time minus own domain time)",
                                                    "type": "number"
                                                },
                                                "hosts": {
                                                    "description": "Average number of hosts",
                                                    "type": "number"
                                                },
                                                "total_checks": {
                                                    "description": "Total number of checks in the period",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/speed/{id}/dead-elements": {
            "get": {
                "tags": [
                    "Speed Monitors"
                ],
                "summary": "Get dead/broken elements",
                "description": "Returns a list of broken or dead assets detected on the monitored page. Elements with 3+ consecutive failures are flagged.",
                "operationId": "get_api-v2-speed-dead-elements",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 30 days ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of dead elements",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "link": {
                                                        "description": "URL of the broken asset",
                                                        "type": "string"
                                                    },
                                                    "error": {
                                                        "description": "Error type or HTTP status code",
                                                        "type": "string"
                                                    },
                                                    "time": {
                                                        "description": "Last seen Unix timestamp",
                                                        "type": "integer"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/speed/{id}/pagespeed": {
            "get": {
                "tags": [
                    "Speed Monitors"
                ],
                "summary": "Get PageSpeed/Lighthouse scores",
                "description": "Returns the latest Lighthouse/PageSpeed analysis for the monitored page, including score, host count, resource count, page size, and detailed insights.",
                "operationId": "get_api-v2-speed-pagespeed",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "PageSpeed data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "summary": {
                                                    "properties": {
                                                        "id": {
                                                            "description": "PageSpeed record ID",
                                                            "type": "integer"
                                                        },
                                                        "score": {
                                                            "description": "Lighthouse score (0-100)",
                                                            "type": "integer"
                                                        },
                                                        "number_of_hosts": {
                                                            "description": "Number of unique hosts",
                                                            "type": "integer"
                                                        },
                                                        "number_of_resources": {
                                                            "description": "Total number of resources",
                                                            "type": "integer"
                                                        },
                                                        "page_size": {
                                                            "description": "Human-readable page size",
                                                            "type": "string"
                                                        },
                                                        "page_size_plain": {
                                                            "description": "Page size in bytes",
                                                            "type": "integer"
                                                        },
                                                        "time": {
                                                            "description": "Analysis timestamp",
                                                            "type": "integer"
                                                        }
                                                    },
                                                    "type": "object"
                                                },
                                                "insights": {
                                                    "description": "Detailed Lighthouse rule results",
                                                    "type": "object"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor or data not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/speed/{id}/components": {
            "get": {
                "tags": [
                    "Speed Monitors"
                ],
                "summary": "Get component breakdown",
                "description": "Returns average speed, size, and request count broken down by component type (script, HTML, CSS, image, text, redirect) for the specified date range.",
                "operationId": "get_api-v2-speed-components",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 30 days ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Component breakdown",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "script": {
                                                    "properties": {
                                                        "speed": {
                                                            "description": "Average speed (formatted)",
                                                            "type": "string"
                                                        },
                                                        "size": {
                                                            "description": "Average size (formatted)",
                                                            "type": "string"
                                                        },
                                                        "requests": {
                                                            "description": "Average request count",
                                                            "type": "integer"
                                                        }
                                                    },
                                                    "type": "object"
                                                },
                                                "html": {
                                                    "properties": {
                                                        "speed": {
                                                            "type": "string"
                                                        },
                                                        "size": {
                                                            "type": "string"
                                                        },
                                                        "requests": {
                                                            "type": "integer"
                                                        }
                                                    },
                                                    "type": "object"
                                                },
                                                "css": {
                                                    "properties": {
                                                        "speed": {
                                                            "type": "string"
                                                        },
                                                        "size": {
                                                            "type": "string"
                                                        },
                                                        "requests": {
                                                            "type": "integer"
                                                        }
                                                    },
                                                    "type": "object"
                                                },
                                                "image": {
                                                    "properties": {
                                                        "speed": {
                                                            "type": "string"
                                                        },
                                                        "size": {
                                                            "type": "string"
                                                        },
                                                        "requests": {
                                                            "type": "integer"
                                                        }
                                                    },
                                                    "type": "object"
                                                },
                                                "text": {
                                                    "properties": {
                                                        "speed": {
                                                            "type": "string"
                                                        },
                                                        "size": {
                                                            "type": "string"
                                                        },
                                                        "requests": {
                                                            "type": "integer"
                                                        }
                                                    },
                                                    "type": "object"
                                                },
                                                "redirect": {
                                                    "properties": {
                                                        "speed": {
                                                            "type": "string"
                                                        },
                                                        "size": {
                                                            "type": "string"
                                                        },
                                                        "requests": {
                                                            "type": "integer"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/ssl": {
            "get": {
                "tags": [
                    "SSL Monitors"
                ],
                "summary": "List all SSL monitors",
                "description": "Returns a paginated list of all SSL monitors for the authenticated account. Supports filtering by monitor status.",
                "operationId": "get_api-v2-ssl-list",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of monitors to return (0 = no limit)",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "example": 25
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Number of monitors to skip",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "example": 0
                        }
                    },
                    {
                        "name": "show_is_up",
                        "in": "query",
                        "description": "Include monitors that are up",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_critical",
                        "in": "query",
                        "description": "Include monitors with critical incidents",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_trouble",
                        "in": "query",
                        "description": "Include monitors with trouble incidents",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_suspended",
                        "in": "query",
                        "description": "Include suspended monitors",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_paused",
                        "in": "query",
                        "description": "Include paused monitors",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_maintenance",
                        "in": "query",
                        "description": "Include monitors in maintenance",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of SSL monitors",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "description": "Monitor ID",
                                                        "type": "integer"
                                                    },
                                                    "name": {
                                                        "description": "Monitor display name",
                                                        "type": "string"
                                                    },
                                                    "is_up": {
                                                        "description": "Whether the monitor is currently up",
                                                        "type": "boolean"
                                                    },
                                                    "is_critical": {
                                                        "description": "Whether the monitor has a critical incident",
                                                        "type": "boolean"
                                                    },
                                                    "is_trouble": {
                                                        "description": "Whether the monitor has a trouble incident",
                                                        "type": "boolean"
                                                    },
                                                    "is_suspended": {
                                                        "description": "Whether the monitor is suspended",
                                                        "type": "boolean"
                                                    },
                                                    "is_paused": {
                                                        "description": "Whether the monitor is paused",
                                                        "type": "boolean"
                                                    },
                                                    "is_maintenance": {
                                                        "description": "Whether the monitor is in maintenance",
                                                        "type": "boolean"
                                                    },
                                                    "groups": {
                                                        "description": "Groups this monitor belongs to",
                                                        "type": "array",
                                                        "items": {
                                                            "properties": {
                                                                "id": {
                                                                    "type": "integer"
                                                                },
                                                                "name": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "type": "object"
                                                        }
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total number of monitors matching filters",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Authentication required"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "SSL Monitors"
                ],
                "summary": "Create a new SSL monitor",
                "description": "Creates a new SSL certificate monitor for the specified URL.",
                "operationId": "post_api-v2-ssl-create",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "url"
                                ],
                                "properties": {
                                    "url": {
                                        "description": "URL to monitor SSL certificate for",
                                        "type": "string",
                                        "example": "https://example.com"
                                    },
                                    "region": {
                                        "description": "Monitoring region ID (defaults to 1).",
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "project_name": {
                                        "description": "Monitor display name",
                                        "type": "string",
                                        "example": "My Website SSL"
                                    },
                                    "monitoring_interval_slider": {
                                        "description": "Monitoring interval slider value (1-10, determines check frequency)",
                                        "type": "integer",
                                        "example": 5
                                    },
                                    "report_down_slider": {
                                        "description": "Report down delay slider value (1-5)",
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "change_error_level_time": {
                                        "description": "Seconds before changing error level. Preferred field \u2014 sent in seconds by the editor.",
                                        "type": "integer",
                                        "example": 3600
                                    },
                                    "change_error_level_time_slider": {
                                        "description": "Legacy slider value for the change error level time (1-10). Only used by the bulk path when change_error_level_time is omitted.",
                                        "type": "integer",
                                        "example": 5
                                    },
                                    "expire_alert_days": {
                                        "description": "Days before certificate expiry to alert",
                                        "type": "integer",
                                        "example": 7
                                    },
                                    "probes": {
                                        "description": "Monitoring locations: \"all\" for all locations, or comma-separated probe IDs",
                                        "type": "string",
                                        "example": "all"
                                    },
                                    "contacts": {
                                        "description": "Contact IDs to notify on incidents",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "groups": {
                                        "description": "Group IDs to assign the monitor to",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "report_up": {
                                        "description": "Send notification when monitor recovers (0=no, 1=yes)",
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "branding_id": {
                                        "description": "Branding template ID for notifications",
                                        "type": "integer",
                                        "example": 0
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Monitor created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "ID of the newly created monitor",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "invalid_url"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Please enter a valid site URL."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/ssl/{id}": {
            "get": {
                "tags": [
                    "SSL Monitors"
                ],
                "summary": "Get a single SSL monitor",
                "description": "Returns full details of a specific SSL monitor including configuration, status, certificate info, and assigned contacts.",
                "operationId": "get_api-v2-ssl-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Monitor details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "Monitor ID",
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "description": "Monitor display name",
                                                    "type": "string"
                                                },
                                                "is_up": {
                                                    "description": "Whether the monitor is currently up",
                                                    "type": "boolean"
                                                },
                                                "is_critical": {
                                                    "description": "Whether a critical incident is active",
                                                    "type": "boolean"
                                                },
                                                "is_trouble": {
                                                    "description": "Whether a trouble incident is active",
                                                    "type": "boolean"
                                                },
                                                "is_suspended": {
                                                    "description": "Whether the monitor is suspended",
                                                    "type": "boolean"
                                                },
                                                "is_paused": {
                                                    "description": "Whether the monitor is paused",
                                                    "type": "boolean"
                                                },
                                                "is_maintenance": {
                                                    "description": "Whether the monitor is in maintenance",
                                                    "type": "boolean"
                                                },
                                                "groups": {
                                                    "description": "Assigned groups",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    }
                                                },
                                                "interval": {
                                                    "description": "Monitoring interval in seconds",
                                                    "type": "integer"
                                                },
                                                "report_down": {
                                                    "description": "Seconds to wait before reporting down",
                                                    "type": "integer"
                                                },
                                                "report_up": {
                                                    "description": "Whether to send notification when monitor recovers",
                                                    "type": "boolean"
                                                },
                                                "url": {
                                                    "description": "Monitored URL",
                                                    "type": "string"
                                                },
                                                "incident_id": {
                                                    "description": "Current active incident ID, null if none",
                                                    "type": "integer",
                                                    "nullable": true
                                                },
                                                "locations": {
                                                    "description": "Monitoring probe locations",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "integer"
                                                    }
                                                },
                                                "expire_alert_days": {
                                                    "description": "Days before expiry to alert",
                                                    "type": "integer"
                                                },
                                                "change_error_level_time": {
                                                    "description": "Seconds before changing error level",
                                                    "type": "integer"
                                                },
                                                "branding_id": {
                                                    "description": "Branding template ID",
                                                    "type": "integer"
                                                },
                                                "contacts": {
                                                    "description": "Assigned alert contacts",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "is_team": {
                                                                "type": "boolean"
                                                            },
                                                            "is_user": {
                                                                "type": "boolean"
                                                            },
                                                            "is_operator": {
                                                                "type": "boolean"
                                                            },
                                                            "is_individual_contact": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "issuer": {
                                                    "description": "Certificate issuer (certificate authority) from the last successful check",
                                                    "type": "string"
                                                },
                                                "protocol": {
                                                    "description": "Negotiated TLS protocol version from the last successful check",
                                                    "type": "string"
                                                },
                                                "domain_name": {
                                                    "description": "Common name / subject the certificate was issued for",
                                                    "type": "string"
                                                },
                                                "valid_from": {
                                                    "description": "Certificate validity start as a Unix timestamp (0 if unknown)",
                                                    "type": "integer"
                                                },
                                                "valid_to": {
                                                    "description": "Certificate expiry as a Unix timestamp (0 if unknown)",
                                                    "type": "integer"
                                                },
                                                "days_remaining": {
                                                    "description": "Number of days until the certificate expires (0 if expiry unknown, -1 if already expired)",
                                                    "type": "integer"
                                                },
                                                "error_code": {
                                                    "description": "Error code recorded by the last check, empty if none",
                                                    "type": "string"
                                                },
                                                "status": {
                                                    "description": "Last check status code recorded for the monitor",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "SSL Monitors"
                ],
                "summary": "Delete an SSL monitor",
                "description": "Permanently deletes an SSL monitor and its associated reporting configuration. Incident and log data may be retained.",
                "operationId": "delete_api-v2-ssl-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Monitor deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deletion failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "could_not_delete_monitor"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "SSL Monitors"
                ],
                "summary": "Update an existing SSL monitor",
                "description": "Updates an existing SSL monitor. Only include fields you want to change. Omitted fields retain their current values.",
                "operationId": "patch_api-v2-ssl-update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "is_paused": {
                                        "description": "Pause (true) or resume (false) the monitor. When present, only the pause/resume action is performed and other fields are ignored.",
                                        "type": "boolean"
                                    },
                                    "url": {
                                        "description": "URL to monitor SSL certificate for",
                                        "type": "string"
                                    },
                                    "region": {
                                        "description": "Monitoring region ID (defaults to 1).",
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "project_name": {
                                        "description": "Monitor display name",
                                        "type": "string"
                                    },
                                    "monitoring_interval_slider": {
                                        "description": "Monitoring interval slider value (1-10)",
                                        "type": "integer"
                                    },
                                    "report_down_slider": {
                                        "description": "Report down delay slider value (1-5)",
                                        "type": "integer"
                                    },
                                    "change_error_level_time": {
                                        "description": "Seconds before changing error level. Preferred field \u2014 sent in seconds by the editor.",
                                        "type": "integer",
                                        "example": 3600
                                    },
                                    "change_error_level_time_slider": {
                                        "description": "Legacy slider value for the change error level time (1-10). Only used by the bulk path when change_error_level_time is omitted.",
                                        "type": "integer"
                                    },
                                    "expire_alert_days": {
                                        "description": "Days before certificate expiry to alert",
                                        "type": "integer"
                                    },
                                    "probes": {
                                        "description": "Monitoring locations: \"all\" or comma-separated probe IDs",
                                        "type": "string"
                                    },
                                    "contacts": {
                                        "description": "Contact IDs to notify",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "groups": {
                                        "description": "Group IDs",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "report_up": {
                                        "description": "Send notification when monitor recovers (0=no, 1=yes)",
                                        "type": "integer"
                                    },
                                    "branding_id": {
                                        "description": "Branding template ID",
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Monitor updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "Updated monitor ID",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/ssl/{id}/incidents": {
            "get": {
                "tags": [
                    "SSL Monitors"
                ],
                "summary": "List incidents for an SSL monitor",
                "description": "Returns a list of incidents for the specified SSL monitor within the given date range. Defaults to the last 30 days.",
                "operationId": "get_api-v2-ssl-incidents-list",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 30 days ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of incidents to return",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Number of incidents to skip",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of incidents",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "error_id": {
                                                        "description": "Incident ID",
                                                        "type": "integer"
                                                    },
                                                    "error_display": {
                                                        "description": "Human-readable error description",
                                                        "type": "string"
                                                    },
                                                    "time_started": {
                                                        "description": "Formatted start time (e.g. \"March 15, 2026 14:30\")",
                                                        "type": "string"
                                                    },
                                                    "date_ended": {
                                                        "description": "Duration string or \"Ongoing\"",
                                                        "type": "string"
                                                    },
                                                    "time_elapsed": {
                                                        "description": "Time since incident started (e.g. \"2 hours ago\")",
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total incidents returned",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/ssl/{id}/incidents/{incidentId}": {
            "get": {
                "tags": [
                    "SSL Monitors"
                ],
                "summary": "Get a single SSL incident",
                "description": "Returns full details of a specific incident for the given SSL monitor.",
                "operationId": "get_api-v2-ssl-incidents-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "incidentId",
                        "in": "path",
                        "description": "Incident ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Incident details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "Incident ID",
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "description": "Monitor display name",
                                                    "type": "string"
                                                },
                                                "monitor_id": {
                                                    "description": "ID of the monitor the incident belongs to",
                                                    "type": "integer"
                                                },
                                                "type": {
                                                    "description": "Monitor type",
                                                    "type": "string",
                                                    "example": "SSL"
                                                },
                                                "type_code": {
                                                    "description": "Monitor category code",
                                                    "type": "string",
                                                    "example": "ssl"
                                                },
                                                "url": {
                                                    "description": "Monitored URL",
                                                    "type": "string"
                                                },
                                                "port": {
                                                    "description": "Port number (always 443 for SSL monitors)",
                                                    "type": "integer",
                                                    "example": 443
                                                },
                                                "time_started": {
                                                    "description": "Formatted incident start time (e.g. \"Mar 15 2026, 14:30:00\")",
                                                    "type": "string"
                                                },
                                                "time_started_unix": {
                                                    "description": "Incident start time as Unix timestamp",
                                                    "type": "integer"
                                                },
                                                "time_ended": {
                                                    "description": "Formatted incident end time, or 0 if ongoing",
                                                    "oneOf": [
                                                        {
                                                            "type": "string"
                                                        },
                                                        {
                                                            "type": "integer",
                                                            "example": 0
                                                        }
                                                    ]
                                                },
                                                "time_ended_unix": {
                                                    "description": "Incident end time as Unix timestamp (0 if ongoing)",
                                                    "type": "integer"
                                                },
                                                "error": {
                                                    "description": "Top-level incident error reason",
                                                    "type": "string"
                                                },
                                                "duration": {
                                                    "description": "Human-readable incident duration, or \"Ongoing\"",
                                                    "type": "string"
                                                },
                                                "errors": {
                                                    "description": "List of detected errors with occurrence counts",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "error": {
                                                                "description": "Error description",
                                                                "type": "string"
                                                            },
                                                            "count": {
                                                                "description": "Number of occurrences",
                                                                "type": "integer"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "servers": {
                                                    "description": "Probe locations that detected the incident",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "name": {
                                                                "description": "Probe/server name",
                                                                "type": "string"
                                                            },
                                                            "flag": {
                                                                "description": "Country flag code",
                                                                "type": "string"
                                                            },
                                                            "ip": {
                                                                "description": "Probe IP address",
                                                                "type": "string"
                                                            },
                                                            "date": {
                                                                "description": "Formatted detection time",
                                                                "type": "string"
                                                            },
                                                            "error": {
                                                                "description": "Error reason reported by the probe",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "response_headers": {
                                                    "description": "Response headers (always an empty string for SSL incidents)",
                                                    "type": "string"
                                                },
                                                "response_body": {
                                                    "description": "Response body (always an empty string for SSL incidents)",
                                                    "type": "string"
                                                },
                                                "traceroute": {
                                                    "description": "Traceroute output (always an empty string for SSL incidents)",
                                                    "type": "string"
                                                },
                                                "screenshot": {
                                                    "description": "Screenshot (always an empty string for SSL incidents)",
                                                    "type": "string"
                                                },
                                                "is_critical": {
                                                    "description": "Whether the incident is critical",
                                                    "type": "boolean"
                                                },
                                                "is_trouble": {
                                                    "description": "Whether the incident is a trouble-level event",
                                                    "type": "boolean"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Not found"
                    }
                }
            },
            "delete": {
                "tags": [
                    "SSL Monitors"
                ],
                "summary": "Delete an SSL incident",
                "description": "Permanently deletes a specific SSL incident and its associated status page threads.",
                "operationId": "delete_api-v2-ssl-incidents-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "incidentId",
                        "in": "path",
                        "description": "Incident ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Incident deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deletion failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "could_not_delete_incident"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/ssl/{id}/logs": {
            "get": {
                "tags": [
                    "SSL Monitors"
                ],
                "summary": "List SSL monitoring logs",
                "description": "Returns recent monitoring check logs for the specified SSL monitor. Shows the last 90 days of data, limited to 20 entries.",
                "operationId": "get_api-v2-ssl-logs-list",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of log entries to return",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Number of log entries to skip",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp to filter the log range",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp to filter the log range",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of monitoring logs",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "description": "Log entry ID",
                                                        "type": "integer"
                                                    },
                                                    "flag": {
                                                        "description": "Country flag code of the probe location",
                                                        "type": "string"
                                                    },
                                                    "location": {
                                                        "description": "Probe location name",
                                                        "type": "string"
                                                    },
                                                    "time_elapsed": {
                                                        "description": "Time since check (e.g. \"5 minutes ago\")",
                                                        "type": "string"
                                                    },
                                                    "speed": {
                                                        "description": "Response time in ms, or \"Backup check\"",
                                                        "type": "string"
                                                    },
                                                    "status_icon": {
                                                        "description": "Status icon filename (site_up.png or site_down.png)",
                                                        "type": "string"
                                                    },
                                                    "status_alt": {
                                                        "description": "Status description (\"Test successful\" or \"Test has failed\")",
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total log entries returned",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/ssl/{id}/logs/{logId}": {
            "get": {
                "tags": [
                    "SSL Monitors"
                ],
                "summary": "Get a single SSL monitoring log entry",
                "description": "Returns full details of a specific SSL monitoring check log.",
                "operationId": "get_api-v2-ssl-log-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "logId",
                        "in": "path",
                        "description": "Log entry ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Log entry details"
                    },
                    "404": {
                        "description": "Not found"
                    }
                }
            }
        },
        "/api/v2/ssl/{id}/timeline": {
            "get": {
                "tags": [
                    "SSL Monitors"
                ],
                "summary": "Get timeline segments for an SSL monitor",
                "description": "Returns up, down, maintenance and unknown timeline segments for the SSL monitor over the requested date range, suitable for rendering an availability timeline strip.",
                "operationId": "get_api-v2-ssl-timeline",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 7 days ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Timeline segments"
                    },
                    "404": {
                        "description": "Monitor not found"
                    }
                }
            }
        },
        "/api/v2/ssl/{id}/charts/response-time": {
            "get": {
                "tags": [
                    "SSL Monitors"
                ],
                "summary": "Get SSL response time history",
                "description": "Returns response time and downtime chart data for the specified SSL monitor. Data is cached for 60 seconds.",
                "operationId": "get_api-v2-ssl-charts-response-time",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 24 hours ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response time chart data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "speed": {
                                                    "description": "Response times in ms",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "number"
                                                    }
                                                },
                                                "downtime": {
                                                    "description": "Downtime percentage per data point (0-100)",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "integer"
                                                    }
                                                },
                                                "date": {
                                                    "description": "Formatted date labels for each data point",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                },
                                                "max_value": {
                                                    "description": "Suggested Y-axis maximum value",
                                                    "type": "number"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/status-pages": {
            "get": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "List all status pages for the authenticated account",
                "description": "Returns every public status page owned by the authenticated account, each with its display name, link slug, custom domain, visibility toggles and custom CSS/JS/HTML. The response includes a metadata.total count.",
                "operationId": "get_api-v2-status-pages-list",
                "responses": {
                    "200": {
                        "description": "List of status pages",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer"
                                                    },
                                                    "name": {
                                                        "type": "string"
                                                    },
                                                    "status_page_link_name": {
                                                        "type": "string"
                                                    },
                                                    "custom_domain_name": {
                                                        "type": "string"
                                                    },
                                                    "is_incident_history_on": {
                                                        "type": "integer"
                                                    },
                                                    "is_current_incidents_on": {
                                                        "type": "integer"
                                                    },
                                                    "is_timezone_utc": {
                                                        "type": "integer"
                                                    },
                                                    "is_scheduled_maintenances_on": {
                                                        "type": "integer"
                                                    },
                                                    "is_footer_link_on": {
                                                        "type": "integer"
                                                    },
                                                    "is_past_maintenances_on": {
                                                        "type": "integer"
                                                    },
                                                    "custom_css": {
                                                        "type": "string"
                                                    },
                                                    "custom_js": {
                                                        "type": "string"
                                                    },
                                                    "custom_html": {
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            },
            "post": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Create a new status page",
                "description": "Creates a new public status page for the account from the supplied name, URL slug, optional custom domain, visibility toggles, custom styling/logo and section structure (sections each listing the monitors they display). Returns the new page ID on success, or a 400 validation error.",
                "operationId": "post_api-v2-status-pages-create",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "status_page_link_name",
                                    "structure"
                                ],
                                "properties": {
                                    "name": {
                                        "description": "Status page display name",
                                        "type": "string"
                                    },
                                    "status_page_link_name": {
                                        "description": "URL slug for the status page",
                                        "type": "string"
                                    },
                                    "custom_domain_name": {
                                        "description": "Custom CNAME domain",
                                        "type": "string"
                                    },
                                    "is_incident_history_on": {
                                        "description": "Show incident history",
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_current_incidents_on": {
                                        "description": "Show current incidents",
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_scheduled_maintenances_on": {
                                        "description": "Show scheduled maintenances",
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_past_maintenances_on": {
                                        "description": "Show past maintenances",
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_footer_link_on": {
                                        "description": "Show footer link",
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_timezone_utc": {
                                        "description": "Use UTC timezone",
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "custom_css": {
                                        "description": "Custom CSS",
                                        "type": "string"
                                    },
                                    "custom_js": {
                                        "description": "Custom JavaScript",
                                        "type": "string"
                                    },
                                    "custom_html": {
                                        "description": "Custom HTML",
                                        "type": "string"
                                    },
                                    "custom_logo": {
                                        "description": "Custom logo URL or base64",
                                        "type": "string"
                                    },
                                    "structure": {
                                        "description": "Page sections with monitors",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "name": {
                                                    "type": "string"
                                                },
                                                "monitors": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "type": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Status page created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v2/status-pages/{id}": {
            "get": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Get a single status page with settings and structure",
                "description": "Retrieves one status page by ID, including all of its settings, visibility toggles, custom styling and its section/monitor structure. The page must belong to the authenticated account; returns 404 if it does not exist or is not yours.",
                "operationId": "get_api-v2-status-pages-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Status page details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "type": "string"
                                                },
                                                "status_page_link_name": {
                                                    "type": "string"
                                                },
                                                "custom_domain_name": {
                                                    "type": "string"
                                                },
                                                "is_incident_history_on": {
                                                    "type": "integer"
                                                },
                                                "is_current_incidents_on": {
                                                    "type": "integer"
                                                },
                                                "is_timezone_utc": {
                                                    "type": "integer"
                                                },
                                                "is_scheduled_maintenances_on": {
                                                    "type": "integer"
                                                },
                                                "is_footer_link_on": {
                                                    "type": "integer"
                                                },
                                                "is_past_maintenances_on": {
                                                    "type": "integer"
                                                },
                                                "custom_css": {
                                                    "type": "string"
                                                },
                                                "custom_js": {
                                                    "type": "string"
                                                },
                                                "custom_html": {
                                                    "type": "string"
                                                },
                                                "structure": {
                                                    "description": "Page sections, each listing the monitors it displays",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "name": {
                                                                "description": "Section name",
                                                                "type": "string"
                                                            },
                                                            "description": {
                                                                "description": "Optional section description",
                                                                "type": "string"
                                                            },
                                                            "monitors": {
                                                                "type": "array",
                                                                "items": {
                                                                    "properties": {
                                                                        "id": {
                                                                            "type": "integer"
                                                                        },
                                                                        "type": {
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                }
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "has_custom_logo": {
                                                    "description": "Whether a custom logo is configured for this page",
                                                    "type": "boolean"
                                                },
                                                "custom_logo_url": {
                                                    "description": "Public URL of the custom logo, or null if none is set",
                                                    "type": "string",
                                                    "nullable": true
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Status page not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Delete a status page",
                "description": "Permanently deletes the status page identified by ID along with its configuration. The page must belong to the authenticated account. This action cannot be undone and returns a 400 error if the deletion fails.",
                "operationId": "delete_api-v2-status-pages-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Status page deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deletion failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "status_page_not_deleted"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            },
            "patch": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Update an existing status page",
                "description": "Partially updates a status page; any omitted field keeps its current value, which is merged from the stored record before saving. A logo may be supplied either as a multipart file upload or via the custom_logo JSON field. The page must belong to the authenticated account; returns 404 if not found.",
                "operationId": "patch_api-v2-status-pages-update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "status_page_link_name": {
                                        "type": "string"
                                    },
                                    "custom_domain_name": {
                                        "type": "string"
                                    },
                                    "is_incident_history_on": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_current_incidents_on": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_scheduled_maintenances_on": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_past_maintenances_on": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_footer_link_on": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_timezone_utc": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "custom_css": {
                                        "type": "string"
                                    },
                                    "custom_js": {
                                        "type": "string"
                                    },
                                    "custom_html": {
                                        "type": "string"
                                    },
                                    "custom_logo": {
                                        "type": "string"
                                    },
                                    "structure": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "name": {
                                                    "type": "string"
                                                },
                                                "monitors": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "type": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Status page updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Status page not found"
                    }
                }
            }
        },
        "/api/v2/status-pages/threads": {
            "get": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "List threads filtered by resolved status",
                "description": "Returns the account's status threads (incidents, scheduled maintenances and general announcements shown on status pages), filtered by the is_resolved query flag (0 = active, 1 = resolved). Each entry summarises the thread and how many status updates it has, with a metadata.total count.",
                "operationId": "get_api-v2-status-pages-threads-list",
                "parameters": [
                    {
                        "name": "is_resolved",
                        "in": "query",
                        "description": "0 = active, 1 = resolved",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "default": 0,
                            "enum": [
                                0,
                                1
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of threads",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer"
                                                    },
                                                    "title": {
                                                        "type": "string"
                                                    },
                                                    "thread_type": {
                                                        "type": "string"
                                                    },
                                                    "summary": {
                                                        "type": "string"
                                                    },
                                                    "current_status": {
                                                        "type": "string"
                                                    },
                                                    "is_resolved": {
                                                        "type": "integer"
                                                    },
                                                    "time_created": {
                                                        "type": "integer"
                                                    },
                                                    "time_updated": {
                                                        "type": "integer"
                                                    },
                                                    "status_updates_posted": {
                                                        "type": "integer"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            },
            "post": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Create a new thread",
                "description": "Opens a new status thread of the chosen type (general, incident or maintenance) with a title, summary and a first status update. Depending on the type you must reference the relevant status_page_id, incident_id or maintenance_id and may list affected monitors. Returns the new thread ID, or a 400 validation error.",
                "operationId": "post_api-v2-status-pages-threads-create",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "thread_type",
                                    "title",
                                    "summary",
                                    "initial_status_update"
                                ],
                                "properties": {
                                    "thread_type": {
                                        "description": "Thread type",
                                        "type": "string",
                                        "enum": [
                                            "general",
                                            "incident",
                                            "maintenance"
                                        ]
                                    },
                                    "title": {
                                        "description": "Thread title (min 5 chars)",
                                        "type": "string"
                                    },
                                    "summary": {
                                        "description": "Thread summary (min 10 chars)",
                                        "type": "string"
                                    },
                                    "initial_status_update": {
                                        "description": "Initial status update message (min 5 chars)",
                                        "type": "string"
                                    },
                                    "status_page_id": {
                                        "description": "Status page ID (for general type)",
                                        "type": "integer"
                                    },
                                    "incident_id": {
                                        "description": "Incident ID (for incident type)",
                                        "type": "integer"
                                    },
                                    "monitor_type": {
                                        "description": "Monitor type (for incident type)",
                                        "type": "string",
                                        "enum": [
                                            "uptime",
                                            "speed",
                                            "transaction"
                                        ]
                                    },
                                    "maintenance_id": {
                                        "description": "Maintenance ID (for maintenance type)",
                                        "type": "integer"
                                    },
                                    "monitors": {
                                        "description": "Affected monitors",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "type": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Thread created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v2/status-pages/threads/{id}": {
            "get": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Get a single thread with all updates",
                "description": "Retrieves one status thread by ID together with its full chronological list of status updates (each with status, message and timestamp). The thread must belong to the authenticated account; returns 404 if not found.",
                "operationId": "get_api-v2-status-pages-threads-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Thread details with updates",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "title": {
                                                    "type": "string"
                                                },
                                                "thread_type": {
                                                    "type": "string"
                                                },
                                                "summary": {
                                                    "type": "string"
                                                },
                                                "current_status": {
                                                    "type": "string"
                                                },
                                                "is_resolved": {
                                                    "type": "integer"
                                                },
                                                "time_created": {
                                                    "type": "integer"
                                                },
                                                "time_updated": {
                                                    "type": "integer"
                                                },
                                                "updates": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "status": {
                                                                "type": "string"
                                                            },
                                                            "message": {
                                                                "type": "string"
                                                            },
                                                            "time": {
                                                                "type": "integer"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Thread not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "thread_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Delete a thread and all its updates",
                "description": "Permanently deletes a status thread together with every status update posted to it. The thread must belong to the authenticated account. This action cannot be undone and returns a 400 error if it fails.",
                "operationId": "delete_api-v2-status-pages-threads-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Thread deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deletion failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unable_to_delete"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            },
            "patch": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Update an existing thread",
                "description": "Updates a status thread's title, summary and the list of affected monitors. To change the thread status post a new status update instead. The thread must belong to the authenticated account; returns 404 if not found.",
                "operationId": "patch_api-v2-status-pages-threads-update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "title": {
                                        "description": "Thread title (min 5 chars)",
                                        "type": "string"
                                    },
                                    "summary": {
                                        "description": "Thread summary (min 10 chars)",
                                        "type": "string"
                                    },
                                    "monitors": {
                                        "description": "Affected monitors",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "type": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Thread updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Thread not found"
                    }
                }
            }
        },
        "/api/v2/status-pages/threads/{threadId}/updates": {
            "post": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Post a status update to a thread",
                "description": "Appends a new status update to the thread identified by threadId, advancing its current status (for example investigating, monitoring or resolved) with an accompanying message. The parent thread must belong to the authenticated account. Returns the new update ID, or a 400 validation error.",
                "operationId": "post_api-v2-status-pages-updates-create",
                "parameters": [
                    {
                        "name": "threadId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "status",
                                    "message"
                                ],
                                "properties": {
                                    "status": {
                                        "description": "Status progression value",
                                        "type": "string",
                                        "enum": [
                                            "open",
                                            "acknowledged",
                                            "investigating",
                                            "in_progress",
                                            "monitoring",
                                            "resolved",
                                            "scheduled",
                                            "completed"
                                        ]
                                    },
                                    "message": {
                                        "description": "Update message (min 10 chars)",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Update created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v2/status-pages/updates/{id}": {
            "delete": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Delete a single status update",
                "description": "Removes one status update from its thread without deleting the thread itself. The update must belong to a thread owned by the authenticated account. This action cannot be undone and returns a 400 error if it fails.",
                "operationId": "delete_api-v2-status-pages-updates-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Update deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deletion failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unable_to_delete"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            },
            "patch": {
                "tags": [
                    "Status Pages"
                ],
                "summary": "Edit an existing status update",
                "description": "Edits a previously posted status update, changing its status and message. You must pass the parent thread_id alongside the update ID. The update must belong to a thread owned by the authenticated account.",
                "operationId": "patch_api-v2-status-pages-updates-update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "thread_id",
                                    "status",
                                    "message"
                                ],
                                "properties": {
                                    "thread_id": {
                                        "description": "Parent thread ID",
                                        "type": "integer"
                                    },
                                    "status": {
                                        "description": "Status value",
                                        "type": "string"
                                    },
                                    "message": {
                                        "description": "Update message (min 10 chars)",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Update edited",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v2/teams": {
            "get": {
                "tags": [
                    "Teams"
                ],
                "summary": "List all teams for the authenticated account",
                "description": "Returns every alerting team owned by the authenticated account, including each team members, alerting-hours window, do-not-alert days, and whether the team overrides individual members alerting settings. The metadata object reports the total count.",
                "operationId": "get_api-v2-teams-list",
                "responses": {
                    "200": {
                        "description": "List of teams",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer"
                                                    },
                                                    "name": {
                                                        "type": "string"
                                                    },
                                                    "alerted_for": {
                                                        "type": "string"
                                                    },
                                                    "alerting_times": {
                                                        "type": "string"
                                                    },
                                                    "team_members_raw": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "integer"
                                                        }
                                                    },
                                                    "team_members_names": {
                                                        "type": "string"
                                                    },
                                                    "is_alerting_settings_override": {
                                                        "type": "boolean"
                                                    },
                                                    "do_not_alert_days": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "alert_hours_from": {
                                                        "type": "integer"
                                                    },
                                                    "alert_hours_to": {
                                                        "type": "integer"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            },
            "post": {
                "tags": [
                    "Teams"
                ],
                "summary": "Create a new team",
                "description": "Creates an alerting team that groups members so they can be notified together as a single contact. Requires a name and at least one member, and every member must belong to your account. Optionally override members individual alerting with a custom alerting-hours window (from must be before to) and do-not-alert days. Returns the new team ID.",
                "operationId": "post_api-v2-teams-create",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "members"
                                ],
                                "properties": {
                                    "name": {
                                        "description": "Team name",
                                        "type": "string"
                                    },
                                    "members": {
                                        "description": "Array of user/operator IDs",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "is_alerting_settings_override": {
                                        "description": "Override individual alerting settings",
                                        "type": "boolean",
                                        "example": true
                                    },
                                    "do_not_alert_days": {
                                        "description": "Days to suppress alerts",
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "enum": [
                                                "mon",
                                                "tue",
                                                "wed",
                                                "thu",
                                                "fri",
                                                "sat",
                                                "sun"
                                            ]
                                        }
                                    },
                                    "alert_hours_from": {
                                        "description": "Alert window start hour (0-23)",
                                        "type": "integer",
                                        "example": 8
                                    },
                                    "alert_hours_to": {
                                        "description": "Alert window end hour (0-23)",
                                        "type": "integer",
                                        "example": 17
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Team created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v2/teams/{id}": {
            "get": {
                "tags": [
                    "Teams"
                ],
                "summary": "Get a single team with full member details",
                "description": "Returns one team with its full roster of members (each flagged as the main account user or an operator) plus its alerting-override flag, alerting-hours window, and do-not-alert days. Returns 404 if the team does not exist or does not belong to your account.",
                "operationId": "get_api-v2-teams-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Team details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "type": "string"
                                                },
                                                "is_settings_override": {
                                                    "type": "integer"
                                                },
                                                "do_not_alert_days": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                },
                                                "alert_hours_from": {
                                                    "type": "integer"
                                                },
                                                "alert_hours_to": {
                                                    "type": "integer"
                                                },
                                                "members_list": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            },
                                                            "is_main_user": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Team not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "team_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Teams"
                ],
                "summary": "Delete a team",
                "description": "Permanently deletes a team belonging to the authenticated account; the underlying member users themselves are not deleted. Returns an error if the team could not be removed.",
                "operationId": "delete_api-v2-teams-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Team deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deletion failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "team_not_deleted"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            },
            "patch": {
                "tags": [
                    "Teams"
                ],
                "summary": "Update an existing team",
                "description": "Updates a team; only the supplied fields change while omitted fields keep their current values. The member list must remain non-empty and every member must belong to your account, and alerting-hours from must be before to. Returns 404 if the team does not exist or does not belong to your account.",
                "operationId": "patch_api-v2-teams-update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "members": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "is_alerting_settings_override": {
                                        "type": "boolean"
                                    },
                                    "do_not_alert_days": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "enum": [
                                                "mon",
                                                "tue",
                                                "wed",
                                                "thu",
                                                "fri",
                                                "sat",
                                                "sun"
                                            ]
                                        }
                                    },
                                    "alert_hours_from": {
                                        "type": "integer"
                                    },
                                    "alert_hours_to": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Team updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Team not found"
                    }
                }
            }
        },
        "/api/v2/transaction": {
            "get": {
                "tags": [
                    "Transaction Monitors"
                ],
                "summary": "List all transaction monitors",
                "description": "Returns a list of all transaction monitors for the authenticated account. Supports filtering by monitor status.",
                "operationId": "get_api-v2-transaction-list",
                "parameters": [
                    {
                        "name": "show_is_up",
                        "in": "query",
                        "description": "Include monitors that are up",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_critical",
                        "in": "query",
                        "description": "Include monitors with critical incidents",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_trouble",
                        "in": "query",
                        "description": "Include monitors with trouble incidents",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_suspended",
                        "in": "query",
                        "description": "Include suspended monitors",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_paused",
                        "in": "query",
                        "description": "Include paused monitors",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_maintenance",
                        "in": "query",
                        "description": "Include monitors in maintenance",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of monitors to return (0 = no limit)",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "example": 25
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Number of monitors to skip",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "example": 0
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of transaction monitors",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "description": "Monitor ID",
                                                        "type": "integer"
                                                    },
                                                    "name": {
                                                        "description": "Monitor display name",
                                                        "type": "string"
                                                    },
                                                    "is_up": {
                                                        "description": "Whether the monitor is currently up",
                                                        "type": "boolean"
                                                    },
                                                    "is_critical": {
                                                        "description": "Whether the monitor has a critical incident",
                                                        "type": "boolean"
                                                    },
                                                    "is_trouble": {
                                                        "description": "Whether the monitor has a trouble incident",
                                                        "type": "boolean"
                                                    },
                                                    "is_suspended": {
                                                        "description": "Whether the monitor is suspended",
                                                        "type": "boolean"
                                                    },
                                                    "is_paused": {
                                                        "description": "Whether the monitor is paused",
                                                        "type": "boolean"
                                                    },
                                                    "is_maintenance": {
                                                        "description": "Whether the monitor is in maintenance",
                                                        "type": "boolean"
                                                    },
                                                    "groups": {
                                                        "description": "Groups this monitor belongs to",
                                                        "type": "array",
                                                        "items": {
                                                            "properties": {
                                                                "id": {
                                                                    "type": "integer"
                                                                },
                                                                "name": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "type": "object"
                                                        }
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total number of monitors matching filters",
                                                    "type": "integer"
                                                },
                                                "up": {
                                                    "description": "Number of monitors that are up",
                                                    "type": "integer"
                                                },
                                                "critical": {
                                                    "description": "Number of monitors with critical incidents",
                                                    "type": "integer"
                                                },
                                                "trouble": {
                                                    "description": "Number of monitors with trouble incidents",
                                                    "type": "integer"
                                                },
                                                "suspended": {
                                                    "description": "Number of suspended monitors",
                                                    "type": "integer"
                                                },
                                                "paused": {
                                                    "description": "Number of paused monitors",
                                                    "type": "integer"
                                                },
                                                "maintenance": {
                                                    "description": "Number of monitors in maintenance",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Authentication required"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Transaction Monitors"
                ],
                "summary": "Create a new transaction monitor",
                "description": "Creates a new transaction monitor with step definitions. Steps define the user journey to be tested.",
                "operationId": "post_api-v2-transaction-create",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "project_name": {
                                        "description": "Monitor display name",
                                        "type": "string"
                                    },
                                    "monitoring_interval_slider": {
                                        "description": "Monitoring interval slider value",
                                        "type": "integer"
                                    },
                                    "report_down_slider": {
                                        "description": "Report down delay slider value",
                                        "type": "integer"
                                    },
                                    "contacts": {
                                        "description": "Contact IDs to notify",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "groups": {
                                        "description": "Group IDs",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "report_up": {
                                        "description": "Send notification when monitor recovers (0=no, 1=yes)",
                                        "type": "integer"
                                    },
                                    "branding_id": {
                                        "description": "Branding template ID",
                                        "type": "integer"
                                    },
                                    "probes": {
                                        "description": "Probe locations (\"all\" or array of IDs)"
                                    },
                                    "steps": {
                                        "description": "Transaction step definitions",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "number": {
                                                    "description": "Step order number",
                                                    "type": "integer"
                                                },
                                                "action_name": {
                                                    "description": "Action type (e.g. go_to_url, click_on_the_element)",
                                                    "type": "string"
                                                },
                                                "element_value_1": {
                                                    "description": "Primary element selector or URL",
                                                    "type": "string"
                                                },
                                                "element_value_2": {
                                                    "description": "Secondary parameter",
                                                    "type": "string"
                                                },
                                                "element_value_3": {
                                                    "description": "Tertiary parameter",
                                                    "type": "string"
                                                },
                                                "skip_step_if_fails": {
                                                    "description": "Whether to skip this step on failure",
                                                    "type": "integer"
                                                },
                                                "wait_before_starting": {
                                                    "description": "Delay in ms before executing step",
                                                    "type": "integer"
                                                },
                                                "perform_if_element_found": {
                                                    "description": "Conditional element selector",
                                                    "type": "string"
                                                },
                                                "perform_if_text_found": {
                                                    "description": "Conditional text selector",
                                                    "type": "string"
                                                },
                                                "perform_if_element_found_existance": {
                                                    "description": "Element existence condition",
                                                    "type": "string"
                                                },
                                                "perform_if_text_found_existance": {
                                                    "description": "Text existence condition",
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Monitor created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "New monitor ID",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/transaction/{id}": {
            "get": {
                "tags": [
                    "Transaction Monitors"
                ],
                "summary": "Get a single transaction monitor",
                "description": "Returns full details of a specific transaction monitor including configuration, step definitions, and assigned contacts.",
                "operationId": "get_api-v2-transaction-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Monitor details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "Monitor ID",
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "description": "Monitor display name",
                                                    "type": "string"
                                                },
                                                "is_up": {
                                                    "description": "Whether the monitor is currently up",
                                                    "type": "boolean"
                                                },
                                                "is_critical": {
                                                    "description": "Whether a critical incident is active",
                                                    "type": "boolean"
                                                },
                                                "is_trouble": {
                                                    "description": "Whether a trouble incident is active",
                                                    "type": "boolean"
                                                },
                                                "is_suspended": {
                                                    "description": "Whether the monitor is suspended",
                                                    "type": "boolean"
                                                },
                                                "is_paused": {
                                                    "description": "Whether the monitor is paused",
                                                    "type": "boolean"
                                                },
                                                "is_maintenance": {
                                                    "description": "Whether the monitor is in maintenance",
                                                    "type": "boolean"
                                                },
                                                "groups": {
                                                    "description": "Assigned groups",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    }
                                                },
                                                "interval": {
                                                    "description": "Monitoring interval in seconds",
                                                    "type": "integer"
                                                },
                                                "report_down": {
                                                    "description": "Seconds to wait before reporting down",
                                                    "type": "integer"
                                                },
                                                "report_up": {
                                                    "description": "Whether to send notification when monitor recovers",
                                                    "type": "integer"
                                                },
                                                "incident_id": {
                                                    "description": "Current active incident ID, null if none",
                                                    "type": "integer",
                                                    "nullable": true
                                                },
                                                "locations": {
                                                    "description": "Monitoring probe locations",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "integer"
                                                    }
                                                },
                                                "branding_id": {
                                                    "description": "Branding template ID",
                                                    "type": "integer"
                                                },
                                                "contacts": {
                                                    "description": "Assigned alert contacts",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "is_team": {
                                                                "type": "boolean"
                                                            },
                                                            "is_user": {
                                                                "type": "boolean"
                                                            },
                                                            "is_operator": {
                                                                "type": "boolean"
                                                            },
                                                            "is_individual_contact": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "steps": {
                                                    "description": "Transaction step definitions",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "number": {
                                                                "description": "Step order number",
                                                                "type": "integer"
                                                            },
                                                            "action_name": {
                                                                "description": "Action type (e.g. go_to_url, click_on_the_element)",
                                                                "type": "string"
                                                            },
                                                            "element_value_1": {
                                                                "description": "Primary element selector or URL",
                                                                "type": "string"
                                                            },
                                                            "element_value_2": {
                                                                "description": "Secondary parameter (value, text)",
                                                                "type": "string"
                                                            },
                                                            "element_value_3": {
                                                                "description": "Tertiary parameter",
                                                                "type": "string"
                                                            },
                                                            "skip_step_if_fails": {
                                                                "description": "Whether to skip this step on failure",
                                                                "type": "integer"
                                                            },
                                                            "wait_before_starting": {
                                                                "description": "Delay in ms before executing step",
                                                                "type": "integer"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Transaction Monitors"
                ],
                "summary": "Delete a transaction monitor",
                "description": "Permanently deletes a transaction monitor and its associated steps and reporting configuration.",
                "operationId": "delete_api-v2-transaction-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Monitor deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deletion failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "could_not_delete_monitor"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Transaction Monitors"
                ],
                "summary": "Update a transaction monitor",
                "description": "Updates an existing transaction monitor including step definitions. Supports pausing/resuming as a separate operation.",
                "operationId": "patch_api-v2-transaction-update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "is_paused": {
                                        "description": "Set to true to pause, false to resume (handled separately)",
                                        "type": "boolean"
                                    },
                                    "project_name": {
                                        "description": "Monitor display name",
                                        "type": "string"
                                    },
                                    "monitoring_interval_slider": {
                                        "description": "Monitoring interval slider value",
                                        "type": "integer"
                                    },
                                    "report_down_slider": {
                                        "description": "Report down delay slider value",
                                        "type": "integer"
                                    },
                                    "contacts": {
                                        "description": "Contact IDs to notify",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "groups": {
                                        "description": "Group IDs",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "report_up": {
                                        "description": "Send notification when monitor recovers (0=no, 1=yes)",
                                        "type": "integer"
                                    },
                                    "branding_id": {
                                        "description": "Branding template ID",
                                        "type": "integer"
                                    },
                                    "probes": {
                                        "description": "Probe locations (\"all\" or array of IDs)"
                                    },
                                    "steps": {
                                        "description": "Transaction step definitions",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "number": {
                                                    "type": "integer"
                                                },
                                                "action_name": {
                                                    "type": "string"
                                                },
                                                "element_value_1": {
                                                    "type": "string"
                                                },
                                                "element_value_2": {
                                                    "type": "string"
                                                },
                                                "element_value_3": {
                                                    "type": "string"
                                                },
                                                "skip_step_if_fails": {
                                                    "type": "integer"
                                                },
                                                "wait_before_starting": {
                                                    "type": "integer"
                                                },
                                                "perform_if_element_found": {
                                                    "description": "Conditional element selector",
                                                    "type": "string"
                                                },
                                                "perform_if_text_found": {
                                                    "description": "Conditional text selector",
                                                    "type": "string"
                                                },
                                                "perform_if_element_found_existance": {
                                                    "description": "Element existence condition",
                                                    "type": "string"
                                                },
                                                "perform_if_text_found_existance": {
                                                    "description": "Text existence condition",
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Monitor updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "Updated monitor ID",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/transaction/{id}/incidents": {
            "get": {
                "tags": [
                    "Transaction Monitors"
                ],
                "summary": "List incidents for a transaction monitor",
                "description": "Returns a list of incidents for the specified transaction monitor within the given date range. Defaults to the last 30 days.",
                "operationId": "get_api-v2-transaction-incidents-list",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 30 days ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of incidents to return",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Number of incidents to skip",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of incidents",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "error_id": {
                                                        "description": "Incident ID",
                                                        "type": "integer"
                                                    },
                                                    "error_display": {
                                                        "description": "Human-readable error description",
                                                        "type": "string"
                                                    },
                                                    "time_started": {
                                                        "description": "Formatted start time (e.g. \"March 15, 2026 14:30\")",
                                                        "type": "string"
                                                    },
                                                    "date_ended": {
                                                        "description": "Duration string or \"Ongoing\"",
                                                        "type": "string"
                                                    },
                                                    "time_elapsed": {
                                                        "description": "Time since incident started (e.g. \"2 hours ago\")",
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total incidents returned",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/transaction/{id}/incidents/{incidentId}": {
            "get": {
                "tags": [
                    "Transaction Monitors"
                ],
                "summary": "Get incident detail with step breakdown",
                "description": "Returns details of a specific transaction incident, including a per-step breakdown with durations, action names, and screenshot URLs.",
                "operationId": "get_api-v2-transaction-incidents-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "incidentId",
                        "in": "path",
                        "description": "Incident ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Incident details with step breakdown",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "Incident ID",
                                                    "type": "integer"
                                                },
                                                "time_started": {
                                                    "description": "Formatted start time",
                                                    "type": "string"
                                                },
                                                "time_started_unix": {
                                                    "description": "Start time as Unix timestamp",
                                                    "type": "integer"
                                                },
                                                "error_display": {
                                                    "description": "Human-readable error description",
                                                    "type": "string"
                                                },
                                                "date_ended": {
                                                    "description": "Duration string or \"Ongoing\"",
                                                    "type": "string"
                                                },
                                                "steps": {
                                                    "description": "Step-by-step breakdown",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "number": {
                                                                "description": "Step number",
                                                                "type": "integer"
                                                            },
                                                            "action_name": {
                                                                "description": "Translated action name",
                                                                "type": "string"
                                                            },
                                                            "attribute": {
                                                                "description": "Formatted step parameters",
                                                                "type": "string"
                                                            },
                                                            "duration": {
                                                                "description": "Step duration in ms",
                                                                "type": "string"
                                                            },
                                                            "status": {
                                                                "description": "Step status (success or error)",
                                                                "type": "string",
                                                                "enum": [
                                                                    "success",
                                                                    "error"
                                                                ]
                                                            },
                                                            "screenshot_url": {
                                                                "description": "Full URL to step screenshot",
                                                                "type": "string",
                                                                "nullable": true
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "incident_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Transaction Monitors"
                ],
                "summary": "Delete a transaction incident",
                "description": "Permanently deletes a specific transaction incident.",
                "operationId": "delete_api-v2-transaction-incidents-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "incidentId",
                        "in": "path",
                        "description": "Incident ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Incident deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deletion failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "could_not_delete_incident"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/transaction/{id}/logs": {
            "get": {
                "tags": [
                    "Transaction Monitors"
                ],
                "summary": "List monitoring logs for a transaction monitor",
                "description": "Returns recent monitoring check logs for the specified transaction monitor within the given date range, limited to 20 entries. Defaults to the last 14 days when no range is supplied.",
                "operationId": "get_api-v2-transaction-logs-list",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 14 days ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of log entries to return",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Number of log entries to skip",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of monitoring logs",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "description": "Log entry ID",
                                                        "type": "integer"
                                                    },
                                                    "flag": {
                                                        "description": "Country flag code of the probe location",
                                                        "type": "string"
                                                    },
                                                    "location": {
                                                        "description": "Probe location name",
                                                        "type": "string"
                                                    },
                                                    "time_elapsed": {
                                                        "description": "Time since check (e.g. \"5 minutes ago\")",
                                                        "type": "string"
                                                    },
                                                    "speed": {
                                                        "description": "Total duration or \"Backup check\"",
                                                        "type": "string"
                                                    },
                                                    "status_icon": {
                                                        "description": "Status icon filename",
                                                        "type": "string"
                                                    },
                                                    "status_alt": {
                                                        "description": "Status description",
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total log entries returned",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/transaction/{id}/logs/{logId}": {
            "get": {
                "tags": [
                    "Transaction Monitors"
                ],
                "summary": "Get a single transaction monitoring log entry",
                "description": "Returns full details of a specific transaction monitoring check log.",
                "operationId": "get_api-v2-transaction-log-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "logId",
                        "in": "path",
                        "description": "Log entry ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Log entry details"
                    },
                    "404": {
                        "description": "Not found"
                    }
                }
            }
        },
        "/api/v2/transaction/{id}/last-run": {
            "get": {
                "tags": [
                    "Transaction Monitors"
                ],
                "summary": "Get the last run of a transaction monitor",
                "description": "Returns the most recent transaction run with its overall status, total duration and per-step breakdown (step number, action name, attribute, duration, status and a screenshot URL when one was captured). Returns null data if the monitor has not run yet.",
                "operationId": "get_api-v2-transaction-last-run",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Last run with per-step results"
                    },
                    "404": {
                        "description": "Monitor not found"
                    }
                }
            }
        },
        "/api/v2/transaction/{id}/timeline": {
            "get": {
                "tags": [
                    "Transaction Monitors"
                ],
                "summary": "Get timeline segments for a transaction monitor",
                "description": "Returns up, down, maintenance and unknown timeline segments for the transaction monitor over the requested date range, suitable for rendering an availability timeline strip.",
                "operationId": "get_api-v2-transaction-timeline",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 7 days ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Timeline segments"
                    },
                    "404": {
                        "description": "Monitor not found"
                    }
                }
            }
        },
        "/api/v2/transaction/{id}/charts/steps": {
            "get": {
                "tags": [
                    "Transaction Monitors"
                ],
                "summary": "Get stacked step chart data",
                "description": "Returns step-by-step timing data for building a stacked chart of transaction execution durations. In addition to the fixed fields, the response contains one dynamic series per step (\"step_1\", \"step_2\", ... up to \"step_N\" where N is `max_steps`); each step_N is an array of that step's duration in seconds for each data point (0 when the step did not run). Returns an empty object when there is no data in the range.",
                "operationId": "get_api-v2-transaction-charts-steps",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 24 hours ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Step chart data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "description": "Empty object when no data exists for the range. Otherwise contains the fields below plus dynamic per-step series.",
                                            "properties": {
                                                "date": {
                                                    "description": "Date labels (d.m.Y H:i) for each data point",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                },
                                                "max_value": {
                                                    "description": "Suggested Y-axis maximum value (max total + 20% buffer)",
                                                    "type": "number"
                                                },
                                                "max_steps": {
                                                    "description": "Number of dynamic step_N series present (highest step number observed)",
                                                    "type": "integer"
                                                },
                                                "total": {
                                                    "description": "Total duration per data point in seconds",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "number"
                                                    }
                                                },
                                                "step_1": {
                                                    "description": "Per-step duration series in seconds for step 1, one value per data point (0 when the step did not run). One such \"step_N\" series is present for each step from 1 to max_steps; the property names are dynamic.",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "number"
                                                    }
                                                }
                                            },
                                            "type": "object",
                                            "additionalProperties": {
                                                "description": "Dynamic \"step_N\" series (step_1, step_2, ... step_{max_steps}): per-data-point step duration in seconds (0 when the step did not run).",
                                                "type": "array",
                                                "items": {
                                                    "type": "number"
                                                }
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/transaction/{id}/charts/availability": {
            "get": {
                "tags": [
                    "Transaction Monitors"
                ],
                "summary": "Get availability percentages for a transaction monitor",
                "description": "Calculates uptime and downtime percentages for the specified transaction monitor within the given date range. Defaults to the last 24 hours.",
                "operationId": "get_api-v2-transaction-charts-availability",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 24 hours ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Availability data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "uptime": {
                                                    "description": "Uptime percentage (0-100)",
                                                    "type": "number",
                                                    "format": "float",
                                                    "example": 99.95
                                                },
                                                "downtime": {
                                                    "description": "Downtime percentage (0-100)",
                                                    "type": "number",
                                                    "format": "float",
                                                    "example": 0.05
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Calculation failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "calculation_failed"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/transaction/{id}/steps": {
            "get": {
                "tags": [
                    "Transaction Monitors"
                ],
                "summary": "Get step definitions for a transaction monitor",
                "description": "Returns the configured step definitions for the specified transaction monitor, including action names, element selectors, and conditional execution options.",
                "operationId": "get_api-v2-transaction-steps",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Step definitions",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "number": {
                                                        "description": "Step order number",
                                                        "type": "integer"
                                                    },
                                                    "action_name": {
                                                        "description": "Action type (e.g. go_to_url, click_on_the_element)",
                                                        "type": "string"
                                                    },
                                                    "element_value_1": {
                                                        "description": "Primary element selector or URL",
                                                        "type": "string"
                                                    },
                                                    "element_value_2": {
                                                        "description": "Secondary parameter",
                                                        "type": "string"
                                                    },
                                                    "element_value_3": {
                                                        "description": "Tertiary parameter",
                                                        "type": "string"
                                                    },
                                                    "skip_step_if_fails": {
                                                        "description": "Whether to skip this step on failure",
                                                        "type": "integer"
                                                    },
                                                    "wait_before_starting": {
                                                        "description": "Delay in ms before executing step",
                                                        "type": "integer"
                                                    },
                                                    "perform_if_element_found": {
                                                        "description": "Conditional element selector",
                                                        "type": "string"
                                                    },
                                                    "perform_if_text_found": {
                                                        "description": "Conditional text selector",
                                                        "type": "string"
                                                    },
                                                    "perform_if_element_found_existance": {
                                                        "description": "Element existence condition",
                                                        "type": "string"
                                                    },
                                                    "perform_if_text_found_existance": {
                                                        "description": "Text existence condition",
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/transaction/{id}/test": {
            "post": {
                "tags": [
                    "Transaction Monitors"
                ],
                "summary": "Queue an immediate test run for a transaction monitor",
                "description": "Schedules the specified transaction monitor for an immediate check by setting its next check time to now. This is an asynchronous operation: the test is queued for a probe to pick up and does NOT run synchronously, so live step results and screenshots are not returned here. The response always reports a \"queued\" status, echoes the monitor ID, and lists the monitor's steps with a placeholder \"queued\" status (duration \"0ms\", no screenshot). Poll GET /api/v2/transaction/{id}/last-run afterwards to retrieve the actual run results.",
                "operationId": "post_api-v2-transaction-test",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Test queued",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "status": {
                                                    "description": "Always \"queued\" - the test was scheduled, not executed synchronously",
                                                    "type": "string",
                                                    "example": "queued"
                                                },
                                                "monitor_id": {
                                                    "description": "Monitor ID that was queued",
                                                    "type": "integer"
                                                },
                                                "steps": {
                                                    "description": "The monitor's configured steps, each with a placeholder queued status (no live results)",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "number": {
                                                                "description": "Step order number",
                                                                "type": "integer"
                                                            },
                                                            "action_name": {
                                                                "description": "Action type (e.g. go_to_url, click_on_the_element)",
                                                                "type": "string"
                                                            },
                                                            "status": {
                                                                "description": "Always \"queued\" - placeholder until the run completes",
                                                                "type": "string",
                                                                "example": "queued"
                                                            },
                                                            "duration": {
                                                                "description": "Placeholder duration, always \"0ms\" for a queued test",
                                                                "type": "string",
                                                                "example": "0ms"
                                                            },
                                                            "screenshot_url": {
                                                                "description": "Always null for a queued test",
                                                                "type": "string",
                                                                "nullable": true
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Monitor not found"
                    }
                }
            }
        },
        "/api/v2/transaction/test-all": {
            "post": {
                "tags": [
                    "Transaction Monitors"
                ],
                "summary": "Run tests for all transaction monitors",
                "description": "Triggers immediate test runs for all transaction monitors belonging to the authenticated account.",
                "operationId": "post_api-v2-transaction-test-all",
                "responses": {
                    "200": {
                        "description": "Tests queued",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "status": {
                                                    "type": "string",
                                                    "example": "queued"
                                                },
                                                "monitors_queued": {
                                                    "description": "Number of monitors queued for testing",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v2/uptime": {
            "get": {
                "tags": [
                    "Uptime Monitors"
                ],
                "summary": "List all uptime monitors",
                "description": "Returns a paginated list of all uptime monitors for the authenticated account. Supports filtering by monitor status.",
                "operationId": "get_api-v2-uptime-list",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of monitors to return (0 = no limit)",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "example": 25
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Number of monitors to skip",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "example": 0
                        }
                    },
                    {
                        "name": "show_is_up",
                        "in": "query",
                        "description": "Include monitors that are up",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_critical",
                        "in": "query",
                        "description": "Include monitors with critical incidents",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_trouble",
                        "in": "query",
                        "description": "Include monitors with trouble incidents",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_suspended",
                        "in": "query",
                        "description": "Include suspended monitors",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_paused",
                        "in": "query",
                        "description": "Include paused monitors",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_maintenance",
                        "in": "query",
                        "description": "Include monitors in maintenance",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of uptime monitors",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "description": "Monitor ID",
                                                        "type": "integer"
                                                    },
                                                    "name": {
                                                        "description": "Monitor display name",
                                                        "type": "string"
                                                    },
                                                    "is_up": {
                                                        "description": "Whether the monitor is currently up",
                                                        "type": "boolean"
                                                    },
                                                    "is_critical": {
                                                        "description": "Whether the monitor has a critical incident",
                                                        "type": "boolean"
                                                    },
                                                    "is_trouble": {
                                                        "description": "Whether the monitor has a trouble incident",
                                                        "type": "boolean"
                                                    },
                                                    "is_suspended": {
                                                        "description": "Whether the monitor is suspended",
                                                        "type": "boolean"
                                                    },
                                                    "is_paused": {
                                                        "description": "Whether the monitor is paused",
                                                        "type": "boolean"
                                                    },
                                                    "is_maintenance": {
                                                        "description": "Whether the monitor is in maintenance",
                                                        "type": "boolean"
                                                    },
                                                    "groups": {
                                                        "description": "Groups this monitor belongs to",
                                                        "type": "array",
                                                        "items": {
                                                            "properties": {
                                                                "id": {
                                                                    "type": "integer"
                                                                },
                                                                "name": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "type": "object"
                                                        }
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total number of monitors matching filters",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Authentication required"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Uptime Monitors"
                ],
                "summary": "Create a new uptime monitor",
                "description": "Creates a new uptime monitor with the specified configuration. The domain field is required.",
                "operationId": "post_api-v2-uptime-create",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "domain"
                                ],
                                "properties": {
                                    "domain": {
                                        "description": "URL or hostname to monitor",
                                        "type": "string",
                                        "example": "https://example.com"
                                    },
                                    "unique_id": {
                                        "description": "Custom unique identifier used in public status page URLs.",
                                        "type": "string"
                                    },
                                    "project_name": {
                                        "description": "Monitor display name",
                                        "type": "string",
                                        "example": "My Website"
                                    },
                                    "monit_type": {
                                        "description": "Monitor type: 1=HTTP, 2=HTTPS, 3=TCP, 4=PING, 5=DNS, 6=UDP, 7=SMTP, 8=POP3, 9=IMAP",
                                        "type": "integer",
                                        "example": 2
                                    },
                                    "port": {
                                        "description": "Port number (auto-detected if empty)",
                                        "type": "string",
                                        "example": "443"
                                    },
                                    "username": {
                                        "description": "HTTP Basic Auth username",
                                        "type": "string"
                                    },
                                    "password": {
                                        "description": "HTTP Basic Auth password",
                                        "type": "string"
                                    },
                                    "string_send": {
                                        "description": "String to send for TCP/UDP protocol checks",
                                        "type": "string"
                                    },
                                    "string_expect": {
                                        "description": "Expected string in TCP/UDP response",
                                        "type": "string"
                                    },
                                    "encrypted": {
                                        "description": "Use SSL/TLS for TCP connections (0=no, 1=yes)",
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "monitoring_interval_slider": {
                                        "description": "Monitoring interval slider value (1-10, determines check frequency)",
                                        "type": "integer",
                                        "example": 5
                                    },
                                    "report_down_slider": {
                                        "description": "Report down delay slider value (1-5)",
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "probes": {
                                        "description": "Monitoring locations: \"all\" for all locations, or comma-separated probe IDs",
                                        "type": "string",
                                        "example": "all"
                                    },
                                    "contacts": {
                                        "description": "Contact IDs to notify on incidents",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "groups": {
                                        "description": "Group IDs to assign the monitor to",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "error_types": {
                                        "description": "Error types to report on",
                                        "properties": {
                                            "connection": {
                                                "type": "integer",
                                                "example": 1
                                            },
                                            "timeout": {
                                                "type": "integer",
                                                "example": 1
                                            },
                                            "unknown": {
                                                "type": "integer",
                                                "example": 1
                                            },
                                            "redirect": {
                                                "type": "integer",
                                                "example": 1
                                            },
                                            "keyword": {
                                                "type": "integer",
                                                "example": 1
                                            },
                                            "http": {
                                                "properties": {
                                                    "response1xx": {
                                                        "type": "integer",
                                                        "example": 0
                                                    },
                                                    "response2xx": {
                                                        "type": "integer",
                                                        "example": 0
                                                    },
                                                    "response3xx": {
                                                        "type": "integer",
                                                        "example": 0
                                                    },
                                                    "response4xx": {
                                                        "type": "integer",
                                                        "example": 1
                                                    },
                                                    "response5xx": {
                                                        "type": "integer",
                                                        "example": 1
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "type": "object"
                                    },
                                    "keywords": {
                                        "description": "Keywords to check for in response body",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "keyword": {
                                                    "type": "string"
                                                },
                                                "type": {
                                                    "type": "string",
                                                    "enum": [
                                                        "exists",
                                                        "not_exists"
                                                    ]
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "custom_headers": {
                                        "description": "Custom HTTP headers to send",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "name": {
                                                    "type": "string"
                                                },
                                                "value": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "payload": {
                                        "description": "Raw POST/PUT request body",
                                        "type": "string"
                                    },
                                    "request_type": {
                                        "description": "HTTP method for the check",
                                        "type": "string",
                                        "enum": [
                                            "GET",
                                            "POST",
                                            "PUT",
                                            "DELETE",
                                            "HEAD",
                                            "POSTRAW"
                                        ],
                                        "example": "GET"
                                    },
                                    "follow_redirects": {
                                        "description": "Follow HTTP redirects (0=no, 1=yes)",
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "max_timeout": {
                                        "description": "Maximum timeout in seconds",
                                        "type": "integer",
                                        "example": 30
                                    },
                                    "report_up": {
                                        "description": "Send notification when monitor recovers (0=no, 1=yes)",
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "branding_id": {
                                        "description": "Branding template ID for notifications",
                                        "type": "integer",
                                        "example": 0
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Monitor created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "ID of the newly created monitor",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "invalid_domain"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Please enter a valid URL or hostname"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/uptime/{id}": {
            "get": {
                "tags": [
                    "Uptime Monitors"
                ],
                "summary": "Get a single uptime monitor",
                "description": "Returns full details of a specific uptime monitor including configuration, status, and assigned contacts.",
                "operationId": "get_api-v2-uptime-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Monitor details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "Monitor ID",
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "description": "Monitor display name",
                                                    "type": "string"
                                                },
                                                "unique_id": {
                                                    "description": "Unique identifier for public status pages",
                                                    "type": "string"
                                                },
                                                "is_up": {
                                                    "description": "Whether the monitor is currently up",
                                                    "type": "boolean"
                                                },
                                                "is_critical": {
                                                    "description": "Whether a critical incident is active",
                                                    "type": "boolean"
                                                },
                                                "is_trouble": {
                                                    "description": "Whether a trouble incident is active",
                                                    "type": "boolean"
                                                },
                                                "is_suspended": {
                                                    "description": "Whether the monitor is suspended",
                                                    "type": "boolean"
                                                },
                                                "is_paused": {
                                                    "description": "Whether the monitor is paused",
                                                    "type": "boolean"
                                                },
                                                "is_maintenance": {
                                                    "description": "Whether the monitor is in maintenance",
                                                    "type": "boolean"
                                                },
                                                "groups": {
                                                    "description": "Assigned groups",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    }
                                                },
                                                "monit_type": {
                                                    "description": "Numeric monitor type code (1=HTTP, 2=HTTPS, 3=TCP, 4=PING, 5=DNS, 6=UDP, 7=SMTP, 8=POP3, 9=IMAP)",
                                                    "type": "integer"
                                                },
                                                "monitor_type": {
                                                    "description": "Protocol type",
                                                    "type": "string",
                                                    "enum": [
                                                        "HTTP",
                                                        "HTTPS",
                                                        "TCP",
                                                        "PING",
                                                        "DNS",
                                                        "UDP",
                                                        "SMTP",
                                                        "POP3",
                                                        "IMAP"
                                                    ]
                                                },
                                                "interval": {
                                                    "description": "Monitoring interval in seconds",
                                                    "type": "integer"
                                                },
                                                "report_down": {
                                                    "description": "Seconds to wait before reporting down",
                                                    "type": "integer"
                                                },
                                                "report_up": {
                                                    "description": "Whether to send notification when monitor recovers",
                                                    "type": "boolean"
                                                },
                                                "url": {
                                                    "description": "Monitored URL or hostname",
                                                    "type": "string"
                                                },
                                                "port": {
                                                    "description": "Port number",
                                                    "type": "integer"
                                                },
                                                "username": {
                                                    "description": "HTTP basic-auth username stored for the monitored site",
                                                    "type": "string"
                                                },
                                                "password": {
                                                    "description": "Always returned as an empty string; the stored HTTP basic-auth secret is never disclosed. Use has_password to know whether one is set, and only send a password on create/update when you want to change it.",
                                                    "type": "string"
                                                },
                                                "has_password": {
                                                    "description": "Whether an HTTP basic-auth password is currently stored for this monitor. The secret itself is never returned.",
                                                    "type": "boolean"
                                                },
                                                "incident_id": {
                                                    "description": "Current active incident ID, null if none",
                                                    "type": "integer",
                                                    "nullable": true
                                                },
                                                "string_send": {
                                                    "description": "String to send for TCP/UDP checks",
                                                    "type": "string"
                                                },
                                                "string_expect": {
                                                    "description": "Expected string in response",
                                                    "type": "string"
                                                },
                                                "is_encrypted": {
                                                    "description": "Whether to use SSL/TLS for TCP connections",
                                                    "type": "boolean"
                                                },
                                                "follow_redirects": {
                                                    "description": "Whether to follow HTTP redirects",
                                                    "type": "boolean"
                                                },
                                                "max_timeout": {
                                                    "description": "Maximum timeout in seconds",
                                                    "type": "integer"
                                                },
                                                "report_error_types": {
                                                    "description": "Error types to report on",
                                                    "type": "object"
                                                },
                                                "keywords": {
                                                    "description": "Keywords to check for in response body",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "keyword": {
                                                                "description": "Keyword text",
                                                                "type": "string"
                                                            },
                                                            "state": {
                                                                "description": "Whether the keyword must be present or absent",
                                                                "type": "string",
                                                                "enum": [
                                                                    "must_exist",
                                                                    "must_not_exist"
                                                                ]
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "locations": {
                                                    "description": "Monitoring probe locations",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "integer"
                                                    }
                                                },
                                                "request_type": {
                                                    "description": "HTTP method",
                                                    "type": "string",
                                                    "enum": [
                                                        "GET",
                                                        "POST",
                                                        "PUT",
                                                        "DELETE",
                                                        "HEAD",
                                                        "POSTRAW"
                                                    ]
                                                },
                                                "custom_headers": {
                                                    "description": "Custom HTTP headers",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "name": {
                                                                "description": "Header name",
                                                                "type": "string"
                                                            },
                                                            "value": {
                                                                "description": "Header value",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "post_values": {
                                                    "description": "POST form values (currently always returned as an empty string)",
                                                    "type": "string"
                                                },
                                                "branding_id": {
                                                    "description": "Branding template ID",
                                                    "type": "integer"
                                                },
                                                "payload": {
                                                    "description": "Raw POST/POSTRAW request body (empty unless request_type is POST or POSTRAW)",
                                                    "type": "string"
                                                },
                                                "contacts": {
                                                    "description": "Assigned alert contacts",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "is_team": {
                                                                "type": "boolean"
                                                            },
                                                            "is_user": {
                                                                "type": "boolean"
                                                            },
                                                            "is_operator": {
                                                                "type": "boolean"
                                                            },
                                                            "is_individual_contact": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Uptime Monitors"
                ],
                "summary": "Delete an uptime monitor",
                "description": "Permanently deletes an uptime monitor and its associated reporting configuration. Incident and log data may be retained.",
                "operationId": "delete_api-v2-uptime-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Monitor deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deletion failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "could_not_delete_monitor"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Uptime Monitors"
                ],
                "summary": "Update an existing uptime monitor",
                "description": "Updates an existing uptime monitor. Only include fields you want to change. Omitted fields retain their current values.",
                "operationId": "patch_api-v2-uptime-update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "is_paused": {
                                        "description": "Pause (true) or resume (false) the monitor. When present, only the pause/resume action is performed and other fields are ignored.",
                                        "type": "boolean"
                                    },
                                    "unique_id": {
                                        "description": "Custom unique identifier used in public status page URLs.",
                                        "type": "string"
                                    },
                                    "domain": {
                                        "description": "URL or hostname to monitor",
                                        "type": "string"
                                    },
                                    "project_name": {
                                        "description": "Monitor display name",
                                        "type": "string"
                                    },
                                    "monit_type": {
                                        "description": "Monitor type: 1=HTTP, 2=HTTPS, 3=TCP, 4=PING, 5=DNS, 6=UDP, 7=SMTP, 8=POP3, 9=IMAP",
                                        "type": "integer"
                                    },
                                    "port": {
                                        "description": "Port number",
                                        "type": "string"
                                    },
                                    "username": {
                                        "description": "HTTP Basic Auth username",
                                        "type": "string"
                                    },
                                    "password": {
                                        "description": "HTTP Basic Auth password",
                                        "type": "string"
                                    },
                                    "string_send": {
                                        "description": "String to send for TCP/UDP checks",
                                        "type": "string"
                                    },
                                    "string_expect": {
                                        "description": "Expected string in response",
                                        "type": "string"
                                    },
                                    "encrypted": {
                                        "description": "Use SSL/TLS for TCP connections (0=no, 1=yes)",
                                        "type": "integer"
                                    },
                                    "monitoring_interval_slider": {
                                        "description": "Monitoring interval slider value (1-10)",
                                        "type": "integer"
                                    },
                                    "report_down_slider": {
                                        "description": "Report down delay slider value (1-5)",
                                        "type": "integer"
                                    },
                                    "probes": {
                                        "description": "Monitoring locations: \"all\" or comma-separated probe IDs",
                                        "type": "string"
                                    },
                                    "contacts": {
                                        "description": "Contact IDs to notify",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "groups": {
                                        "description": "Group IDs",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "error_types": {
                                        "description": "Error types to report on",
                                        "type": "object"
                                    },
                                    "keywords": {
                                        "description": "Keywords to check in response",
                                        "type": "array",
                                        "items": {
                                            "type": "object"
                                        }
                                    },
                                    "custom_headers": {
                                        "description": "Custom HTTP headers",
                                        "type": "array",
                                        "items": {
                                            "type": "object"
                                        }
                                    },
                                    "payload": {
                                        "description": "Raw POST/PUT request body",
                                        "type": "string"
                                    },
                                    "request_type": {
                                        "description": "HTTP method",
                                        "type": "string",
                                        "enum": [
                                            "GET",
                                            "POST",
                                            "PUT",
                                            "DELETE",
                                            "HEAD",
                                            "POSTRAW"
                                        ]
                                    },
                                    "follow_redirects": {
                                        "description": "Follow HTTP redirects (0=no, 1=yes)",
                                        "type": "integer"
                                    },
                                    "max_timeout": {
                                        "description": "Maximum timeout in seconds",
                                        "type": "integer"
                                    },
                                    "report_up": {
                                        "description": "Send notification when monitor recovers (0=no, 1=yes)",
                                        "type": "integer"
                                    },
                                    "branding_id": {
                                        "description": "Branding template ID",
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Monitor updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "Updated monitor ID",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/uptime/{id}/incidents": {
            "get": {
                "tags": [
                    "Uptime Monitors"
                ],
                "summary": "List incidents for an uptime monitor",
                "description": "Returns a list of incidents for the specified monitor within the given date range. Defaults to the last 30 days.",
                "operationId": "get_api-v2-uptime-incidents-list",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 30 days ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of incidents to return",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Number of incidents to skip",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of incidents",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "error_id": {
                                                        "description": "Incident ID",
                                                        "type": "integer"
                                                    },
                                                    "error_display": {
                                                        "description": "Human-readable error description",
                                                        "type": "string"
                                                    },
                                                    "time_started": {
                                                        "description": "Formatted start time (e.g. \"March 15, 2026 14:30\")",
                                                        "type": "string"
                                                    },
                                                    "date_ended": {
                                                        "description": "Duration string or \"Ongoing\"",
                                                        "type": "string"
                                                    },
                                                    "time_elapsed": {
                                                        "description": "Time since incident started (e.g. \"2 hours ago\")",
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total incidents returned",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/uptime/{id}/incidents/{incidentId}": {
            "get": {
                "tags": [
                    "Uptime Monitors"
                ],
                "summary": "Get a single incident",
                "description": "Returns details of a specific incident for the given uptime monitor.",
                "operationId": "get_api-v2-uptime-incidents-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "incidentId",
                        "in": "path",
                        "description": "Incident ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Incident details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "Incident ID",
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "description": "Monitor display name",
                                                    "type": "string"
                                                },
                                                "monitor_id": {
                                                    "description": "ID of the monitor the incident belongs to",
                                                    "type": "integer"
                                                },
                                                "type": {
                                                    "description": "Monitor protocol type",
                                                    "type": "string",
                                                    "enum": [
                                                        "HTTP",
                                                        "HTTPS",
                                                        "TCP",
                                                        "PING",
                                                        "DNS",
                                                        "UDP",
                                                        "SMTP",
                                                        "POP3",
                                                        "IMAP"
                                                    ]
                                                },
                                                "type_code": {
                                                    "description": "Monitor category code",
                                                    "type": "string",
                                                    "example": "uptime"
                                                },
                                                "url": {
                                                    "description": "Monitored URL or hostname",
                                                    "type": "string"
                                                },
                                                "port": {
                                                    "description": "Port number",
                                                    "type": "integer"
                                                },
                                                "string_send": {
                                                    "description": "String sent for TCP/UDP checks",
                                                    "type": "string"
                                                },
                                                "string_expect": {
                                                    "description": "Expected string in response",
                                                    "type": "string"
                                                },
                                                "time_started": {
                                                    "description": "Formatted incident start time (e.g. \"Mar 15 2026, 14:30:00\")",
                                                    "type": "string"
                                                },
                                                "time_started_unix": {
                                                    "description": "Incident start time as Unix timestamp",
                                                    "type": "integer"
                                                },
                                                "time_ended": {
                                                    "description": "Formatted incident end time, or 0 if ongoing",
                                                    "oneOf": [
                                                        {
                                                            "type": "string"
                                                        },
                                                        {
                                                            "type": "integer",
                                                            "example": 0
                                                        }
                                                    ]
                                                },
                                                "time_ended_unix": {
                                                    "description": "Incident end time as Unix timestamp (0 if ongoing)",
                                                    "type": "integer"
                                                },
                                                "error": {
                                                    "description": "Top-level incident error reason",
                                                    "type": "string"
                                                },
                                                "duration": {
                                                    "description": "Human-readable incident duration, or \"Ongoing\"",
                                                    "type": "string"
                                                },
                                                "errors": {
                                                    "description": "List of detected errors with occurrence counts",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "error": {
                                                                "description": "Error description",
                                                                "type": "string"
                                                            },
                                                            "count": {
                                                                "description": "Number of occurrences",
                                                                "type": "integer"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "servers": {
                                                    "description": "Probe locations that detected the incident",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "name": {
                                                                "description": "Probe/server name",
                                                                "type": "string"
                                                            },
                                                            "flag": {
                                                                "description": "Country flag code",
                                                                "type": "string"
                                                            },
                                                            "ip": {
                                                                "description": "Probe IP address",
                                                                "type": "string"
                                                            },
                                                            "date": {
                                                                "description": "Formatted detection time",
                                                                "type": "string"
                                                            },
                                                            "error": {
                                                                "description": "Error reason reported by the probe",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "response_headers": {
                                                    "description": "Raw HTTP response headers captured for the incident",
                                                    "type": "string"
                                                },
                                                "response_body": {
                                                    "description": "HTML-escaped HTTP response body captured for the incident",
                                                    "type": "string"
                                                },
                                                "traceroute": {
                                                    "description": "Newline-joined traceroute output, if captured",
                                                    "type": "string"
                                                },
                                                "screenshot": {
                                                    "description": "Screenshot filename or URL captured for the incident",
                                                    "type": "string"
                                                },
                                                "keywords": {
                                                    "description": "Raw keyword configuration of the monitor at incident time",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    }
                                                },
                                                "is_critical": {
                                                    "description": "Whether the incident is critical",
                                                    "type": "boolean"
                                                },
                                                "is_trouble": {
                                                    "description": "Whether the incident is a trouble-level event",
                                                    "type": "boolean"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "incident_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Uptime Monitors"
                ],
                "summary": "Delete an incident",
                "description": "Permanently deletes a specific incident and its associated status page threads.",
                "operationId": "delete_api-v2-uptime-incidents-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "incidentId",
                        "in": "path",
                        "description": "Incident ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Incident deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deletion failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "could_not_delete_incident"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/uptime/logs": {
            "get": {
                "tags": [
                    "Uptime Monitors"
                ],
                "summary": "List monitoring logs across all monitors",
                "description": "Returns a paginated list of monitoring check logs across all uptime monitors for the authenticated account. Supports date range filtering and pagination.",
                "operationId": "get_api-v2-uptime-logs-all",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of log entries to return (default 50)",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "example": 50
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Number of log entries to skip",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "example": 0
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of monitoring logs",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer"
                                                    },
                                                    "monitor_id": {
                                                        "type": "integer"
                                                    },
                                                    "monitor_name": {
                                                        "type": "string"
                                                    },
                                                    "flag": {
                                                        "type": "string"
                                                    },
                                                    "location": {
                                                        "type": "string"
                                                    },
                                                    "time": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "status": {
                                                        "type": "string",
                                                        "enum": [
                                                            "up",
                                                            "down"
                                                        ]
                                                    },
                                                    "speed": {
                                                        "description": "Total response time in ms",
                                                        "type": "integer"
                                                    },
                                                    "dns": {
                                                        "description": "DNS lookup time in ms",
                                                        "type": "integer"
                                                    },
                                                    "connect": {
                                                        "description": "Connection time in ms",
                                                        "type": "integer"
                                                    },
                                                    "send": {
                                                        "description": "Send time in ms",
                                                        "type": "integer"
                                                    },
                                                    "wait": {
                                                        "description": "Wait/TTFB time in ms",
                                                        "type": "integer"
                                                    },
                                                    "receive": {
                                                        "description": "Receive time in ms",
                                                        "type": "integer"
                                                    },
                                                    "is_backup": {
                                                        "type": "boolean"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total matching log entries",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/uptime/{id}/logs": {
            "get": {
                "tags": [
                    "Uptime Monitors"
                ],
                "summary": "List monitoring logs",
                "description": "Returns recent monitoring check logs for the specified monitor. Shows the last 14 days of data, limited to 20 entries.",
                "operationId": "get_api-v2-uptime-logs-list",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of log entries to return",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Number of log entries to skip",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp to filter the log range",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp to filter the log range",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of monitoring logs",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "description": "Log entry ID",
                                                        "type": "integer"
                                                    },
                                                    "flag": {
                                                        "description": "Country flag code of the probe location",
                                                        "type": "string"
                                                    },
                                                    "location": {
                                                        "description": "Probe location name",
                                                        "type": "string"
                                                    },
                                                    "time_elapsed": {
                                                        "description": "Time since check (e.g. \"5 minutes ago\")",
                                                        "type": "string"
                                                    },
                                                    "speed": {
                                                        "description": "Total response time in ms, or \"Backup check\"",
                                                        "type": "string"
                                                    },
                                                    "status_icon": {
                                                        "description": "Status icon filename (site_up.png or site_down.png)",
                                                        "type": "string"
                                                    },
                                                    "status_alt": {
                                                        "description": "Status description (\"Test successful\" or \"Test has failed\")",
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total log entries returned",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/uptime/{id}/logs/{logId}": {
            "get": {
                "tags": [
                    "Uptime Monitors"
                ],
                "summary": "Get a single monitoring log entry",
                "description": "Returns full details of a specific monitoring check log.",
                "operationId": "get_api-v2-uptime-log-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "logId",
                        "in": "path",
                        "description": "Log entry ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Log entry details"
                    },
                    "404": {
                        "description": "Not found"
                    }
                }
            }
        },
        "/api/v2/uptime/{id}/timeline": {
            "get": {
                "tags": [
                    "Uptime Monitors"
                ],
                "summary": "Get timeline segments for an uptime monitor",
                "description": "Returns timeline segments showing uptime, downtime, maintenance, and unknown periods for the given date range.",
                "operationId": "get_api-v2-uptime-timeline",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 7 days ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Timeline segments"
                    },
                    "404": {
                        "description": "Monitor not found"
                    }
                }
            }
        },
        "/api/v2/uptime/{id}/charts/availability": {
            "get": {
                "tags": [
                    "Uptime Monitors"
                ],
                "summary": "Get availability percentages",
                "description": "Calculates uptime and downtime percentages for the specified monitor within the given date range. Defaults to the last 24 hours.",
                "operationId": "get_api-v2-uptime-charts-availability",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 24 hours ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Availability data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "uptime": {
                                                    "description": "Uptime percentage (0-100)",
                                                    "type": "number",
                                                    "format": "float",
                                                    "example": 99.95
                                                },
                                                "downtime": {
                                                    "description": "Downtime percentage (0-100)",
                                                    "type": "number",
                                                    "format": "float",
                                                    "example": 0.05
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Calculation failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "calculation_failed"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/uptime/{id}/charts/response-time": {
            "get": {
                "tags": [
                    "Uptime Monitors"
                ],
                "summary": "Get response time history",
                "description": "Returns response time chart data for the specified monitor. Includes timing breakdown (DNS, connect, send, wait, receive) for HTTP/HTTPS monitors. Data is cached for 60 seconds.",
                "operationId": "get_api-v2-uptime-charts-response-time",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 24 hours ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response time chart data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "response_time": {
                                                    "description": "Total response times in ms",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "number"
                                                    }
                                                },
                                                "dns": {
                                                    "description": "DNS lookup times in ms (HTTP/HTTPS only)",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "number"
                                                    }
                                                },
                                                "connect": {
                                                    "description": "TCP connect times in ms (HTTP/HTTPS only)",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "number"
                                                    }
                                                },
                                                "send": {
                                                    "description": "Request send times in ms (HTTP/HTTPS only)",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "number"
                                                    }
                                                },
                                                "wait": {
                                                    "description": "Server wait times in ms (HTTP/HTTPS only)",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "number"
                                                    }
                                                },
                                                "receive": {
                                                    "description": "Response receive times in ms (HTTP/HTTPS only)",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "number"
                                                    }
                                                },
                                                "downtime": {
                                                    "description": "Downtime percentage per data point (0-100)",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "integer"
                                                    }
                                                },
                                                "date": {
                                                    "description": "Formatted date labels for each data point",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                },
                                                "max_value": {
                                                    "description": "Suggested Y-axis maximum value",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/users": {
            "get": {
                "tags": [
                    "Users"
                ],
                "summary": "List all users and operators for the authenticated account",
                "description": "Returns the account owner (main user) and every operator (sub-user) on the account, including each one's contact email, alerting schedule (do-not-alert days and alert-hour window) and confirmation state. The response includes a metadata.total count.",
                "operationId": "get_api-v2-users-list",
                "responses": {
                    "200": {
                        "description": "List of users",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer"
                                                    },
                                                    "email": {
                                                        "type": "string"
                                                    },
                                                    "full_name": {
                                                        "type": "string"
                                                    },
                                                    "alerting_times": {
                                                        "type": "string"
                                                    },
                                                    "do_not_alert_days": {
                                                        "type": "string"
                                                    },
                                                    "alert_hours_from": {
                                                        "type": "integer"
                                                    },
                                                    "alert_hours_to": {
                                                        "type": "integer"
                                                    },
                                                    "is_main_user": {
                                                        "type": "boolean"
                                                    },
                                                    "is_confirmed": {
                                                        "type": "boolean"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            },
            "post": {
                "tags": [
                    "Users"
                ],
                "summary": "Create a new operator",
                "description": "Adds a new operator (sub-user) to the account with a full name, email and optional alerting schedule. If no contacts are supplied an email contact is auto-created from the operator's email. Alert hours must form a valid range and the operator count is capped by the account plan; returns a 400 error on validation failure or plan limit.",
                "operationId": "post_api-v2-users-create",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "full_name",
                                    "email"
                                ],
                                "properties": {
                                    "full_name": {
                                        "description": "Operator full name",
                                        "type": "string"
                                    },
                                    "email": {
                                        "description": "Operator email address",
                                        "type": "string",
                                        "format": "email"
                                    },
                                    "contacts": {
                                        "description": "Array of contacts for the operator",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "name": {
                                                    "type": "string"
                                                },
                                                "type": {
                                                    "type": "string",
                                                    "enum": [
                                                        "email",
                                                        "sms"
                                                    ]
                                                },
                                                "contact": {
                                                    "type": "string"
                                                },
                                                "is_new": {
                                                    "type": "boolean"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "do_not_alert_days": {
                                        "description": "Days to suppress alerts",
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "enum": [
                                                "mon",
                                                "tue",
                                                "wed",
                                                "thu",
                                                "fri",
                                                "sat",
                                                "sun"
                                            ]
                                        }
                                    },
                                    "alert_hours_from": {
                                        "description": "Alert window start hour (0-23)",
                                        "type": "integer",
                                        "example": 8
                                    },
                                    "alert_hours_to": {
                                        "description": "Alert window end hour (0-23)",
                                        "type": "integer",
                                        "example": 17
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Operator created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v2/users/{id}": {
            "get": {
                "tags": [
                    "Users"
                ],
                "summary": "Get a single user or operator",
                "description": "Retrieves one operator (sub-user) by ID with a whitelisted set of fields: email, full name and their alerting schedule (do-not-alert days and alert-hour window). The operator must belong to the authenticated account; returns 404 if not found.",
                "operationId": "get_api-v2-users-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "User details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "email": {
                                                    "type": "string"
                                                },
                                                "full_name": {
                                                    "type": "string"
                                                },
                                                "do_not_alert_days": {
                                                    "type": "string"
                                                },
                                                "alert_hours_from": {
                                                    "type": "integer"
                                                },
                                                "alert_hours_to": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "User not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "user_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Users"
                ],
                "summary": "Delete an operator",
                "description": "Permanently removes an operator (sub-user) and their contacts from the account. The operator must belong to the authenticated account. This action cannot be undone and returns a 400 error if it fails.",
                "operationId": "delete_api-v2-users-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Operator deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deletion failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "could_not_delete_user"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            },
            "patch": {
                "tags": [
                    "Users"
                ],
                "summary": "Update an operator",
                "description": "Partially updates an operator's full name, email and alerting schedule; omitted fields keep their current values. The email must be valid and unique and the alert hours must form a valid range. The operator must belong to the authenticated account; returns 404 if not found.",
                "operationId": "patch_api-v2-users-update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "full_name": {
                                        "type": "string"
                                    },
                                    "email": {
                                        "type": "string",
                                        "format": "email"
                                    },
                                    "do_not_alert_days": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "enum": [
                                                "mon",
                                                "tue",
                                                "wed",
                                                "thu",
                                                "fri",
                                                "sat",
                                                "sun"
                                            ]
                                        }
                                    },
                                    "alert_hours_from": {
                                        "type": "integer"
                                    },
                                    "alert_hours_to": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Operator updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "email": {
                                                    "type": "string"
                                                },
                                                "full_name": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "User not found"
                    }
                }
            }
        },
        "/api/v2/users/me": {
            "patch": {
                "tags": [
                    "Users"
                ],
                "summary": "Update main user alerting preferences",
                "description": "Updates the alerting preferences of the authenticated account owner (main user): the do-not-alert days and the daily alert-hour window during which notifications are sent. Alert hours must form a valid range or a 400 error is returned.",
                "operationId": "patch_api-v2-users-update-me",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "do_not_alert_days": {
                                        "description": "Days to suppress alerts",
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "enum": [
                                                "mon",
                                                "tue",
                                                "wed",
                                                "thu",
                                                "fri",
                                                "sat",
                                                "sun"
                                            ]
                                        }
                                    },
                                    "alert_hours_from": {
                                        "description": "Alert window start hour (0-23)",
                                        "type": "integer",
                                        "example": 8
                                    },
                                    "alert_hours_to": {
                                        "description": "Alert window end hour (0-23)",
                                        "type": "integer",
                                        "example": 17
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Preferences updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v2/virus": {
            "get": {
                "tags": [
                    "Virus Monitors"
                ],
                "summary": "List all virus monitors",
                "description": "Returns a paginated list of all virus monitors for the authenticated account. Supports filtering by monitor status.",
                "operationId": "get_api-v2-virus-list",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of monitors to return (0 = no limit)",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "example": 25
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Number of monitors to skip",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "example": 0
                        }
                    },
                    {
                        "name": "show_is_up",
                        "in": "query",
                        "description": "Include monitors that are up",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_critical",
                        "in": "query",
                        "description": "Include monitors with critical incidents",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_trouble",
                        "in": "query",
                        "description": "Include monitors with trouble incidents",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_suspended",
                        "in": "query",
                        "description": "Include suspended monitors",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_paused",
                        "in": "query",
                        "description": "Include paused monitors",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "show_is_maintenance",
                        "in": "query",
                        "description": "Include monitors in maintenance",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of virus monitors",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "description": "Monitor ID",
                                                        "type": "integer"
                                                    },
                                                    "name": {
                                                        "description": "Monitor display name",
                                                        "type": "string"
                                                    },
                                                    "is_up": {
                                                        "description": "Whether the monitor is currently up",
                                                        "type": "boolean"
                                                    },
                                                    "is_critical": {
                                                        "description": "Whether the monitor has a critical incident",
                                                        "type": "boolean"
                                                    },
                                                    "is_trouble": {
                                                        "description": "Whether the monitor has a trouble incident",
                                                        "type": "boolean"
                                                    },
                                                    "is_suspended": {
                                                        "description": "Whether the monitor is suspended",
                                                        "type": "boolean"
                                                    },
                                                    "is_paused": {
                                                        "description": "Whether the monitor is paused",
                                                        "type": "boolean"
                                                    },
                                                    "is_maintenance": {
                                                        "description": "Whether the monitor is in maintenance",
                                                        "type": "boolean"
                                                    },
                                                    "groups": {
                                                        "description": "Groups this monitor belongs to",
                                                        "type": "array",
                                                        "items": {
                                                            "properties": {
                                                                "id": {
                                                                    "type": "integer"
                                                                },
                                                                "name": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "type": "object"
                                                        }
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total number of monitors matching filters",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Authentication required"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Virus Monitors"
                ],
                "summary": "Create a new virus monitor",
                "description": "Creates a new virus/malware monitor for the specified URL. Scans via the Google Web Risk API.",
                "operationId": "post_api-v2-virus-create",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "url"
                                ],
                                "properties": {
                                    "url": {
                                        "description": "URL to monitor for viruses/malware",
                                        "type": "string",
                                        "example": "https://example.com"
                                    },
                                    "project_name": {
                                        "description": "Monitor display name",
                                        "type": "string",
                                        "example": "My Website Virus Scan"
                                    },
                                    "monitoring_interval_slider": {
                                        "description": "Monitoring interval slider value (determines check frequency, minimum 3600s)",
                                        "type": "integer",
                                        "example": 5
                                    },
                                    "report_down_slider": {
                                        "description": "Report down delay slider value",
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "contacts": {
                                        "description": "Contact IDs to notify on incidents",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "groups": {
                                        "description": "Group IDs to assign the monitor to",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "report_up": {
                                        "description": "Send notification when monitor recovers (0=no, 1=yes)",
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "branding_id": {
                                        "description": "Branding template ID for notifications",
                                        "type": "integer",
                                        "example": 0
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Monitor created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "ID of the newly created monitor",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "invalid_url"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Please enter a valid site URL."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/virus/{id}": {
            "get": {
                "tags": [
                    "Virus Monitors"
                ],
                "summary": "Get a single virus monitor",
                "description": "Returns full details of a specific virus monitor including configuration, status, and assigned contacts.",
                "operationId": "get_api-v2-virus-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Monitor details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "Monitor ID",
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "description": "Monitor display name",
                                                    "type": "string"
                                                },
                                                "is_up": {
                                                    "description": "Whether the monitor is currently up",
                                                    "type": "boolean"
                                                },
                                                "is_critical": {
                                                    "description": "Whether a critical incident is active",
                                                    "type": "boolean"
                                                },
                                                "is_trouble": {
                                                    "description": "Whether a trouble incident is active",
                                                    "type": "boolean"
                                                },
                                                "is_suspended": {
                                                    "description": "Whether the monitor is suspended",
                                                    "type": "boolean"
                                                },
                                                "is_paused": {
                                                    "description": "Whether the monitor is paused",
                                                    "type": "boolean"
                                                },
                                                "is_maintenance": {
                                                    "description": "Whether the monitor is in maintenance",
                                                    "type": "boolean"
                                                },
                                                "groups": {
                                                    "description": "Assigned groups",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    }
                                                },
                                                "interval": {
                                                    "description": "Monitoring interval in seconds",
                                                    "type": "integer"
                                                },
                                                "report_down": {
                                                    "description": "Seconds to wait before reporting down",
                                                    "type": "integer"
                                                },
                                                "report_up": {
                                                    "description": "Whether to send notification when monitor recovers",
                                                    "type": "boolean"
                                                },
                                                "url": {
                                                    "description": "Monitored URL",
                                                    "type": "string"
                                                },
                                                "incident_id": {
                                                    "description": "Current active incident ID, null if none",
                                                    "type": "integer",
                                                    "nullable": true
                                                },
                                                "branding_id": {
                                                    "description": "Branding template ID",
                                                    "type": "integer"
                                                },
                                                "contacts": {
                                                    "description": "Assigned alert contacts",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "is_team": {
                                                                "type": "boolean"
                                                            },
                                                            "is_user": {
                                                                "type": "boolean"
                                                            },
                                                            "is_operator": {
                                                                "type": "boolean"
                                                            },
                                                            "is_individual_contact": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Virus Monitors"
                ],
                "summary": "Delete a virus monitor",
                "description": "Permanently deletes a virus monitor and its associated reporting configuration. Incident and log data may be retained.",
                "operationId": "delete_api-v2-virus-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Monitor deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deletion failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "could_not_delete_monitor"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Virus Monitors"
                ],
                "summary": "Update an existing virus monitor",
                "description": "Updates an existing virus monitor. Only include fields you want to change. Omitted fields retain their current values.",
                "operationId": "patch_api-v2-virus-update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "is_paused": {
                                        "description": "Pause (true) or resume (false) the monitor. When present, only the pause/resume action is performed and other fields are ignored.",
                                        "type": "boolean"
                                    },
                                    "url": {
                                        "description": "URL to monitor for viruses/malware",
                                        "type": "string"
                                    },
                                    "project_name": {
                                        "description": "Monitor display name",
                                        "type": "string"
                                    },
                                    "monitoring_interval_slider": {
                                        "description": "Monitoring interval slider value",
                                        "type": "integer"
                                    },
                                    "report_down_slider": {
                                        "description": "Report down delay slider value",
                                        "type": "integer"
                                    },
                                    "contacts": {
                                        "description": "Contact IDs to notify",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "groups": {
                                        "description": "Group IDs",
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "report_up": {
                                        "description": "Send notification when monitor recovers (0=no, 1=yes)",
                                        "type": "integer"
                                    },
                                    "branding_id": {
                                        "description": "Branding template ID",
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Monitor updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "Updated monitor ID",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/virus/{id}/incidents": {
            "get": {
                "tags": [
                    "Virus Monitors"
                ],
                "summary": "List incidents for a virus monitor",
                "description": "Returns a list of security incidents for the specified virus monitor within the given date range. Incident types include MALWARE, SOCIAL_ENGINEERING, and UNWANTED_SOFTWARE. Defaults to the last 30 days.",
                "operationId": "get_api-v2-virus-incidents-list",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 30 days ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of incidents to return",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Number of incidents to skip",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of incidents",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "error_id": {
                                                        "description": "Incident ID",
                                                        "type": "integer"
                                                    },
                                                    "error_display": {
                                                        "description": "Human-readable error description (e.g. \"Malware detected\")",
                                                        "type": "string"
                                                    },
                                                    "time_started": {
                                                        "description": "Formatted start time (e.g. \"March 15, 2026 14:30\")",
                                                        "type": "string"
                                                    },
                                                    "date_ended": {
                                                        "description": "Duration string or \"Ongoing\"",
                                                        "type": "string"
                                                    },
                                                    "time_elapsed": {
                                                        "description": "Time since incident started (e.g. \"2 hours ago\")",
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total incidents returned",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/virus/{id}/incidents/{incidentId}": {
            "get": {
                "tags": [
                    "Virus Monitors"
                ],
                "summary": "Get a single virus incident",
                "description": "Returns the full detail of a specific security incident for the given virus monitor, including the parsed error list, the probe servers that detected the incident, the captured response headers/body, traceroute and screenshot.",
                "operationId": "get_api-v2-virus-incidents-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "incidentId",
                        "in": "path",
                        "description": "Incident ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Incident details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "description": "Incident ID",
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "description": "Monitor display name",
                                                    "type": "string"
                                                },
                                                "monitor_id": {
                                                    "description": "Parent monitor ID",
                                                    "type": "integer"
                                                },
                                                "type": {
                                                    "description": "Monitor type label",
                                                    "type": "string",
                                                    "example": "Virus"
                                                },
                                                "type_code": {
                                                    "description": "Monitor type code",
                                                    "type": "string",
                                                    "example": "virus"
                                                },
                                                "url": {
                                                    "description": "Monitored URL",
                                                    "type": "string"
                                                },
                                                "port": {
                                                    "description": "Monitored port (always 0 for virus monitors)",
                                                    "type": "integer"
                                                },
                                                "time_started": {
                                                    "description": "Formatted incident start time (M d Y, H:i:s)",
                                                    "type": "string"
                                                },
                                                "time_started_unix": {
                                                    "description": "Incident start time as Unix timestamp",
                                                    "type": "integer"
                                                },
                                                "time_ended": {
                                                    "description": "Formatted incident end time (M d Y, H:i:s), or 0 if ongoing",
                                                    "oneOf": [
                                                        {
                                                            "type": "string"
                                                        },
                                                        {
                                                            "type": "integer"
                                                        }
                                                    ]
                                                },
                                                "time_ended_unix": {
                                                    "description": "Incident end time as Unix timestamp (0 if ongoing)",
                                                    "type": "integer"
                                                },
                                                "error": {
                                                    "description": "Primary failure reason",
                                                    "type": "string"
                                                },
                                                "duration": {
                                                    "description": "Human-readable duration, or \"Ongoing\"",
                                                    "type": "string"
                                                },
                                                "errors": {
                                                    "description": "Parsed list of detected errors",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "error": {
                                                                "description": "Error description (type, code and reason joined)",
                                                                "type": "string"
                                                            },
                                                            "count": {
                                                                "description": "Number of occurrences",
                                                                "type": "integer"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "servers": {
                                                    "description": "Probe servers that detected the incident",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "name": {
                                                                "description": "Probe/server name",
                                                                "type": "string"
                                                            },
                                                            "flag": {
                                                                "description": "Country flag code",
                                                                "type": "string"
                                                            },
                                                            "ip": {
                                                                "description": "Probe IP address",
                                                                "type": "string"
                                                            },
                                                            "date": {
                                                                "description": "Detection time (M d Y, H:i:s)",
                                                                "type": "string"
                                                            },
                                                            "error": {
                                                                "description": "Failure reason reported by this probe",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "response_headers": {
                                                    "description": "Captured HTTP response headers",
                                                    "type": "string"
                                                },
                                                "response_body": {
                                                    "description": "Captured HTTP response body (HTML-escaped)",
                                                    "type": "string"
                                                },
                                                "traceroute": {
                                                    "description": "Traceroute output (newline-joined), empty if none",
                                                    "type": "string"
                                                },
                                                "screenshot": {
                                                    "description": "Screenshot filename, empty if none",
                                                    "type": "string"
                                                },
                                                "is_critical": {
                                                    "description": "Whether the incident is critical",
                                                    "type": "boolean"
                                                },
                                                "is_trouble": {
                                                    "description": "Whether the incident is a trouble (non-critical) incident",
                                                    "type": "boolean"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "incident_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Virus Monitors"
                ],
                "summary": "Delete a virus incident",
                "description": "Permanently deletes a specific virus/malware incident and its associated status page threads.",
                "operationId": "delete_api-v2-virus-incidents-delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "incidentId",
                        "in": "path",
                        "description": "Incident ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Incident deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Deletion failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "could_not_delete_incident"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/virus/{id}/logs": {
            "get": {
                "tags": [
                    "Virus Monitors"
                ],
                "summary": "List virus scan logs",
                "description": "Returns recent virus scan check logs for the specified monitor. Shows the last 90 days of data, limited to 20 entries.",
                "operationId": "get_api-v2-virus-logs-list",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 90 days ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of log entries to return",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Number of log entries to skip",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of scan logs",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "description": "Log entry ID",
                                                        "type": "integer"
                                                    },
                                                    "time_elapsed": {
                                                        "description": "Time since check (e.g. \"5 minutes ago\")",
                                                        "type": "string"
                                                    },
                                                    "response_time": {
                                                        "description": "Response time indicator",
                                                        "type": "integer"
                                                    },
                                                    "status_icon": {
                                                        "description": "Status icon filename (site_up.png or site_down.png)",
                                                        "type": "string"
                                                    },
                                                    "status_alt": {
                                                        "description": "Status description (\"Test successful\" or \"Test has failed\")",
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "metadata": {
                                            "properties": {
                                                "total": {
                                                    "description": "Total log entries returned",
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "unauthorized"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Monitor not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "error"
                                        },
                                        "code": {
                                            "type": "string",
                                            "example": "monitor_not_found"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v2/virus/{id}/logs/{logId}": {
            "get": {
                "tags": [
                    "Virus Monitors"
                ],
                "summary": "Get a single virus scan log entry",
                "description": "Returns full details of a specific virus scan check log.",
                "operationId": "get_api-v2-virus-log-show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "logId",
                        "in": "path",
                        "description": "Log entry ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Log entry details"
                    },
                    "404": {
                        "description": "Not found"
                    }
                }
            }
        },
        "/api/v2/virus/{id}/timeline": {
            "get": {
                "tags": [
                    "Virus Monitors"
                ],
                "summary": "Get timeline segments for a virus monitor",
                "description": "Returns up, down, maintenance and unknown timeline segments for the virus monitor over the requested date range, suitable for rendering an availability timeline strip.",
                "operationId": "get_api-v2-virus-timeline",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Monitor ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "pattern": "\\d+"
                        }
                    },
                    {
                        "name": "date_start",
                        "in": "query",
                        "description": "Start date as Unix timestamp (defaults to 7 days ago)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_end",
                        "in": "query",
                        "description": "End date as Unix timestamp (defaults to now)",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Timeline segments"
                    },
                    "404": {
                        "description": "Monitor not found"
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "bearerAuth": {
                "type": "http",
                "description": "API key as a Bearer token (Settings \u2192 API Keys).",
                "scheme": "bearer"
            }
        }
    },
    "security": [
        {
            "bearerAuth": []
        }
    ],
    "tags": [
        {
            "name": "Uptime Monitors",
            "description": "HTTP/website uptime monitoring \u2014 create, read, update, delete and view stats."
        },
        {
            "name": "SSL Monitors",
            "description": "SSL/TLS certificate expiry and validity monitoring."
        },
        {
            "name": "Domain Monitors",
            "description": "Domain registration / WHOIS expiry monitoring."
        },
        {
            "name": "Speed Monitors",
            "description": "Full-page-load performance monitoring (the type key is \"fpl\")."
        },
        {
            "name": "Transaction Monitors",
            "description": "Multi-step browser transaction monitoring."
        },
        {
            "name": "Virus Monitors",
            "description": "Malware / blacklist scanning of your sites."
        },
        {
            "name": "RUM Monitors",
            "description": "Real User Monitoring \u2014 passive, in-browser performance beacon."
        },
        {
            "name": "Monitors",
            "description": "Cross-type monitor actions: copy, pause and resume."
        },
        {
            "name": "Locations",
            "description": "Monitoring checkpoint locations (probes) used when scoping monitors."
        },
        {
            "name": "Incidents",
            "description": "Active and historical incidents across all monitor types."
        },
        {
            "name": "Monitoring Logs",
            "description": "Per-check monitoring logs across all monitor types."
        },
        {
            "name": "Contacts",
            "description": "Alert contacts and notification channels."
        },
        {
            "name": "Integrations",
            "description": "Third-party integrations and outbound webhooks."
        },
        {
            "name": "Maintenance",
            "description": "Scheduled maintenance windows that suppress alerting."
        },
        {
            "name": "Status Pages",
            "description": "Public status pages and their incident threads."
        },
        {
            "name": "Reports",
            "description": "Scheduled and on-demand email reports."
        },
        {
            "name": "Teams",
            "description": "Team members and multi-user access."
        },
        {
            "name": "Users",
            "description": "Account user profile information."
        },
        {
            "name": "Settings",
            "description": "Account profile and timezone settings."
        },
        {
            "name": "Branding",
            "description": "Branding themes (colors and logos) for emails and reports."
        }
    ]
}