// Package docs Code generated by swaggo/swag. DO NOT EDIT
package docs

import "github.com/swaggo/swag"

const docTemplate = `{
    "schemes": {{ marshal .Schemes }},
    "swagger": "2.0",
    "info": {
        "description": "{{escape .Description}}",
        "title": "{{.Title}}",
        "contact": {},
        "version": "{{.Version}}"
    },
    "host": "{{.Host}}",
    "basePath": "{{.BasePath}}",
    "paths": {
        "/auth/2fa/disable": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Auth"
                ],
                "summary": "Disable 2FA (TOTP) for user",
                "parameters": [
                    {
                        "description": "2FA disable request",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/auth.TwoFADisableRequestDto"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-any"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/auth/2fa/setup": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Auth"
                ],
                "summary": "Enable 2FA (TOTP) for user",
                "parameters": [
                    {
                        "description": "2FA setup request",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/auth.TwoFASetupRequestDto"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/auth.TwoFASetupResponseDto"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/auth/2fa/verify": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Auth"
                ],
                "summary": "Verify 2FA (TOTP) code for user",
                "parameters": [
                    {
                        "description": "2FA verify request",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/auth.TwoFAVerifyRequestDto"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/auth.TwoFAVerifyResponseDto"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/auth.TwoFAVerifyResponseDto"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/auth/login": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Auth"
                ],
                "summary": "Login admin",
                "parameters": [
                    {
                        "description": "Login data",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/auth.LoginDto"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-auth_LoginResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/auth/password": {
            "put": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Auth"
                ],
                "summary": "Update user password",
                "parameters": [
                    {
                        "description": "Password update data",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/auth.UpdatePasswordDto"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-any"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/auth/refresh": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Auth"
                ],
                "summary": "Refresh access token",
                "parameters": [
                    {
                        "description": "Refresh token data",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/auth.RefreshTokenDto"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-auth_LoginResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/auth/register": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Auth"
                ],
                "summary": "Register new admin",
                "parameters": [
                    {
                        "description": "Registration data",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/auth.RegisterDto"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-auth_LoginResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/badge/{monitorId}/cert-exp": {
            "get": {
                "produces": [
                    "image/svg+xml"
                ],
                "tags": [
                    "Badges"
                ],
                "summary": "Get certificate expiry badge",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Monitor ID",
                        "name": "monitorId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Badge style",
                        "name": "style",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Custom label",
                        "name": "label",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Days before expiry to show warning",
                        "name": "warnDays",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Days before expiry to show as down",
                        "name": "downDays",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SVG badge",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/badge/{monitorId}/ping/{duration}": {
            "get": {
                "produces": [
                    "image/svg+xml"
                ],
                "tags": [
                    "Badges"
                ],
                "summary": "Get ping badge",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Monitor ID",
                        "name": "monitorId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Duration in hours",
                        "name": "duration",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Badge style",
                        "name": "style",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Custom label",
                        "name": "label",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Value suffix",
                        "name": "suffix",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Badge color",
                        "name": "color",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SVG badge",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/badge/{monitorId}/response": {
            "get": {
                "produces": [
                    "image/svg+xml"
                ],
                "tags": [
                    "Badges"
                ],
                "summary": "Get response time badge",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Monitor ID",
                        "name": "monitorId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Badge style",
                        "name": "style",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Custom label",
                        "name": "label",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Value suffix",
                        "name": "suffix",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Badge color",
                        "name": "color",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SVG badge",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/badge/{monitorId}/status": {
            "get": {
                "produces": [
                    "image/svg+xml"
                ],
                "tags": [
                    "Badges"
                ],
                "summary": "Get status badge",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Monitor ID",
                        "name": "monitorId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Badge style (flat, flat-square, plastic, for-the-badge, social)",
                        "name": "style",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Label when monitor is up",
                        "name": "upLabel",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Label when monitor is down",
                        "name": "downLabel",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Color when monitor is up",
                        "name": "upColor",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Color when monitor is down",
                        "name": "downColor",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SVG badge",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/badge/{monitorId}/uptime/{duration}": {
            "get": {
                "produces": [
                    "image/svg+xml"
                ],
                "tags": [
                    "Badges"
                ],
                "summary": "Get uptime badge",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Monitor ID",
                        "name": "monitorId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Duration in hours (24, 720, 2160)",
                        "name": "duration",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Badge style",
                        "name": "style",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Custom label",
                        "name": "label",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Value suffix",
                        "name": "suffix",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Badge color",
                        "name": "color",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SVG badge",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/health": {
            "get": {
                "description": "Returns the current server health",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "System"
                ],
                "summary": "Get server health",
                "responses": {
                    "200": {
                        "description": "{\"status\": \"success\"}",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "/maintenances": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Maintenances"
                ],
                "summary": "Get maintenances",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Search query",
                        "name": "q",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Filter by strategy",
                        "name": "strategy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 1,
                        "description": "Page number",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 10,
                        "description": "Items per page",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-array_maintenance_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Maintenances"
                ],
                "summary": "Create maintenance",
                "parameters": [
                    {
                        "description": "Maintenance object",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/maintenance.CreateUpdateDto"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-maintenance_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/maintenances/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Maintenances"
                ],
                "summary": "Get maintenance by ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Maintenance ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-maintenance_MaintenanceResponseDto"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Maintenances"
                ],
                "summary": "Update maintenance",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Maintenance ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Maintenance object",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/maintenance.CreateUpdateDto"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-maintenance_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Maintenances"
                ],
                "summary": "Delete maintenance",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Maintenance ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-any"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "patch": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Maintenances"
                ],
                "summary": "Update maintenance",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Maintenance ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Maintenance object",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/maintenance.PartialUpdateDto"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-maintenance_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/maintenances/{id}/pause": {
            "patch": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Maintenances"
                ],
                "summary": "Pause maintenance",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Maintenance ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-maintenance_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/maintenances/{id}/resume": {
            "patch": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Maintenances"
                ],
                "summary": "Resume maintenance",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Maintenance ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-maintenance_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/monitors": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Monitors"
                ],
                "summary": "Get monitors",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Search query",
                        "name": "q",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 1,
                        "description": "Page number",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 10,
                        "description": "Items per page",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Active status",
                        "name": "active",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Status",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Comma-separated list of tag IDs to filter by",
                        "name": "tag_ids",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-array_monitor_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Monitors"
                ],
                "summary": "Create monitor",
                "parameters": [
                    {
                        "description": "Monitor object",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/monitor.CreateUpdateDto"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-monitor_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/monitors/batch": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Monitors"
                ],
                "summary": "Get monitors by IDs",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Comma-separated list of monitor IDs",
                        "name": "ids",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-array_monitor_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/monitors/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Monitors"
                ],
                "summary": "Get monitor by ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Monitor ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-monitor_MonitorResponseDto"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Monitors"
                ],
                "summary": "Update monitor",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Monitor ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Monitor object",
                        "name": "monitor",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/monitor.CreateUpdateDto"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-monitor_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Monitors"
                ],
                "summary": "Delete monitor",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Monitor ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-any"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "patch": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Monitors"
                ],
                "summary": "Update monitor",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Monitor ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Monitor object",
                        "name": "monitor",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/monitor.PartialUpdateDto"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-monitor_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/monitors/{id}/heartbeats": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Monitors"
                ],
                "summary": "Get paginated heartbeats for a monitor",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Monitor ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Number of heartbeats per page (default 50)",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Page number (default 0)",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Filter by important heartbeats only",
                        "name": "important",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Reverse the order of heartbeats",
                        "name": "reverse",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-array_heartbeat_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/monitors/{id}/reset": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Monitors"
                ],
                "summary": "Reset monitor data (heartbeats and stats)",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Monitor ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-any"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/monitors/{id}/stats/points": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Monitors"
                ],
                "summary": "Get monitor stat points (ping/up/down) from stats tables",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Monitor ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Start time (RFC3339)",
                        "name": "since",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "End time (RFC3339, default now)",
                        "name": "until",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Granularity (minute, hour, day)",
                        "name": "granularity",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-monitor_StatPointsSummaryDto"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/monitors/{id}/stats/uptime": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Monitors"
                ],
                "summary": "Get monitor uptime stats (24h, 30d, 365d)",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Monitor ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-monitor_CustomUptimeStatsDto"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/monitors/{id}/tls": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Monitors"
                ],
                "summary": "Get monitor TLS certificate information",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Monitor ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-any"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/notification-channels": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Notification channels"
                ],
                "summary": "Get notification channels",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Search query",
                        "name": "q",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 1,
                        "description": "Page number",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 10,
                        "description": "Items per page",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-array_notification_channel_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Notification channels"
                ],
                "summary": "Create notification channel",
                "parameters": [
                    {
                        "description": "Notification object",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/notification_channel.CreateUpdateDto"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-notification_channel_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/notification-channels/test": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Notification channels"
                ],
                "summary": "Test notification channel",
                "parameters": [
                    {
                        "description": "Notification object",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/notification_channel.CreateUpdateDto"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-any"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/notification-channels/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Notification channels"
                ],
                "summary": "Get notification channel by ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Notification ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-notification_channel_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Notification channels"
                ],
                "summary": "Update notification channel",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Notification ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Notification object",
                        "name": "notification",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/notification_channel.CreateUpdateDto"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-notification_channel_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Notification channels"
                ],
                "summary": "Delete notification channel",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Notification ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-any"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "patch": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Notification channels"
                ],
                "summary": "Update notification channel",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Notification ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Notification object",
                        "name": "notification",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/notification_channel.PartialUpdateDto"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-notification_channel_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/proxies": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Proxies"
                ],
                "summary": "Get proxies",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Search query",
                        "name": "q",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 1,
                        "description": "Page number",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 10,
                        "description": "Items per page",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-array_proxy_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Proxies"
                ],
                "summary": "Create proxy",
                "parameters": [
                    {
                        "description": "Proxy object",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/proxy.CreateUpdateDto"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-proxy_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/proxies/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Proxies"
                ],
                "summary": "Get proxy by ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Proxy ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-proxy_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Proxies"
                ],
                "summary": "Update proxy",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Proxy ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Proxy object",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/proxy.CreateUpdateDto"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-proxy_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Proxies"
                ],
                "summary": "Delete proxy",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Proxy ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-any"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "patch": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Proxies"
                ],
                "summary": "Update proxy",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Proxy ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Proxy object",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/proxy.PartialUpdateDto"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-proxy_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/settings/key/{key}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Settings"
                ],
                "summary": "Get setting by key",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Setting Key",
                        "name": "key",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-setting_Model"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Settings"
                ],
                "summary": "Set setting by key",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Setting Key",
                        "name": "key",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Setting object",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/setting.CreateUpdateDto"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-setting_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Settings"
                ],
                "summary": "Delete setting by key",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Setting Key",
                        "name": "key",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-any"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/status-pages": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Status Pages"
                ],
                "summary": "Get all status pages",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Search query",
                        "name": "q",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 0,
                        "description": "Page number",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 10,
                        "description": "Items per page",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-array_status_page_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Status Pages"
                ],
                "summary": "Create a new status page",
                "parameters": [
                    {
                        "description": "Status Page object",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/status_page.CreateStatusPageDTO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-status_page_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/status-pages/domain/{domain}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Status Pages"
                ],
                "summary": "Get a status page by domain name",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Domain Name",
                        "name": "domain",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-status_page_Model"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/status-pages/slug/{slug}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Status Pages"
                ],
                "summary": "Get a status page by slug",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Status Page Slug",
                        "name": "slug",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-status_page_Model"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/status-pages/slug/{slug}/monitors": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Status Pages"
                ],
                "summary": "Get monitors for a status page by slug with heartbeats and uptime",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Status Page Slug",
                        "name": "slug",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-array_status_page_MonitorWithHeartbeatsAndUptimeDTO"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/status-pages/slug/{slug}/monitors/homepage": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Status Pages"
                ],
                "summary": "Get monitors for a status page by slug for homepage",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Status Page Slug",
                        "name": "slug",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-array_status_page_MonitorWithHeartbeatsAndUptimeDTO"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/status-pages/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Status Pages"
                ],
                "summary": "Get a status page by ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Status Page ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-status_page_StatusPageWithMonitorsResponseDTO"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Status Pages"
                ],
                "summary": "Delete a status page",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Status Page ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-any"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "patch": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Status Pages"
                ],
                "summary": "Update a status page",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Status Page ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Status Page object",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/status_page.UpdateStatusPageDTO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-status_page_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/tags": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tags"
                ],
                "summary": "Get tags",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Search query",
                        "name": "q",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 1,
                        "description": "Page number",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 10,
                        "description": "Items per page",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-array_tag_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tags"
                ],
                "summary": "Create tag",
                "parameters": [
                    {
                        "description": "Tag object",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tag.CreateUpdateDto"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-tag_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/tags/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tags"
                ],
                "summary": "Get tag by ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tag ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-tag_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tags"
                ],
                "summary": "Update tag",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tag ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Tag object",
                        "name": "tag",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tag.CreateUpdateDto"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-tag_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tags"
                ],
                "summary": "Delete tag",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tag ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-any"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            },
            "patch": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tags"
                ],
                "summary": "Update tag",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tag ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Tag object",
                        "name": "tag",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tag.PartialUpdateDto"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/utils.ApiResponse-tag_Model"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/utils.APIError"
                        }
                    }
                }
            }
        },
        "/version": {
            "get": {
                "description": "Returns the current server version",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "System"
                ],
                "summary": "Get server version",
                "responses": {
                    "200": {
                        "description": "{\"version\": \"1.2.3\"}",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "auth.LoginDto": {
            "type": "object",
            "required": [
                "email",
                "password"
            ],
            "properties": {
                "email": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                },
                "token": {
                    "type": "string"
                }
            }
        },
        "auth.LoginResponse": {
            "type": "object",
            "properties": {
                "accessToken": {
                    "type": "string"
                },
                "refreshToken": {
                    "type": "string"
                },
                "user": {
                    "$ref": "#/definitions/auth.Model"
                }
            }
        },
        "auth.Model": {
            "type": "object",
            "properties": {
                "active": {
                    "type": "boolean"
                },
                "createdAt": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "twofa_status": {
                    "type": "boolean"
                },
                "updatedAt": {
                    "type": "string"
                }
            }
        },
        "auth.RefreshTokenDto": {
            "type": "object",
            "required": [
                "refreshToken"
            ],
            "properties": {
                "refreshToken": {
                    "type": "string"
                }
            }
        },
        "auth.RegisterDto": {
            "type": "object",
            "required": [
                "email",
                "password"
            ],
            "properties": {
                "email": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                }
            }
        },
        "auth.TwoFADisableRequestDto": {
            "description": "TwoFADisableRequestDto is used to request 2FA disable",
            "type": "object",
            "required": [
                "email",
                "password"
            ],
            "properties": {
                "email": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                }
            }
        },
        "auth.TwoFASetupRequestDto": {
            "description": "TwoFASetupRequestDto is used to request 2FA setup",
            "type": "object",
            "required": [
                "email",
                "password"
            ],
            "properties": {
                "email": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                }
            }
        },
        "auth.TwoFASetupResponseDto": {
            "description": "TwoFASetupResponseDto is used to respond with 2FA setup info",
            "type": "object",
            "properties": {
                "provisioningUri": {
                    "type": "string"
                },
                "secret": {
                    "type": "string"
                }
            }
        },
        "auth.TwoFAVerifyRequestDto": {
            "description": "TwoFAVerifyRequestDto is used to verify a TOTP code",
            "type": "object",
            "required": [
                "code",
                "email"
            ],
            "properties": {
                "code": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                }
            }
        },
        "auth.TwoFAVerifyResponseDto": {
            "type": "object",
            "properties": {
                "message": {
                    "type": "string"
                },
                "success": {
                    "type": "boolean"
                }
            }
        },
        "auth.UpdatePasswordDto": {
            "description": "UpdatePasswordDto is used for updating user password",
            "type": "object",
            "required": [
                "currentPassword",
                "newPassword"
            ],
            "properties": {
                "currentPassword": {
                    "type": "string"
                },
                "newPassword": {
                    "type": "string"
                }
            }
        },
        "heartbeat.Model": {
            "type": "object",
            "properties": {
                "down_count": {
                    "type": "integer"
                },
                "duration": {
                    "type": "integer"
                },
                "end_time": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "important": {
                    "type": "boolean"
                },
                "monitor_id": {
                    "type": "string"
                },
                "msg": {
                    "type": "string"
                },
                "notified": {
                    "type": "boolean"
                },
                "ping": {
                    "type": "integer"
                },
                "retries": {
                    "type": "integer"
                },
                "status": {
                    "$ref": "#/definitions/shared.MonitorStatus"
                },
                "time": {
                    "type": "string"
                }
            }
        },
        "heartbeat.MonitorStatus": {
            "type": "integer",
            "enum": [
                0,
                1,
                2,
                3
            ],
            "x-enum-varnames": [
                "MonitorStatusDown",
                "MonitorStatusUp",
                "MonitorStatusPending",
                "MonitorStatusMaintenance"
            ]
        },
        "maintenance.CreateUpdateDto": {
            "type": "object",
            "required": [
                "strategy",
                "title"
            ],
            "properties": {
                "active": {
                    "type": "boolean"
                },
                "cron": {
                    "type": "string"
                },
                "days_of_month": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "description": {
                    "type": "string"
                },
                "duration": {
                    "type": "integer",
                    "minimum": 1
                },
                "end_date_time": {
                    "type": "string"
                },
                "end_time": {
                    "type": "string"
                },
                "interval_day": {
                    "type": "integer"
                },
                "monitor_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "start_date_time": {
                    "type": "string"
                },
                "start_time": {
                    "type": "string"
                },
                "strategy": {
                    "type": "string"
                },
                "timezone": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "weekdays": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "maintenance.MaintenanceResponseDto": {
            "type": "object",
            "properties": {
                "active": {
                    "type": "boolean"
                },
                "created_at": {
                    "type": "string"
                },
                "cron": {
                    "type": "string"
                },
                "days_of_month": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "description": {
                    "type": "string"
                },
                "duration": {
                    "type": "integer"
                },
                "end_date_time": {
                    "type": "string"
                },
                "end_time": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "interval_day": {
                    "type": "integer"
                },
                "monitor_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "start_date_time": {
                    "type": "string"
                },
                "start_time": {
                    "type": "string"
                },
                "strategy": {
                    "type": "string"
                },
                "timezone": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                },
                "weekdays": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "maintenance.Model": {
            "type": "object",
            "properties": {
                "active": {
                    "type": "boolean"
                },
                "created_at": {
                    "type": "string"
                },
                "cron": {
                    "type": "string"
                },
                "days_of_month": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "description": {
                    "type": "string"
                },
                "duration": {
                    "type": "integer"
                },
                "end_date_time": {
                    "type": "string"
                },
                "end_time": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "interval_day": {
                    "type": "integer"
                },
                "start_date_time": {
                    "type": "string"
                },
                "start_time": {
                    "type": "string"
                },
                "strategy": {
                    "type": "string"
                },
                "timezone": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                },
                "weekdays": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "maintenance.PartialUpdateDto": {
            "type": "object",
            "properties": {
                "active": {
                    "type": "boolean"
                },
                "cron": {
                    "type": "string"
                },
                "days_of_month": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "description": {
                    "type": "string"
                },
                "duration": {
                    "type": "integer",
                    "minimum": 1
                },
                "end_date_time": {
                    "type": "string"
                },
                "end_time": {
                    "type": "string"
                },
                "interval_day": {
                    "type": "integer"
                },
                "monitor_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "start_date_time": {
                    "type": "string"
                },
                "start_time": {
                    "type": "string"
                },
                "strategy": {
                    "type": "string"
                },
                "timezone": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "weekdays": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "monitor.CreateUpdateDto": {
            "type": "object",
            "required": [
                "name",
                "notification_ids",
                "type"
            ],
            "properties": {
                "active": {
                    "type": "boolean",
                    "example": true
                },
                "config": {
                    "type": "string"
                },
                "interval": {
                    "type": "integer",
                    "minimum": 20,
                    "example": 60
                },
                "max_retries": {
                    "type": "integer",
                    "minimum": 0,
                    "example": 3
                },
                "name": {
                    "type": "string",
                    "minLength": 3,
                    "example": "My Monitor"
                },
                "notification_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "6830ad485361f19c598d6d90"
                    ]
                },
                "proxy_id": {
                    "type": "string",
                    "example": "6830ad485361f19c598d6d90"
                },
                "push_token": {
                    "type": "string"
                },
                "resend_interval": {
                    "type": "integer",
                    "minimum": 0,
                    "example": 10
                },
                "retry_interval": {
                    "type": "integer",
                    "minimum": 20,
                    "example": 60
                },
                "tag_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "6830ad485361f19c598d6d90",
                        "6830ad485361f19c598d6d91"
                    ]
                },
                "timeout": {
                    "type": "integer",
                    "minimum": 16,
                    "example": 16
                },
                "type": {
                    "type": "string",
                    "example": "http"
                }
            }
        },
        "monitor.CustomUptimeStatsDto": {
            "type": "object",
            "properties": {
                "24h": {
                    "type": "number"
                },
                "30d": {
                    "type": "number"
                },
                "365d": {
                    "type": "number"
                },
                "7d": {
                    "type": "number"
                }
            }
        },
        "monitor.Model": {
            "type": "object",
            "required": [
                "type"
            ],
            "properties": {
                "active": {
                    "type": "boolean"
                },
                "config": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "interval": {
                    "description": "monitor interval in seconds to do request to url",
                    "type": "integer",
                    "example": 60
                },
                "max_retries": {
                    "description": "Maximum retries before the service is marked as down and a notification is sent",
                    "type": "integer",
                    "example": 3
                },
                "name": {
                    "description": "monitor name",
                    "type": "string",
                    "example": "Monitor"
                },
                "proxy_id": {
                    "type": "string"
                },
                "push_token": {
                    "type": "string"
                },
                "resend_interval": {
                    "description": "Resend Notification if Down X times consecutively",
                    "type": "integer",
                    "example": 10
                },
                "retry_interval": {
                    "description": "Retry interval in seconds to do request to url",
                    "type": "integer",
                    "example": 60
                },
                "status": {
                    "$ref": "#/definitions/shared.MonitorStatus"
                },
                "timeout": {
                    "description": "monitor timeout in seconds to do request otherwise stop request",
                    "type": "integer",
                    "example": 16
                },
                "type": {
                    "description": "connection type: http, tcp, ping, etc",
                    "type": "string",
                    "example": "http"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "monitor.MonitorResponseDto": {
            "type": "object",
            "properties": {
                "active": {
                    "type": "boolean",
                    "default": true,
                    "example": true
                },
                "config": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string",
                    "example": "2024-06-01T12:00:00Z"
                },
                "id": {
                    "type": "string",
                    "example": "60c72b2f9b1e8b6f1f8e4b1a"
                },
                "interval": {
                    "type": "integer",
                    "example": 60
                },
                "max_retries": {
                    "type": "integer",
                    "example": 3
                },
                "name": {
                    "type": "string",
                    "example": "My Monitor"
                },
                "notification_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "6830ad485361f19c598d6d90"
                    ]
                },
                "proxy_id": {
                    "type": "string",
                    "example": "6830ad485361f19c598d6d90"
                },
                "push_token": {
                    "type": "string"
                },
                "resend_interval": {
                    "type": "integer",
                    "example": 3
                },
                "retry_interval": {
                    "type": "integer",
                    "example": 10
                },
                "status": {
                    "type": "integer",
                    "example": 1
                },
                "tag_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "6830ad485361f19c598d6d90",
                        "6830ad485361f19c598d6d91"
                    ]
                },
                "timeout": {
                    "type": "integer",
                    "example": 10
                },
                "type": {
                    "type": "string",
                    "example": "http"
                },
                "updated_at": {
                    "type": "string",
                    "example": "2024-06-01T12:00:00Z"
                }
            }
        },
        "monitor.PartialUpdateDto": {
            "type": "object",
            "properties": {
                "active": {
                    "type": "boolean",
                    "example": true
                },
                "config": {
                    "type": "string"
                },
                "interval": {
                    "type": "integer",
                    "example": 60
                },
                "max_retries": {
                    "type": "integer",
                    "example": 3
                },
                "name": {
                    "type": "string",
                    "example": "My Monitor"
                },
                "notification_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "6830ad485361f19c598d6d90"
                    ]
                },
                "proxy_id": {
                    "type": "string",
                    "example": "6830ad485361f19c598d6d90"
                },
                "push_token": {
                    "type": "string"
                },
                "resend_interval": {
                    "type": "integer",
                    "example": 10
                },
                "retry_interval": {
                    "type": "integer",
                    "example": 60
                },
                "status": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/heartbeat.MonitorStatus"
                        }
                    ],
                    "example": 1
                },
                "tag_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "6830ad485361f19c598d6d90",
                        "6830ad485361f19c598d6d91"
                    ]
                },
                "timeout": {
                    "type": "integer",
                    "example": 16
                },
                "type": {
                    "type": "string",
                    "example": "http"
                }
            }
        },
        "monitor.StatPoint": {
            "type": "object",
            "properties": {
                "down": {
                    "type": "integer"
                },
                "maintenance": {
                    "type": "integer"
                },
                "ping": {
                    "type": "number"
                },
                "ping_max": {
                    "type": "number"
                },
                "ping_min": {
                    "type": "number"
                },
                "timestamp": {
                    "type": "integer"
                },
                "up": {
                    "type": "integer"
                }
            }
        },
        "monitor.StatPointsSummaryDto": {
            "description": "Stat points and summary for a period",
            "type": "object",
            "properties": {
                "avgPing": {
                    "type": "number"
                },
                "maxPing": {
                    "type": "number"
                },
                "minPing": {
                    "type": "number"
                },
                "points": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/monitor.StatPoint"
                    }
                },
                "uptime": {
                    "type": "number"
                }
            }
        },
        "notification_channel.CreateUpdateDto": {
            "type": "object",
            "properties": {
                "active": {
                    "type": "boolean"
                },
                "config": {
                    "type": "string"
                },
                "is_default": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "notification_channel.Model": {
            "type": "object",
            "properties": {
                "active": {
                    "type": "boolean"
                },
                "config": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "is_default": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "notification_channel.PartialUpdateDto": {
            "type": "object",
            "properties": {
                "active": {
                    "type": "boolean"
                },
                "config": {
                    "type": "string"
                },
                "is_default": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "proxy.CreateUpdateDto": {
            "type": "object",
            "required": [
                "host",
                "port",
                "protocol"
            ],
            "properties": {
                "auth": {
                    "type": "boolean"
                },
                "host": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                },
                "port": {
                    "type": "integer",
                    "maximum": 65535,
                    "minimum": 1
                },
                "protocol": {
                    "type": "string",
                    "enum": [
                        "http",
                        "https",
                        "socks",
                        "socks4",
                        "socks5",
                        "socks5h"
                    ]
                },
                "username": {
                    "type": "string"
                }
            }
        },
        "proxy.Model": {
            "type": "object",
            "properties": {
                "auth": {
                    "type": "boolean"
                },
                "createdDate": {
                    "type": "string"
                },
                "host": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                },
                "port": {
                    "type": "integer"
                },
                "protocol": {
                    "type": "string"
                },
                "updatedAt": {
                    "type": "string"
                },
                "username": {
                    "type": "string"
                }
            }
        },
        "proxy.PartialUpdateDto": {
            "type": "object",
            "properties": {
                "auth": {
                    "type": "boolean"
                },
                "host": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                },
                "port": {
                    "type": "integer",
                    "maximum": 65535,
                    "minimum": 1
                },
                "protocol": {
                    "type": "string",
                    "enum": [
                        "http",
                        "https",
                        "socks",
                        "socks4",
                        "socks5",
                        "socks5h"
                    ]
                },
                "username": {
                    "type": "string"
                }
            }
        },
        "setting.CreateUpdateDto": {
            "type": "object",
            "required": [
                "type"
            ],
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "string",
                        "int",
                        "bool",
                        "json"
                    ]
                },
                "value": {
                    "type": "string"
                }
            }
        },
        "setting.Model": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "key": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                },
                "value": {
                    "type": "string"
                }
            }
        },
        "shared.MonitorStatus": {
            "type": "integer",
            "enum": [
                0,
                1,
                2,
                3
            ],
            "x-enum-varnames": [
                "MonitorStatusDown",
                "MonitorStatusUp",
                "MonitorStatusPending",
                "MonitorStatusMaintenance"
            ]
        },
        "status_page.CreateStatusPageDTO": {
            "type": "object",
            "required": [
                "slug",
                "title"
            ],
            "properties": {
                "auto_refresh_interval": {
                    "type": "integer"
                },
                "custom_css": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "domains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "footer_text": {
                    "type": "string"
                },
                "google_analytics_tag_id": {
                    "type": "string"
                },
                "icon": {
                    "type": "string"
                },
                "monitor_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "password": {
                    "type": "string"
                },
                "published": {
                    "type": "boolean"
                },
                "search_engine_index": {
                    "type": "boolean"
                },
                "show_certificate_expiry": {
                    "type": "boolean"
                },
                "show_powered_by": {
                    "type": "boolean"
                },
                "show_tags": {
                    "type": "boolean"
                },
                "slug": {
                    "type": "string",
                    "minLength": 3
                },
                "theme": {
                    "type": "string"
                },
                "title": {
                    "type": "string",
                    "minLength": 3
                }
            }
        },
        "status_page.Model": {
            "type": "object",
            "properties": {
                "auto_refresh_interval": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "footer_text": {
                    "type": "string"
                },
                "icon": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "published": {
                    "type": "boolean"
                },
                "slug": {
                    "type": "string"
                },
                "theme": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "status_page.MonitorWithHeartbeatsAndUptimeDTO": {
            "type": "object",
            "required": [
                "type"
            ],
            "properties": {
                "active": {
                    "type": "boolean"
                },
                "heartbeats": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/status_page.PublicHeartbeatDTO"
                    }
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string",
                    "example": "Monitor"
                },
                "type": {
                    "type": "string",
                    "example": "http"
                },
                "uptime_24h": {
                    "type": "number"
                }
            }
        },
        "status_page.PublicHeartbeatDTO": {
            "type": "object",
            "properties": {
                "end_time": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "ping": {
                    "type": "integer"
                },
                "status": {
                    "$ref": "#/definitions/shared.MonitorStatus"
                },
                "time": {
                    "type": "string"
                }
            }
        },
        "status_page.StatusPageWithMonitorsResponseDTO": {
            "type": "object",
            "properties": {
                "auto_refresh_interval": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "string"
                },
                "custom_css": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "domains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "footer_text": {
                    "type": "string"
                },
                "google_analytics_tag_id": {
                    "type": "string"
                },
                "icon": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "monitor_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "password": {
                    "type": "string"
                },
                "published": {
                    "type": "boolean"
                },
                "search_engine_index": {
                    "type": "boolean"
                },
                "show_certificate_expiry": {
                    "type": "boolean"
                },
                "show_powered_by": {
                    "type": "boolean"
                },
                "show_tags": {
                    "type": "boolean"
                },
                "slug": {
                    "type": "string"
                },
                "theme": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "status_page.UpdateStatusPageDTO": {
            "type": "object",
            "properties": {
                "auto_refresh_interval": {
                    "type": "integer"
                },
                "custom_css": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "domains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "footer_text": {
                    "type": "string"
                },
                "google_analytics_tag_id": {
                    "type": "string"
                },
                "icon": {
                    "type": "string"
                },
                "monitor_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "password": {
                    "type": "string"
                },
                "published": {
                    "type": "boolean"
                },
                "search_engine_index": {
                    "type": "boolean"
                },
                "show_certificate_expiry": {
                    "type": "boolean"
                },
                "show_powered_by": {
                    "type": "boolean"
                },
                "show_tags": {
                    "type": "boolean"
                },
                "slug": {
                    "type": "string"
                },
                "theme": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "tag.CreateUpdateDto": {
            "type": "object",
            "required": [
                "color",
                "name"
            ],
            "properties": {
                "color": {
                    "type": "string",
                    "example": "#3B82F6"
                },
                "description": {
                    "type": "string",
                    "example": "Production environment monitors"
                },
                "name": {
                    "type": "string",
                    "maxLength": 100,
                    "minLength": 1,
                    "example": "Production"
                }
            }
        },
        "tag.Model": {
            "type": "object",
            "properties": {
                "color": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "tag.PartialUpdateDto": {
            "type": "object",
            "properties": {
                "color": {
                    "type": "string",
                    "example": "#3B82F6"
                },
                "description": {
                    "type": "string",
                    "example": "Production environment monitors"
                },
                "name": {
                    "type": "string",
                    "maxLength": 100,
                    "minLength": 1,
                    "example": "Production"
                }
            }
        },
        "utils.APIError": {
            "type": "object",
            "required": [
                "message",
                "status"
            ],
            "properties": {
                "message": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "utils.ApiResponse-any": {
            "type": "object",
            "required": [
                "data",
                "message"
            ],
            "properties": {
                "data": {},
                "message": {
                    "type": "string"
                }
            }
        },
        "utils.ApiResponse-array_heartbeat_Model": {
            "type": "object",
            "required": [
                "data",
                "message"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/heartbeat.Model"
                    }
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "utils.ApiResponse-array_maintenance_Model": {
            "type": "object",
            "required": [
                "data",
                "message"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/maintenance.Model"
                    }
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "utils.ApiResponse-array_monitor_Model": {
            "type": "object",
            "required": [
                "data",
                "message"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/monitor.Model"
                    }
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "utils.ApiResponse-array_notification_channel_Model": {
            "type": "object",
            "required": [
                "data",
                "message"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/notification_channel.Model"
                    }
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "utils.ApiResponse-array_proxy_Model": {
            "type": "object",
            "required": [
                "data",
                "message"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/proxy.Model"
                    }
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "utils.ApiResponse-array_status_page_Model": {
            "type": "object",
            "required": [
                "data",
                "message"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/status_page.Model"
                    }
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "utils.ApiResponse-array_status_page_MonitorWithHeartbeatsAndUptimeDTO": {
            "type": "object",
            "required": [
                "data",
                "message"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/status_page.MonitorWithHeartbeatsAndUptimeDTO"
                    }
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "utils.ApiResponse-array_tag_Model": {
            "type": "object",
            "required": [
                "data",
                "message"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tag.Model"
                    }
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "utils.ApiResponse-auth_LoginResponse": {
            "type": "object",
            "required": [
                "data",
                "message"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/auth.LoginResponse"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "utils.ApiResponse-maintenance_MaintenanceResponseDto": {
            "type": "object",
            "required": [
                "data",
                "message"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/maintenance.MaintenanceResponseDto"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "utils.ApiResponse-maintenance_Model": {
            "type": "object",
            "required": [
                "data",
                "message"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/maintenance.Model"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "utils.ApiResponse-monitor_CustomUptimeStatsDto": {
            "type": "object",
            "required": [
                "data",
                "message"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/monitor.CustomUptimeStatsDto"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "utils.ApiResponse-monitor_Model": {
            "type": "object",
            "required": [
                "data",
                "message"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/monitor.Model"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "utils.ApiResponse-monitor_MonitorResponseDto": {
            "type": "object",
            "required": [
                "data",
                "message"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/monitor.MonitorResponseDto"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "utils.ApiResponse-monitor_StatPointsSummaryDto": {
            "type": "object",
            "required": [
                "data",
                "message"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/monitor.StatPointsSummaryDto"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "utils.ApiResponse-notification_channel_Model": {
            "type": "object",
            "required": [
                "data",
                "message"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/notification_channel.Model"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "utils.ApiResponse-proxy_Model": {
            "type": "object",
            "required": [
                "data",
                "message"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/proxy.Model"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "utils.ApiResponse-setting_Model": {
            "type": "object",
            "required": [
                "data",
                "message"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/setting.Model"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "utils.ApiResponse-status_page_Model": {
            "type": "object",
            "required": [
                "data",
                "message"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/status_page.Model"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "utils.ApiResponse-status_page_StatusPageWithMonitorsResponseDTO": {
            "type": "object",
            "required": [
                "data",
                "message"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/status_page.StatusPageWithMonitorsResponseDTO"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "utils.ApiResponse-tag_Model": {
            "type": "object",
            "required": [
                "data",
                "message"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/tag.Model"
                },
                "message": {
                    "type": "string"
                }
            }
        }
    },
    "securityDefinitions": {
        "BearerAuth": {
            "type": "apiKey",
            "name": "Authorization",
            "in": "header"
        }
    }
}`

// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = &swag.Spec{
	Version:          "",
	Host:             "",
	BasePath:         "/api/v1",
	Schemes:          []string{},
	Title:            "Peekaping API",
	Description:      "",
	InfoInstanceName: "swagger",
	SwaggerTemplate:  docTemplate,
	LeftDelim:        "{{",
	RightDelim:       "}}",
}

func init() {
	swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
}
