{
    "schemes": [
        "https"
    ],
    "swagger": "2.0",
    "info": {
        "description": "Netdata Cloud API Documentation",
        "title": "Netdata Cloud API",
        "contact": {
            "name": "Support",
            "url": "https://www.netdata.cloud/support"
        },
        "version": "0.0.1"
    },
    "paths": {
        "/api/v2/spaces/{spaceID}/notifications/silencing/rrule/evaluate": {
            "post": {
                "description": "Evaluates an RRule string and returns the next occurrences within the specified time window.\nThis endpoint allows users to verify their rrule configuration for silencing rules.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "alerts"
                ],
                "summary": "Evaluate an RRule and return occurrences",
                "operationId": "evaluate-rrule",
                "parameters": [
                    {
                        "description": "The RRule evaluation request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/api.evaluateRRuleReq"
                        }
                    },
                    {
                        "type": "string",
                        "format": "uuid",
                        "description": "The unique identifier of the requested space.",
                        "name": "spaceID",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The evaluated RRule occurrences",
                        "schema": {
                            "$ref": "#/definitions/api.evaluateRRuleRes"
                        }
                    },
                    "400": {
                        "description": " `\\\"errorCode\\\": \\\"ErrBadRequest\\\"`: when the request payload is invalid",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "401": {
                        "description": " `\\\"errorCode\\\": \\\"ErrUnauthorized\\\"`: when the provided user token/cookie cannot be matched with an account",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "403": {
                        "description": " `\\\"errorCode\\\": \\\"ErrForbidden\\\"`: when caller has no permissions to access the space or evaluate silencing rrules",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "413": {
                        "description": " `\\\"errorCode\\\": \\\"ErrRequestEntityTooLarge\\\"`: when the rrule is too dense or starts_at is anchored too far from the window for the evaluation to complete within its iteration budget",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "422": {
                        "description": " `\\\"errorCode\\\": \\\"ErrUnprocessableEntity\\\"`: when invalid spaceID is provided",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "500": {
                        "description": " `\\\"errorCode\\\": \\\"ErrInternal\\\"`: when some Internal Server Error has occurred",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                },
                "security": [
                    {
                        "Bearer": []
                    }
                ]
            }
        },
        "/api/v2/spaces/{spaceID}/notifications/silencing/rule": {
            "post": {
                "description": "Creates an Alert Notification Silencing Rule according to the specifications provided",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "alerts"
                ],
                "summary": "Create a new Alert Notification Silencing Rule",
                "operationId": "create-silencing-rule",
                "parameters": [
                    {
                        "description": "The Silencing Rule definition",
                        "name": "rule",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/api.silencingRule"
                        }
                    },
                    {
                        "type": "string",
                        "format": "uuid",
                        "description": "The unique identifier of the requested space.",
                        "name": "spaceID",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The newly created Silencing Rule",
                        "schema": {
                            "$ref": "#/definitions/api.silencingRuleRes"
                        }
                    },
                    "400": {
                        "description": " `\"errorCode\": \"ErrBadRequest\"`: when the Silencing Rule request payload is invalid. Per-field validation errors are returned",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "401": {
                        "description": " `\"errorCode\": \"ErrUnauthorized\"`: when the provided user token/cookie cannot be matched with an account ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "403": {
                        "description": " `\"errorCode\": \"ErrForbidden\"`: when caller is not authorized to access the space or create an Alert Notification Silencing Rule",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "422": {
                        "description": " `\"errorCode\": \"ErrUnprocessableEntity\"`: when invalid spaceID is provided. ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "500": {
                        "description": " `\"errorCode\": \"ErrInternal\"`: when some Internal Server Error has occurred ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                },
                "security": [
                    {
                        "Bearer": []
                    }
                ]
            }
        },
        "/api/v2/spaces/{spaceID}/notifications/silencing/rule/ruleID": {
            "put": {
                "description": "Updates an existing Alert Notification Silencing Rule according to the specifications provided",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "alerts"
                ],
                "summary": "Update an existing Alert Notification Silencing Rule",
                "operationId": "update-silencing-rule",
                "parameters": [
                    {
                        "description": "The Silencing Rule definition to overwrite the existing one",
                        "name": "rule",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/api.silencingRule"
                        }
                    },
                    {
                        "type": "string",
                        "format": "uuid",
                        "description": "The unique identifier of the requested space.",
                        "name": "spaceID",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "format": "uuid",
                        "description": "The unique identifier of the Silencing Rule to be updated.",
                        "name": "ruleID",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The newly updated Silencing Rule",
                        "schema": {
                            "$ref": "#/definitions/api.silencingRuleRes"
                        }
                    },
                    "400": {
                        "description": " `\"errorCode\": \"ErrBadRequest\"`: when the Silencing Rule ID or request payload is invalid. Per-field validation errors are returned in case of invalid Silencing Rule definition",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "401": {
                        "description": " `\"errorCode\": \"ErrUnauthorized\"`: when the provided user token/cookie cannot be matched with an account ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "403": {
                        "description": " `\"errorCode\": \"ErrForbidden\"`: when caller is not authorized to access the space or update an Alert Notification Silencing Rule",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "404": {
                        "description": " `\"errorCode\": \"ErrNotFound\"`: when the Silencing Rule to be updated was not found",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "422": {
                        "description": " `\"errorCode\": \"ErrUnprocessableEntity\"`: when invalid spaceID is provided. ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "500": {
                        "description": " `\"errorCode\": \"ErrInternal\"`: when some Internal Server Error has occurred ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                },
                "security": [
                    {
                        "Bearer": []
                    }
                ]
            }
        },
        "/api/v2/spaces/{spaceID}/notifications/silencing/rules": {
            "get": {
                "description": "Retrieve the Alert Notification Silencing Rules of a given space",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "alerts"
                ],
                "summary": "Get all the Alert Notification Silencing Rules",
                "operationId": "get-silencing-rules",
                "parameters": [
                    {
                        "type": "string",
                        "format": "uuid",
                        "description": "The unique identifier of the requested space.",
                        "name": "spaceID",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The available Silencing Rules",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/api.silencingRuleRes"
                            }
                        }
                    },
                    "401": {
                        "description": " `\"errorCode\": \"ErrUnauthorized\"`: when the provided user token/cookie cannot be matched with an account ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "403": {
                        "description": " `\"errorCode\": \"ErrForbidden\"`: when caller is not authorized to access the space or retrieve Alert Notification Silencing Rules",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "422": {
                        "description": " `\"errorCode\": \"ErrUnprocessableEntity\"`: when invalid spaceID is provided. ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "500": {
                        "description": " `\"errorCode\": \"ErrInternal\"`: when some Internal Server Error has occurred ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                },
                "security": [
                    {
                        "Bearer": []
                    }
                ]
            }
        },
        "/api/v2/spaces/{spaceID}/notifications/silencing/rules/delete": {
            "post": {
                "description": "Deletes the targeted Alert Notification Silencing Rules of a given space",
                "consumes": [
                    "application/json"
                ],
                "tags": [
                    "alerts"
                ],
                "summary": "Delete Alert Notification Silencing Rules",
                "operationId": "delete-silencing-rules",
                "parameters": [
                    {
                        "example": "[\"550e8400-e29b-41d4-a716-446655440000\", \"123e4567-e89b-12d3-a456-426614174000\"]",
                        "description": "The Silencing Rule UUIDs",
                        "name": "ruleIDs",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "type": "string",
                        "format": "uuid",
                        "description": "The unique identifier of the requested space.",
                        "name": "spaceID",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": " `\"errorCode\": \"ErrBadRequest\"`: at least one of the Silencing Rule IDs in the request payload is invalid",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "401": {
                        "description": " `\"errorCode\": \"ErrUnauthorized\"`: when the provided user token/cookie cannot be matched with an account ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "403": {
                        "description": " `\"errorCode\": \"ErrForbidden\"`: when caller is not authorized to access the space or delete Alert Notification Silencing Rules",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "422": {
                        "description": " `\"errorCode\": \"ErrUnprocessableEntity\"`: when invalid spaceID is provided. ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "500": {
                        "description": " `\"errorCode\": \"ErrInternal\"`: when some Internal Server Error has occurred ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                },
                "security": [
                    {
                        "Bearer": []
                    }
                ]
            }
        },
        "/api/v2/spaces/{spaceID}/rooms/{roomID}/alerts:misconfigured": {
            "post": {
                "description": "Retrieve alerts that are firing too often, stuck in a raised state, silenced for too long, or never dispatched for a given room",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "alerts"
                ],
                "summary": "Get misconfigured alerts for a room",
                "operationId": "get-room-alerts-misconfigured",
                "parameters": [
                    {
                        "type": "string",
                        "format": "uuid",
                        "description": "The unique identifier of the space.",
                        "name": "spaceID",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "format": "uuid",
                        "description": "The unique identifier of the room.",
                        "name": "roomID",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Optional category filter and threshold overrides",
                        "name": "request",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/api.misconfiguredAlertsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The misconfigured alerts results",
                        "schema": {
                            "$ref": "#/definitions/api.misconfiguredAlertsResponse"
                        }
                    },
                    "400": {
                        "description": " `\\\"errorCode\\\": \\\"ErrBadRequest\\\"`: when the request payload is invalid ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "401": {
                        "description": " `\\\"errorCode\\\": \\\"ErrUnauthorized\\\"`: when the provided user token/cookie cannot be matched with an account ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "403": {
                        "description": " `\\\"errorCode\\\": \\\"ErrForbidden\\\"`: when caller is not authorized to access the space or room ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "422": {
                        "description": " `\\\"errorCode\\\": \\\"ErrUnprocessableEntity\\\"`: when invalid spaceID or roomID is provided ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "500": {
                        "description": " `\\\"errorCode\\\": \\\"ErrInternal\\\"`: when some Internal Server Error has occurred ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                },
                "security": [
                    {
                        "Bearer": []
                    }
                ]
            }
        },
        "/api/v3/spaces/{spaceID}/rooms/{roomID}/data": {
            "post": {
                "description": "Multi-node, multi-context, multi-instance, multi-dimension data queries, with time and metric aggregation.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "charts"
                ],
                "summary": "Time series data queries",
                "operationId": "post-scope-data",
                "parameters": [
                    {
                        "description": "The request payload defining the context data aggregation.",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.ScopeDataRequest"
                        }
                    },
                    {
                        "type": "string",
                        "format": "uuid",
                        "description": "The unique identifier of the requested space.",
                        "name": "spaceID",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "format": "uuid",
                        "description": "The unique identifier of the requested room.",
                        "name": "roomID",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/model.ScopeDataResponse"
                        }
                    },
                    "400": {
                        "description": " `\"errorCode\": \"ErrBadRequest\"`: when invalid query parameters/req. payload are provided \u003cbr /\u003e `\"errorCode\": \"ErrBigAgentResponses\"`: when Agents return big responses and the caller needs to filter further, reduce the amount of requested `points` or use parents \u003cbr /\u003e `\"errorCode\": \"ErrNoEligibleNodeRequested\"`: when no eligible nodes were targeted due to space plan restrictions \u003cbr /\u003e `\"errorCode\": \"ErrAllNodesFailed\"`: when all Agent requests failed, details on every failure are included ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "401": {
                        "description": " `\"errorCode\": \"ErrUnauthorized\"`: when the caller is not authenticated or not authorized to access this resource ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "500": {
                        "description": " `\"errorCode\": \"ErrInternal\"`: when some Internal Server Error has occurred ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                },
                "security": [
                    {
                        "Bearer": []
                    }
                ]
            }
        },
        "/api/v3/spaces/{spaceID}/rooms/{roomID}/weights": {
            "post": {
                "description": "Multi-node, multi-context, multi-instance, multi-dimension weights (metric correlations) queries. An optional `limit` (alias `cardinality_limit`) returns only the strongest entries; `result_limit` in the response describes the cut.\n\n**Scope contexts.** Each `scope.contexts` entry is a literal context ID or an Agent simple pattern: `*` wildcards, `!` negation, and several patterns in one entry separated by `,`, `|`, tab or newline (space is not a separator). Negated entries apply to every included entry; if all entries are negated, all contexts are included.\n\n**Routing.** `scope` (not `selectors`) decides which Agent answers for each node. When every entry is a literal, each (node, context) pair is routed on its own, and only nodes that have the context are queried. When any entry is a pattern, each node is routed once and all entries are sent together to its Agent, so overlapping entries (e.g. `system.cpu` and `system.*`) return each dimension once; nodes without matching contexts return no results.\n\n**Partial failures.** Nodes that lack the requested contexts, or that have no instance able to answer (capabilities, retention within the window), are omitted. Nodes that fail because of a routing error are listed in `dictionaries.nodes` with an error status (full format only). If no request can be routed, the response is 400 `ErrAllNodesFailed`.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "charts"
                ],
                "summary": "Metric weights queries",
                "operationId": "post-scope-weights",
                "parameters": [
                    {
                        "description": "The request payload defining the weights query.",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.ScopeWeightsRequest"
                        }
                    },
                    {
                        "type": "string",
                        "format": "uuid",
                        "description": "The unique identifier of the requested space.",
                        "name": "spaceID",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "format": "uuid",
                        "description": "The unique identifier of the requested room.",
                        "name": "roomID",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/model.ScopeWeightsResponse"
                        }
                    },
                    "400": {
                        "description": " `\"errorCode\": \"ErrBadRequest\"`: when invalid query parameters/req. payload are provided \u003cbr /\u003e `\"errorCode\": \"ErrAllNodesFailed\"`: when no Agent request could be routed, details on every failure are included ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "401": {
                        "description": " `\"errorCode\": \"ErrUnauthorized\"`: when the caller is not authenticated or not authorized to access this resource ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "500": {
                        "description": " `\"errorCode\": \"ErrInternal\"`: when some Internal Server Error has occurred ",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                },
                "security": [
                    {
                        "Bearer": []
                    }
                ]
            }
        }
    },
    "definitions": {
        "api.MisconfiguredNode": {
            "type": "object",
            "properties": {
                "id": {
                    "description": "Node unique identifier",
                    "type": "string",
                    "example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
                },
                "name": {
                    "description": "Node hostname",
                    "type": "string",
                    "example": "ip-172-31-0-1"
                }
            }
        },
        "api.creator": {
            "type": "object",
            "properties": {
                "avatar_url": {
                    "description": "The creator's avatar URL; null when the account could not be resolved",
                    "type": "string",
                    "example": "https://avatars.netdata.cloud/0deede74-2257-48d7-8b3b-22e3728cd2ff.png"
                },
                "email": {
                    "description": "The creator's email; null when the account could not be resolved",
                    "type": "string",
                    "example": "joao@netdata.cloud"
                },
                "id": {
                    "description": "The Account ID of the user that created the Silencing Rule",
                    "type": "string",
                    "format": "uuid",
                    "example": "0deede74-2257-48d7-8b3b-22e3728cd2ff"
                },
                "name": {
                    "description": "The creator's name; null when the account could not be resolved",
                    "type": "string",
                    "example": "Joao"
                }
            }
        },
        "api.dispatchNoneAlert": {
            "type": "object",
            "properties": {
                "chart": {
                    "description": "Chart the alert belongs to",
                    "type": "string",
                    "example": "disk_space._"
                },
                "context": {
                    "description": "Chart context",
                    "type": "string",
                    "example": "disk.space"
                },
                "name": {
                    "description": "Alert name",
                    "type": "string",
                    "example": "disk_space_usage"
                }
            }
        },
        "api.dispatchNoneItem": {
            "type": "object",
            "properties": {
                "alert": {
                    "description": "Alert identity",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.dispatchNoneAlert"
                        }
                    ]
                },
                "count": {
                    "description": "Number of dispatch events where no notification was sent within the lookback window",
                    "type": "integer",
                    "example": 42
                },
                "first": {
                    "description": "Timestamp of the first non-dispatched event, in unix milliseconds",
                    "type": "integer",
                    "example": 1710892800000
                },
                "last": {
                    "description": "Timestamp of the last non-dispatched event, in unix milliseconds",
                    "type": "integer",
                    "example": 1711497600000
                },
                "node": {
                    "description": "Node where this alert is not dispatched",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.MisconfiguredNode"
                        }
                    ]
                }
            }
        },
        "api.dispatchNoneResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "description": "Individual alerts that exceeded the non-dispatched event threshold",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/api.dispatchNoneItem"
                    }
                },
                "totals": {
                    "description": "Aggregated counts across all dispatch-none items",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.dispatchNoneTotals"
                        }
                    ]
                }
            }
        },
        "api.dispatchNoneThresholds": {
            "type": "object",
            "properties": {
                "count": {
                    "description": "Minimum non-dispatched event count to flag an alert (default 10, max 5000)",
                    "type": "integer",
                    "example": 10
                },
                "window_seconds": {
                    "description": "Lookback window in seconds for dispatch-none detection (default 2592000, max 7776000)",
                    "type": "integer",
                    "example": 2592000
                }
            }
        },
        "api.dispatchNoneTotals": {
            "type": "object",
            "properties": {
                "count": {
                    "description": "Sum of non-dispatched event counts across all flagged alerts",
                    "type": "integer",
                    "example": 150
                },
                "items": {
                    "description": "Number of alerts flagged as never dispatched",
                    "type": "integer",
                    "example": 3
                }
            }
        },
        "api.evaluateRRuleReq": {
            "type": "object",
            "properties": {
                "lasts_until": {
                    "description": "The end time for the daily active window (optional)",
                    "type": "string",
                    "example": "2025-05-20T01:49:01.803Z"
                },
                "limit": {
                    "description": "Maximum number of occurrences to return (optional, default: 25, max: 200)",
                    "type": "integer",
                    "example": 10
                },
                "rrule": {
                    "description": "The RRule string to evaluate (RFC 5545 format). FREQ must be DAILY, WEEKLY,\nMONTHLY or YEARLY and may recur at most 24 times a day",
                    "type": "string",
                    "example": "RRULE:FREQ=DAILY"
                },
                "starts_at": {
                    "description": "The start time for the rrule (DTSTART)",
                    "type": "string",
                    "example": "2025-05-19T13:49:01.803Z"
                },
                "timezone": {
                    "description": "IANA timezone the recurrence is anchored to (optional, default: UTC). The\nrrule fires at the intended wall-clock time in this zone across DST transitions",
                    "type": "string",
                    "example": "America/New_York"
                },
                "window": {
                    "description": "The evaluation time window",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.evaluateRRuleWindowReq"
                        }
                    ]
                }
            }
        },
        "api.evaluateRRuleRes": {
            "type": "object",
            "properties": {
                "has_more": {
                    "description": "Whether there are more occurrences beyond the limit",
                    "type": "boolean",
                    "example": false
                },
                "occurrences": {
                    "description": "List of occurrence timestamps within the window",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/api.occurrence"
                    }
                },
                "rrule": {
                    "description": "The normalized rrule string",
                    "type": "string",
                    "example": "DTSTART:20250519T134901Z\nRRULE:FREQ=DAILY"
                }
            }
        },
        "api.evaluateRRuleWindowReq": {
            "type": "object",
            "properties": {
                "end": {
                    "description": "End of the evaluation time window",
                    "type": "string",
                    "example": "2025-06-19T00:00:00Z"
                },
                "start": {
                    "description": "Start of the evaluation time window",
                    "type": "string",
                    "example": "2025-05-19T00:00:00Z"
                }
            }
        },
        "api.firingOftenAlert": {
            "type": "object",
            "properties": {
                "chart": {
                    "description": "Chart the alert belongs to",
                    "type": "string",
                    "example": "system.cpu"
                },
                "context": {
                    "description": "Chart context",
                    "type": "string",
                    "example": "system.cpu"
                },
                "name": {
                    "description": "Alert name",
                    "type": "string",
                    "example": "10min_cpu_usage"
                }
            }
        },
        "api.firingOftenItem": {
            "type": "object",
            "properties": {
                "alert": {
                    "description": "Alert identity",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.firingOftenAlert"
                        }
                    ]
                },
                "node": {
                    "description": "Node where this alert fires",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.MisconfiguredNode"
                        }
                    ]
                },
                "transitions": {
                    "description": "Number of transitions within the lookback window",
                    "type": "integer",
                    "example": 100
                }
            }
        },
        "api.firingOftenResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "description": "Individual alerts that exceeded the transition threshold",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/api.firingOftenItem"
                    }
                },
                "totals": {
                    "description": "Aggregated counts across all firing-often items",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.firingOftenTotals"
                        }
                    ]
                }
            }
        },
        "api.firingOftenThresholds": {
            "type": "object",
            "properties": {
                "transitions": {
                    "description": "Minimum number of transitions to flag an alert (default 30, max 5000)",
                    "type": "integer",
                    "example": 30
                },
                "window_seconds": {
                    "description": "Lookback window in seconds for counting transitions (default 259200, max 7776000)",
                    "type": "integer",
                    "example": 259200
                }
            }
        },
        "api.firingOftenTotals": {
            "type": "object",
            "properties": {
                "items": {
                    "description": "Number of alerts flagged as firing too often",
                    "type": "integer",
                    "example": 5
                },
                "transitions": {
                    "description": "Sum of transitions across all flagged alerts",
                    "type": "integer",
                    "example": 420
                }
            }
        },
        "api.misconfiguredAlertsRequest": {
            "type": "object",
            "properties": {
                "categories": {
                    "description": "Filter results to specific misconfiguration categories; empty means all categories",
                    "type": "array",
                    "items": {
                        "type": "string",
                        "enum": [
                            "firing_often",
                            "stuck_raised",
                            "silenced_long",
                            "dispatch_none"
                        ]
                    },
                    "example": [
                        "firing_often",
                        "stuck_raised",
                        "silenced_long",
                        "dispatch_none"
                    ]
                },
                "thresholds": {
                    "description": "Override default detection thresholds per category",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.misconfiguredAlertsThresholds"
                        }
                    ]
                }
            }
        },
        "api.misconfiguredAlertsResponse": {
            "type": "object",
            "properties": {
                "dispatch_none": {
                    "description": "Results for alerts where no notification was dispatched; nil when category is excluded",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.dispatchNoneResponse"
                        }
                    ]
                },
                "firing_often": {
                    "description": "Results for alerts transitioning too frequently; nil when category is excluded",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.firingOftenResponse"
                        }
                    ]
                },
                "silenced_long": {
                    "description": "Results for alerts silenced for too long; nil when category is excluded",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.silencedLongResponse"
                        }
                    ]
                },
                "stuck_raised": {
                    "description": "Results for alerts stuck in a raised state; nil when category is excluded",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.stuckRaisedResponse"
                        }
                    ]
                },
                "thresholds": {
                    "description": "Thresholds used for the calculation; always present",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.misconfiguredAlertsThresholds"
                        }
                    ]
                }
            }
        },
        "api.misconfiguredAlertsThresholds": {
            "type": "object",
            "properties": {
                "dispatch_none": {
                    "description": "Thresholds for the dispatch-none category",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.dispatchNoneThresholds"
                        }
                    ]
                },
                "firing_often": {
                    "description": "Thresholds for the firing-often category",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.firingOftenThresholds"
                        }
                    ]
                },
                "silenced_long": {
                    "description": "Thresholds for the silenced-long category",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.silencedLongThresholds"
                        }
                    ]
                },
                "stuck_raised": {
                    "description": "Thresholds for the stuck-raised category",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.stuckRaisedThresholds"
                        }
                    ]
                }
            }
        },
        "api.occurrence": {
            "type": "object",
            "properties": {
                "end": {
                    "description": "The end time of the occurrence (only present if lasts_until was provided)",
                    "type": "string",
                    "example": "2025-05-20T01:49:01.803Z"
                },
                "start": {
                    "description": "The start time of the occurrence",
                    "type": "string",
                    "example": "2025-05-19T13:49:01.803Z"
                }
            }
        },
        "api.silencedLongAlert": {
            "type": "object",
            "properties": {
                "chart": {
                    "description": "Chart the alert belongs to",
                    "type": "string",
                    "example": "disk_space._"
                },
                "context": {
                    "description": "Chart context",
                    "type": "string",
                    "example": "disk.space"
                },
                "name": {
                    "description": "Alert name",
                    "type": "string",
                    "example": "disk_space_usage"
                }
            }
        },
        "api.silencedLongItem": {
            "type": "object",
            "properties": {
                "alert": {
                    "description": "Alert identity",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.silencedLongAlert"
                        }
                    ]
                },
                "count": {
                    "description": "Number of dispatch events where the alert was silenced within the lookback window",
                    "type": "integer",
                    "example": 72
                },
                "first_silenced": {
                    "description": "Timestamp of the first silenced dispatch event, in unix milliseconds",
                    "type": "integer",
                    "example": 1710892800000
                },
                "last_silenced": {
                    "description": "Timestamp of the last silenced dispatch event, in unix milliseconds",
                    "type": "integer",
                    "example": 1711497600000
                },
                "node": {
                    "description": "Node where this alert is silenced",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.MisconfiguredNode"
                        }
                    ]
                }
            }
        },
        "api.silencedLongResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "description": "Individual alerts that exceeded the silenced dispatch threshold",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/api.silencedLongItem"
                    }
                },
                "totals": {
                    "description": "Aggregated counts across all silenced-long items",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.silencedLongTotals"
                        }
                    ]
                }
            }
        },
        "api.silencedLongThresholds": {
            "type": "object",
            "properties": {
                "count": {
                    "description": "Minimum silenced dispatch count to flag an alert (default 20, max 5000)",
                    "type": "integer",
                    "example": 20
                },
                "window_seconds": {
                    "description": "Lookback window in seconds for silenced-long detection (default 2592000, max 7776000)",
                    "type": "integer",
                    "example": 2592000
                }
            }
        },
        "api.silencedLongTotals": {
            "type": "object",
            "properties": {
                "count": {
                    "description": "Sum of silenced dispatch counts across all flagged alerts",
                    "type": "integer",
                    "example": 150
                },
                "items": {
                    "description": "Number of alerts flagged as silenced for too long",
                    "type": "integer",
                    "example": 3
                }
            }
        },
        "api.silencingRule": {
            "type": "object",
            "properties": {
                "account_id": {
                    "description": "The Account ID of the user that created the Silencing Rule",
                    "type": "string",
                    "format": "uuid",
                    "example": "0deede74-2257-48d7-8b3b-22e3728cd2ff"
                },
                "alert_contexts": {
                    "description": "The Alert Contexts to which the Silencing Rule is applicable",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "system.cpu",
                        "cpu.cpu"
                    ]
                },
                "alert_instances": {
                    "description": "The Alert Instances to which the Silencing Rule is applicable",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "system.post_update_reboot_status"
                    ]
                },
                "alert_names": {
                    "description": "The Alert names to which the Silencing Rule is applicable",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "10min_cpu_iowait"
                    ]
                },
                "alert_roles": {
                    "description": "The Alert Roles to which the Silencing Rule is applicable. Each value is split on whitespace and commas into single roles, and the rule applies to an alert addressed to any of them",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "webmaster"
                    ]
                },
                "delete_on_expiry": {
                    "description": "Opt-in: delete the Silencing Rule automatically once lasts_until passes.\nRequires lasts_until and cannot be combined with rrule; defaults to false when absent",
                    "type": "boolean",
                    "example": false
                },
                "disabled": {
                    "description": "true if the Silencing Rule is Disabled",
                    "type": "boolean",
                    "example": false
                },
                "host_labels": {
                    "description": "The host label key-values targeting the Nodes the Silencing Rule applies to",
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "example": {
                        "{\"os\"": "\"linux\"}"
                    }
                },
                "id": {
                    "description": "The Silencing Rule ID",
                    "type": "string",
                    "format": "uuid",
                    "example": "550e8400-e29b-41d4-a716-446655440000"
                },
                "integration_ids": {
                    "description": "The Alert Notification Methods Integration IDs to which the Silencing Rule is applicable",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "303f0cc7-8613-4960-bea6-827be15cb043",
                        "32000626-37df-4c20-9dd0-cbe2c834384e"
                    ]
                },
                "lasts_until": {
                    "description": "The end of the time window during which the Silencing Rule is applicable",
                    "type": "string",
                    "example": "2025-05-20T01:49:01.803Z"
                },
                "name": {
                    "description": "The Silencing Rule friendly name",
                    "type": "string",
                    "example": "notify only for Criticals"
                },
                "node_ids": {
                    "description": "The Node IDs to which the Silencing Rule is applicable",
                    "type": "array",
                    "items": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "example": [
                        "21b52a82-8a5f-4a92-8446-8a84c7d1539c",
                        "c6b6bcc9-27f1-47c0-ab47-c9cd2b6fc45a",
                        "805e93d7-ad28-4003-a3cb-83e42d1765df"
                    ]
                },
                "notification_options": {
                    "description": "The Notification Options to which the Silencing Rule is applicable",
                    "type": "array",
                    "items": {
                        "type": "string",
                        "enum": [
                            "CLEAR",
                            "WARNING",
                            "CRITICAL",
                            "REACHABLE",
                            "UNREACHABLE"
                        ]
                    },
                    "example": [
                        "CRITICAL",
                        "UNREACHABLE"
                    ]
                },
                "read_only": {
                    "description": "true if the Silencing Rule is ReadOnly and cannot be edited",
                    "type": "boolean",
                    "example": false
                },
                "room_ids": {
                    "description": "The Room IDs to which the Silencing Rule is applicable",
                    "type": "array",
                    "items": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "example": [
                        "7314a1f2-dcc9-44cb-b9af-297a362bd800",
                        "fff17c3c-4a7c-4990-87c7-dcb7e5d70de8"
                    ]
                },
                "rrule": {
                    "description": "The RRule string defining the recurrence pattern of the Silencing Rule, if any.\nFREQ must be DAILY, WEEKLY, MONTHLY or YEARLY and may recur at most 24 times a day",
                    "type": "string",
                    "example": "RRULE:FREQ=DAILY"
                },
                "starts_at": {
                    "description": "The beginning of the time window during which the Silencing Rule is applicable",
                    "type": "string",
                    "example": "2025-05-19T13:49:01.803Z"
                },
                "state": {
                    "description": "The current state of the Silencing Rule",
                    "type": "string",
                    "enum": [
                        "INACTIVE",
                        "ACTIVE",
                        "SCHEDULED"
                    ],
                    "example": "ACTIVE"
                },
                "timezone": {
                    "description": "The IANA timezone the Silencing Rule's recurrence is anchored to, if any.\nAll times stay UTC on the wire; the timezone is applied only when computing\nrecurrence, so it fires at the intended wall-clock time across DST transitions.",
                    "type": "string",
                    "example": "Europe/Lisbon"
                }
            }
        },
        "api.silencingRuleRes": {
            "type": "object",
            "properties": {
                "account_id": {
                    "description": "The Account ID of the user that created the Silencing Rule",
                    "type": "string",
                    "format": "uuid",
                    "example": "0deede74-2257-48d7-8b3b-22e3728cd2ff"
                },
                "alert_contexts": {
                    "description": "The Alert Contexts to which the Silencing Rule is applicable",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "system.cpu",
                        "cpu.cpu"
                    ]
                },
                "alert_instances": {
                    "description": "The Alert Instances to which the Silencing Rule is applicable",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "system.post_update_reboot_status"
                    ]
                },
                "alert_names": {
                    "description": "The Alert names to which the Silencing Rule is applicable",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "10min_cpu_iowait"
                    ]
                },
                "alert_roles": {
                    "description": "The Alert Roles to which the Silencing Rule is applicable. Each value is split on whitespace and commas into single roles, and the rule applies to an alert addressed to any of them",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "webmaster"
                    ]
                },
                "created_at": {
                    "description": "When the Silencing Rule was created",
                    "type": "string",
                    "example": "2025-05-19T13:49:01.803Z"
                },
                "creator": {
                    "description": "The resolved identity of the user that created the Silencing Rule.\nnull when the rule has no recorded creator",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.creator"
                        }
                    ]
                },
                "delete_on_expiry": {
                    "description": "Opt-in: delete the Silencing Rule automatically once lasts_until passes.\nRequires lasts_until and cannot be combined with rrule; defaults to false when absent",
                    "type": "boolean",
                    "example": false
                },
                "disabled": {
                    "description": "true if the Silencing Rule is Disabled",
                    "type": "boolean",
                    "example": false
                },
                "host_labels": {
                    "description": "The host label key-values targeting the Nodes the Silencing Rule applies to",
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "example": {
                        "{\"os\"": "\"linux\"}"
                    }
                },
                "id": {
                    "description": "The Silencing Rule ID",
                    "type": "string",
                    "format": "uuid",
                    "example": "550e8400-e29b-41d4-a716-446655440000"
                },
                "integration_ids": {
                    "description": "The Alert Notification Methods Integration IDs to which the Silencing Rule is applicable",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "303f0cc7-8613-4960-bea6-827be15cb043",
                        "32000626-37df-4c20-9dd0-cbe2c834384e"
                    ]
                },
                "lasts_until": {
                    "description": "The end of the time window during which the Silencing Rule is applicable",
                    "type": "string",
                    "example": "2025-05-20T01:49:01.803Z"
                },
                "name": {
                    "description": "The Silencing Rule friendly name",
                    "type": "string",
                    "example": "notify only for Criticals"
                },
                "node_ids": {
                    "description": "The Node IDs to which the Silencing Rule is applicable",
                    "type": "array",
                    "items": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "example": [
                        "21b52a82-8a5f-4a92-8446-8a84c7d1539c",
                        "c6b6bcc9-27f1-47c0-ab47-c9cd2b6fc45a",
                        "805e93d7-ad28-4003-a3cb-83e42d1765df"
                    ]
                },
                "notification_options": {
                    "description": "The Notification Options to which the Silencing Rule is applicable",
                    "type": "array",
                    "items": {
                        "type": "string",
                        "enum": [
                            "CLEAR",
                            "WARNING",
                            "CRITICAL",
                            "REACHABLE",
                            "UNREACHABLE"
                        ]
                    },
                    "example": [
                        "CRITICAL",
                        "UNREACHABLE"
                    ]
                },
                "read_only": {
                    "description": "true if the Silencing Rule is ReadOnly and cannot be edited",
                    "type": "boolean",
                    "example": false
                },
                "room_ids": {
                    "description": "The Room IDs to which the Silencing Rule is applicable",
                    "type": "array",
                    "items": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "example": [
                        "7314a1f2-dcc9-44cb-b9af-297a362bd800",
                        "fff17c3c-4a7c-4990-87c7-dcb7e5d70de8"
                    ]
                },
                "rrule": {
                    "description": "The RRule string defining the recurrence pattern of the Silencing Rule, if any.\nFREQ must be DAILY, WEEKLY, MONTHLY or YEARLY and may recur at most 24 times a day",
                    "type": "string",
                    "example": "RRULE:FREQ=DAILY"
                },
                "starts_at": {
                    "description": "The beginning of the time window during which the Silencing Rule is applicable",
                    "type": "string",
                    "example": "2025-05-19T13:49:01.803Z"
                },
                "state": {
                    "description": "The current state of the Silencing Rule",
                    "type": "string",
                    "enum": [
                        "INACTIVE",
                        "ACTIVE",
                        "SCHEDULED"
                    ],
                    "example": "ACTIVE"
                },
                "timezone": {
                    "description": "The IANA timezone the Silencing Rule's recurrence is anchored to, if any.\nAll times stay UTC on the wire; the timezone is applied only when computing\nrecurrence, so it fires at the intended wall-clock time across DST transitions.",
                    "type": "string",
                    "example": "Europe/Lisbon"
                }
            }
        },
        "api.stuckRaisedAlert": {
            "type": "object",
            "properties": {
                "chart": {
                    "description": "Chart the alert belongs to",
                    "type": "string",
                    "example": "system.cpu"
                },
                "context": {
                    "description": "Chart context",
                    "type": "string",
                    "example": "system.cpu"
                },
                "duration_seconds": {
                    "description": "How long the alert has been raised in seconds",
                    "type": "integer",
                    "example": 86400
                },
                "name": {
                    "description": "Alert name",
                    "type": "string",
                    "example": "10min_cpu_usage"
                },
                "status": {
                    "description": "Current alert status",
                    "type": "string",
                    "enum": [
                        "critical",
                        "warning"
                    ],
                    "example": "critical"
                },
                "triggered_at": {
                    "description": "When the alert was triggered, in unix milliseconds",
                    "type": "integer",
                    "example": 1710892800000
                },
                "units": {
                    "description": "Unit of the alert value (e.g. \"%\", \"MB/s\"); empty when the alert config has no units",
                    "type": "string",
                    "example": "%"
                },
                "value": {
                    "description": "Current alert value",
                    "type": "number",
                    "example": 95.5
                }
            }
        },
        "api.stuckRaisedItem": {
            "type": "object",
            "properties": {
                "alert": {
                    "description": "Alert identity and current state",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.stuckRaisedAlert"
                        }
                    ]
                },
                "node": {
                    "description": "Node where this alert is stuck",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.MisconfiguredNode"
                        }
                    ]
                }
            }
        },
        "api.stuckRaisedResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "description": "Individual alerts stuck in a raised state, sorted by duration descending",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/api.stuckRaisedItem"
                    }
                },
                "totals": {
                    "description": "Aggregated counts and durations across all stuck-raised items",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.stuckRaisedTotals"
                        }
                    ]
                }
            }
        },
        "api.stuckRaisedStatusTotal": {
            "type": "object",
            "properties": {
                "duration_seconds": {
                    "description": "Sum of raised durations in seconds for this status",
                    "type": "integer",
                    "example": 172800
                },
                "items": {
                    "description": "Number of alerts with this status",
                    "type": "integer",
                    "example": 2
                }
            }
        },
        "api.stuckRaisedThresholds": {
            "type": "object",
            "properties": {
                "duration_seconds": {
                    "description": "Minimum raised duration in seconds to flag an alert (default 1209600, max 7776000)",
                    "type": "integer",
                    "example": 1209600
                }
            }
        },
        "api.stuckRaisedTotals": {
            "type": "object",
            "properties": {
                "critical": {
                    "description": "Breakdown for critical-status alerts",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.stuckRaisedStatusTotal"
                        }
                    ]
                },
                "duration_seconds": {
                    "description": "Sum of raised durations in seconds across all items",
                    "type": "integer",
                    "example": 259200
                },
                "items": {
                    "description": "Number of stuck alerts",
                    "type": "integer",
                    "example": 3
                },
                "warning": {
                    "description": "Breakdown for warning-status alerts",
                    "allOf": [
                        {
                            "$ref": "#/definitions/api.stuckRaisedStatusTotal"
                        }
                    ]
                }
            }
        },
        "errors.Error": {
            "type": "object",
            "properties": {
                "details": {
                    "type": "object",
                    "additionalProperties": {}
                },
                "errorCode": {
                    "type": "string"
                },
                "errorMessage": {
                    "type": "string"
                },
                "errorMsgKey": {
                    "type": "string"
                },
                "validationErrors": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/errors.ValidationError"
                    }
                }
            }
        },
        "errors.ValidationError": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "model.AgentSummary": {
            "type": "object",
            "properties": {
                "ai": {
                    "description": "The index of the Agent in the summaries array",
                    "type": "integer"
                },
                "claim_id": {
                    "description": "The Agent Claim ID",
                    "type": "string",
                    "format": "uuid",
                    "example": "550e8400-e29b-41d4-a716-446655440000"
                },
                "mg": {
                    "description": "The Agent Machine GUID",
                    "type": "string",
                    "format": "uuid",
                    "example": "550e8400-e29b-41d4-a716-446655440000"
                },
                "nd": {
                    "description": "The Agent Node ID",
                    "type": "string",
                    "format": "uuid",
                    "example": "550e8400-e29b-41d4-a716-446655440000"
                },
                "nm": {
                    "description": "The Agent Node name",
                    "type": "string",
                    "example": "my_node"
                },
                "timings": {
                    "description": "Timing information for all the stages included until the final composite response is returned",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.Timings"
                        }
                    ]
                }
            }
        },
        "model.AggregationMethod": {
            "type": "string",
            "enum": [
                "sum",
                "min",
                "max",
                "avg",
                "median",
                "percentage"
            ],
            "x-enum-varnames": [
                "Sum",
                "Min",
                "Max",
                "Avg",
                "Median",
                "Pct"
            ]
        },
        "model.Aggregations": {
            "type": "object",
            "properties": {
                "metrics": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.MetricsAggregation"
                    }
                },
                "time": {
                    "$ref": "#/definitions/model.TimeAggregation"
                }
            }
        },
        "model.AlertSummary": {
            "type": "object",
            "properties": {
                "cl": {
                    "description": "The count of Clear alerts",
                    "type": "integer"
                },
                "cr": {
                    "description": "The count of Critical alerts",
                    "type": "integer"
                },
                "nm": {
                    "description": "The Name of the alert can be absent when the counters refer to more than one alert instances.",
                    "type": "string"
                },
                "ot": {
                    "description": "The count of Other alerts",
                    "type": "integer"
                },
                "wr": {
                    "description": "The count of Warning alerts",
                    "type": "integer"
                }
            }
        },
        "model.ContextSummary": {
            "type": "object",
            "properties": {
                "al": {
                    "description": "Summary of the Alert counts of the participating nodes by severity",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.AlertSummary"
                        }
                    ]
                },
                "ds": {
                    "description": "A breakdown summary of the Dimensions by outcome and filter",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.ItemsCount"
                        }
                    ]
                },
                "id": {
                    "description": "The Context ID",
                    "type": "string"
                },
                "is": {
                    "description": "A breakdown summary of the Instances by outcome and filter",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.ItemsCount"
                        }
                    ]
                },
                "sts": {
                    "description": "Provides global statistics such as `min`, `max`, `sum`, `volume`, `count` and `anomaly-rate-count`",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "model.DB": {
            "type": "object",
            "properties": {
                "dimensions": {
                    "description": "The Database dimensions details",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.DBDimensions"
                        }
                    ]
                },
                "first_entry": {
                    "description": "The `min` (earliest) FirstEntry across participating Nodes",
                    "type": "integer"
                },
                "last_entry": {
                    "description": "The `max` (latest) LastEntry across participating Nodes",
                    "type": "integer"
                },
                "per_tier": {
                    "description": "Aggregated tier information for all participating Nodes",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.Tier"
                    }
                },
                "tiers": {
                    "description": "The `max` amount of Database Tiers",
                    "type": "integer"
                },
                "units": {
                    "description": "The Units of the database data",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "update_every": {
                    "description": "The `max` UpdateEvery across participating Nodes",
                    "type": "integer"
                }
            }
        },
        "model.DBDimensions": {
            "type": "object",
            "properties": {
                "ids": {
                    "description": "An array with the dimension ids that uniquely identify the dimensions for this query",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "sts": {
                    "description": "Statistics of the database dimensions including `max`, `min`, `average`, `sum`, `volume`, `count`, `anomaly-rate-count`, `average-anomaly-rate` and `contribution-percentage`",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.StatsArray"
                        }
                    ]
                },
                "units": {
                    "description": "An array with the units each dimension has in the database (independent of group-by aggregation that may override the units).",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "model.DimensionSummary": {
            "type": "object",
            "properties": {
                "ds": {
                    "$ref": "#/definitions/model.ItemsCount"
                },
                "id": {
                    "type": "string"
                },
                "nm": {
                    "type": "string"
                },
                "pri": {
                    "type": "integer"
                },
                "sts": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "model.GlobalSummary": {
            "type": "object",
            "properties": {
                "sts": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "model.InstanceSummary": {
            "type": "object",
            "properties": {
                "al": {
                    "$ref": "#/definitions/model.AlertSummary"
                },
                "ds": {
                    "$ref": "#/definitions/model.ItemsCount"
                },
                "id": {
                    "type": "string"
                },
                "ni": {
                    "type": "integer"
                },
                "nm": {
                    "type": "string"
                },
                "sts": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "model.ItemsCount": {
            "type": "object",
            "properties": {
                "ex": {
                    "description": "The amount of items that were Excluded",
                    "type": "integer"
                },
                "fl": {
                    "description": "The amount of items that were not queried successfully",
                    "type": "integer"
                },
                "qr": {
                    "description": "The amount of items that were queried successfully",
                    "type": "integer"
                },
                "sl": {
                    "description": "The amount of items that were Selected",
                    "type": "integer"
                }
            }
        },
        "model.LabelSummary": {
            "type": "object",
            "properties": {
                "ds": {
                    "description": "Dimensions are th available label keys",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.ItemsCount"
                        }
                    ]
                },
                "id": {
                    "description": "ID is the label key",
                    "type": "string"
                },
                "sts": {
                    "description": "Statistics object including `min`, `max`, `avg`, `anomaly-rate` and `contribution-percentage`",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "vl": {
                    "description": "The Values are summarizing the label values of the result",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.LabelValueSummary"
                    }
                }
            }
        },
        "model.LabelValueSummary": {
            "type": "object",
            "properties": {
                "ds": {
                    "description": "Dimensions are the label key-value pairs",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.ItemsCount"
                        }
                    ]
                },
                "id": {
                    "description": "ID is the label value",
                    "type": "string"
                },
                "sts": {
                    "description": "Statistics object including `min`, `max`, `avg`, `anomaly-rate` and `contribution-percentage`",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "model.MetricsAggregation": {
            "type": "object",
            "properties": {
                "aggregation": {
                    "description": "The aggregation function to apply when grouping metrics together.",
                    "default": "average",
                    "enum": [
                        "sum",
                        "min",
                        "max",
                        "avg",
                        "median",
                        "percentage"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.AggregationMethod"
                        }
                    ],
                    "example": "sum"
                },
                "group_by": {
                    "description": "A list of groupings. All possible values can be combined together, except `selected`. If `selected` is provided, all others are ignored. The order they are placed in the list is currently ignored.",
                    "type": "array",
                    "items": {
                        "type": "string",
                        "enum": [
                            "dimension",
                            "instance",
                            "percentage-of-instance",
                            "label",
                            "node",
                            "context",
                            "units",
                            "selected"
                        ]
                    },
                    "example": [
                        "selected"
                    ]
                },
                "group_by_label": {
                    "description": "A list of the label keys to group by their values. The order of the labels in the list is respected.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "a_label_key"
                    ]
                }
            }
        },
        "model.NodeStatus": {
            "type": "object",
            "properties": {
                "ai": {
                    "description": "The index of the Agent that the Node belongs to",
                    "type": "integer"
                },
                "code": {
                    "description": "The HTTP response code the Agent returned",
                    "type": "integer",
                    "example": 200
                },
                "ms": {
                    "description": "The required time in milliseconds until the Cloud got back the Agent's response",
                    "type": "number"
                },
                "msg": {
                    "description": "Any error message the Agent might have returned",
                    "type": "string",
                    "example": "timed out"
                }
            }
        },
        "model.NodeSummary": {
            "type": "object",
            "properties": {
                "al": {
                    "description": "Summary of the Alert counts of the participating nodes by severity",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.AlertSummary"
                        }
                    ]
                },
                "ds": {
                    "description": "Information regarding the dimensions that were selected, excluded and whether their query was successful or not",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.ItemsCount"
                        }
                    ]
                },
                "is": {
                    "description": "Information regarding the instances that were selected, excluded and whether their query was successful or not",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.ItemsCount"
                        }
                    ]
                },
                "mg": {
                    "description": "The Machine GUID",
                    "type": "string",
                    "format": "uuid",
                    "example": "550e8400-e29b-41d4-a716-446655440000"
                },
                "nd": {
                    "description": "The Node ID",
                    "type": "string",
                    "format": "uuid",
                    "example": "550e8400-e29b-41d4-a716-446655440000"
                },
                "ni": {
                    "description": "The index of the Node in the summaries array",
                    "type": "integer"
                },
                "nm": {
                    "description": "The Node name",
                    "type": "string",
                    "example": "my_node"
                },
                "st": {
                    "description": "Node Status information",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.NodeStatus"
                        }
                    ]
                },
                "sts": {
                    "description": "Provides global statistics such as `min`, `max`, `sum`, `volume`, `count` and `anomaly-rate-count`",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "model.PartialDataTrimming": {
            "type": "object",
            "properties": {
                "expected_after": {
                    "type": "integer"
                },
                "max_update_every": {
                    "type": "integer"
                },
                "trimmed_after": {
                    "type": "integer"
                }
            }
        },
        "model.Result": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "Data is kept for JSON shape compatibility. Custom marshal/unmarshal store\nnon-null data in timestamps/values and leave this as a non-nil empty slice.",
                    "type": "array",
                    "items": {
                        "type": "array",
                        "items": {}
                    }
                },
                "labels": {
                    "description": "The IDs of the dimensions returned. The first is always `time`.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "point": {
                    "description": "The format of each point returned.",
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    }
                }
            }
        },
        "model.Scope": {
            "type": "object",
            "properties": {
                "contexts": {
                    "description": "The targeted contexts.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "disk.space"
                    ]
                },
                "dimensions": {
                    "description": "The targeted dimensions.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "avail",
                        "used"
                    ]
                },
                "instances": {
                    "description": "The targeted instances.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "disk_space./@bd498fed-8aa1-440c-a9d6-7c33db570608"
                    ]
                },
                "labels": {
                    "description": "The targeted labels.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "filesystem:btrfs",
                        "mount_point:/host/var/log"
                    ]
                },
                "nodes": {
                    "description": "The targeted nodes.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "node_id_1",
                        "node_id_2"
                    ]
                }
            }
        },
        "model.ScopeDataRequest": {
            "type": "object",
            "properties": {
                "aggregations": {
                    "description": "Aggregations define the time and metric aggregation specs. At last one metric aggregation is required",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.Aggregations"
                        }
                    ]
                },
                "format": {
                    "description": "The format of the data to be returned. Only `json2` is currently supported by Netdata Cloud.",
                    "type": "string",
                    "default": "json2",
                    "enum": [
                        "json2"
                    ],
                    "example": "json2"
                },
                "options": {
                    "description": "Options that affect data generation, more info on each option : https://learn.netdata.cloud/api#/data/dataQuery2.",
                    "type": "array",
                    "items": {
                        "type": "string",
                        "enum": [
                            "jsonwrap",
                            "raw",
                            "minify",
                            "debug",
                            "nonzero",
                            "null2zero",
                            "abs",
                            "absolute",
                            "display-absolute",
                            "flip",
                            "reversed",
                            "min2max",
                            "percentage",
                            "seconds",
                            "ms",
                            "milliseconds",
                            "unaligned",
                            "match-ids",
                            "match-names",
                            "anomaly-bit",
                            "jw-anomaly-rates",
                            "details",
                            "group-by-labels",
                            "natural-points",
                            "virtual-points",
                            "selected-tier",
                            "all-dimensions",
                            "label-quotes",
                            "objectrows",
                            "google_json"
                        ]
                    },
                    "example": [
                        "jsonwrap",
                        "minify"
                    ]
                },
                "scope": {
                    "description": "Scope defines the data that the agent must take into account in order to generate the response. Affects the response data and metadata.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.Scope"
                        }
                    ]
                },
                "selectors": {
                    "description": "Selectors act as filters when the agent generates the response, and can only affect response data, not metadata.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.Selectors"
                        }
                    ]
                },
                "timeout": {
                    "description": "Timeout defined in milliseconds.",
                    "type": "integer",
                    "default": 10000,
                    "example": 12000
                },
                "window": {
                    "description": "Window defines the time-frame of a query.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.Window"
                        }
                    ]
                }
            }
        },
        "model.ScopeDataResponse": {
            "type": "object",
            "properties": {
                "agents": {
                    "description": "The Agents consulted to compose this response.",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.AgentSummary"
                    }
                },
                "api": {
                    "description": "The API version used.",
                    "type": "integer",
                    "example": 2
                },
                "db": {
                    "description": "Summarized Agent DB related information",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.DB"
                        }
                    ]
                },
                "functions": {
                    "description": "A list of the supported Functions",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "result": {
                    "description": "The composite data query Result",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.Result"
                        }
                    ]
                },
                "summary": {
                    "description": "Summarized information about nodes, contexts, instances, labels, alerts, and dimensions. The items returned are determined by the scope of the query only, however the statistical data in them are influenced by the filters of the query. Using this information the dashboard allows users to slice and dice the data by filtering and grouping.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.Summary"
                        }
                    ]
                },
                "timings": {
                    "description": "Timing information regarding the various phases of the composite query",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.Timings"
                        }
                    ]
                },
                "totals": {
                    "description": "A summary of the Totals of Nodes, Contexts, Instances, Dimensions and Labels",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.Totals"
                        }
                    ]
                },
                "versions": {
                    "description": "Hashes that allow the caller to detect important database changes of Netdata Agents.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.Versions"
                        }
                    ]
                },
                "view": {
                    "description": "View includes presentation related details",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.View"
                        }
                    ]
                }
            }
        },
        "model.ScopeWeightsRequest": {
            "type": "object",
            "properties": {
                "aggregations": {
                    "$ref": "#/definitions/model.Aggregations"
                },
                "cardinality_limit": {
                    "description": "CardinalityLimit is the same cap as limit and wins when both are supplied.",
                    "type": "integer",
                    "minimum": 0,
                    "example": 1000
                },
                "limit": {
                    "description": "Limit caps the response to the strongest entries: dimensions for full results, groups for grouped results.\nOmitted, null or zero means unlimited. Alias of cardinality_limit, which takes precedence when both are supplied.\nFull results spanning several nodes are cut on every node before they are merged, so their normalized weights\nare ranks within the merged returned dimensions rather than within the whole query.",
                    "type": "integer",
                    "minimum": 0,
                    "example": 1000
                },
                "method": {
                    "type": "string"
                },
                "options": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "scope": {
                    "$ref": "#/definitions/model.Scope"
                },
                "selectors": {
                    "$ref": "#/definitions/model.Selectors"
                },
                "timeout": {
                    "type": "integer"
                },
                "window": {
                    "$ref": "#/definitions/model.Window"
                }
            }
        },
        "model.ScopeWeightsResponse": {
            "type": "object",
            "properties": {
                "agents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.AgentSummary"
                    }
                },
                "api": {
                    "type": "integer"
                },
                "correlated_dimensions": {
                    "type": "integer"
                },
                "db": {
                    "$ref": "#/definitions/model.WeightsDB"
                },
                "dictionaries": {
                    "$ref": "#/definitions/model.WeightsDictionaries"
                },
                "request": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "result": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "result_limit": {
                    "description": "ResultLimit is present only when the request carried a positive limit.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.WeightsResultLimit"
                        }
                    ]
                },
                "schema": {
                    "$ref": "#/definitions/model.WeightsSchema"
                },
                "total_dimensions_count": {
                    "type": "integer"
                },
                "v_schema": {
                    "$ref": "#/definitions/model.WeightsSchema"
                },
                "versions": {
                    "$ref": "#/definitions/model.Versions"
                },
                "view": {
                    "$ref": "#/definitions/model.WeightsView"
                }
            }
        },
        "model.Selectors": {
            "type": "object",
            "properties": {
                "alerts": {
                    "description": "A simple pattern matching the alerts to be queried. The simple pattern is checked against the name of alerts and the combination of name:status, when status is one of CLEAR, WARNING, CRITICAL, REMOVED, UNDEFINED, UNINITIALIZED, of all the alerts of all the eligible instances (as filtered by all the above). A negative simple pattern will exclude the instances having the labels matched.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "*"
                    ]
                },
                "contexts": {
                    "description": "A simple pattern matching the contexts to be queried. This only controls the data response, not the metadata. Both positive and negative simple pattern expressions are supported.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "*"
                    ]
                },
                "dimensions": {
                    "description": "A simple patterns matching the dimensions to be queried. The simple pattern is checked against and id and the name of the dimensions of the eligible instances (as filtered by all the above). Both positive and negative simple pattern expressions are supported.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "sent",
                        "received"
                    ]
                },
                "instances": {
                    "description": "A simple pattern matching the instances to be queried. The simple pattern is checked against the instance id, the instance name, the fully qualified name of the instance id and name, like instance@machine_guid, where instance is either its id or name. Both positive and negative simple pattern expressions are supported.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "instance1@machine_guid1",
                        "instance2@machine_guid1",
                        "instanceX@machine_guidX"
                    ]
                },
                "labels": {
                    "description": "A simple pattern matching the labels to be queried. The simple pattern is checked against name:value of all the labels of all the eligible instances (as filtered by all the above: scope nodes, scope contexts, nodes, contexts and instances). Negative simple patterns should not be used in this filter.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "*"
                    ]
                },
                "nodes": {
                    "description": "A simple pattern matching the nodes to be queried. This only controls the data response, not the metadata. The simple pattern is checked against the nodes' machine guid, node id, hostname. The default nodes selector is all the nodes matched by the nodes scope. Both positive and negative simple pattern expressions are supported.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "*"
                    ]
                }
            }
        },
        "model.StatsArray": {
            "type": "object",
            "properties": {
                "arc": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    }
                },
                "arp": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    }
                },
                "avg": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    }
                },
                "cnt": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    }
                },
                "con": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    }
                },
                "max": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    }
                },
                "min": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    }
                },
                "sum": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    }
                },
                "vol": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    }
                }
            }
        },
        "model.Summary": {
            "type": "object",
            "properties": {
                "alerts": {
                    "description": "An array of all the unique alerts running, grouped by alert name",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.AlertSummary"
                    }
                },
                "contexts": {
                    "description": "Summary of the related Contexts",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.ContextSummary"
                    }
                },
                "dimensions": {
                    "description": "Summary of the related Dimensions",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.DimensionSummary"
                    }
                },
                "globals": {
                    "description": "Provides global statistics for all entities including the following aggregate values `min`, `max`, `sum`, `volume`, `count` and `anomaly-rate-count`",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.GlobalSummary"
                        }
                    ]
                },
                "instances": {
                    "description": "Summary of the related Instances",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.InstanceSummary"
                    }
                },
                "labels": {
                    "description": "Summary of the related Labels",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.LabelSummary"
                    }
                },
                "nodes": {
                    "description": "Summary of the related nodes",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.NodeSummary"
                    }
                }
            }
        },
        "model.Tier": {
            "type": "object",
            "properties": {
                "first_entry": {
                    "type": "integer"
                },
                "last_entry": {
                    "type": "integer"
                },
                "points": {
                    "type": "integer"
                },
                "queries": {
                    "type": "integer"
                },
                "tier": {
                    "type": "integer"
                },
                "update_every": {
                    "type": "integer"
                }
            }
        },
        "model.TimeAggregation": {
            "type": "object",
            "properties": {
                "time_group": {
                    "description": "Time aggregation function. If multiple collected values are to be grouped in order to return fewer points, this parameters defines the method of grouping. If the `absolute` option is set, the values are turned positive before applying this calculation.",
                    "type": "string",
                    "default": "average",
                    "enum": [
                        "min",
                        "max",
                        "avg",
                        "average",
                        "median",
                        "stddev",
                        "sum",
                        "incremental-sum",
                        "ses",
                        "des",
                        "cv",
                        "countif",
                        "percentile",
                        "percentile25",
                        "percentile50",
                        "percentile75",
                        "percentile80",
                        "percentile90",
                        "percentile95",
                        "percentile97",
                        "percentile98",
                        "percentile99",
                        "trimmed-mean",
                        "trimmed-mean1",
                        "trimmed-mean2",
                        "trimmed-mean3",
                        "trimmed-mean5",
                        "trimmed-mean10",
                        "trimmed-mean15",
                        "trimmed-mean20",
                        "trimmed-mean25",
                        "trimmed-median",
                        "trimmed-median1",
                        "trimmed-median2",
                        "trimmed-median3",
                        "trimmed-median5",
                        "trimmed-median10",
                        "trimmed-median15",
                        "trimmed-median20",
                        "trimmed-median25"
                    ],
                    "example": "min"
                },
                "time_group_options": {
                    "description": "When the time grouping function supports additional parameters, this field can be used to pass them to it.",
                    "type": "string",
                    "enum": [
                        "countif",
                        "trimmed-mean",
                        "trimmed-median",
                        "percentile"
                    ],
                    "example": "countif"
                },
                "time_resampling": {
                    "description": "For incremental values that are \"per second\", this value is used to resample them to \"per minute` (60) or \"per hour\" (3600). It can only be used when `time_group` function is `average`.",
                    "type": "integer",
                    "example": 60
                }
            }
        },
        "model.Timings": {
            "type": "object",
            "properties": {
                "adc_ms": {
                    "type": "number"
                },
                "adc_queue_wait_ms": {
                    "type": "number"
                },
                "cloud_ms": {
                    "type": "number"
                },
                "node_max_ms": {
                    "type": "number"
                },
                "output_ms": {
                    "type": "number"
                },
                "prep_ms": {
                    "type": "number"
                },
                "query_ms": {
                    "type": "number"
                },
                "routing_ms": {
                    "type": "number"
                },
                "total_ms": {
                    "type": "number"
                }
            }
        },
        "model.Totals": {
            "type": "object",
            "properties": {
                "contexts": {
                    "description": "A breakdown summary of the Contexts by outcome and filter",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.ItemsCount"
                        }
                    ]
                },
                "dimensions": {
                    "description": "A breakdown summary of the Dimensions by outcome and filter",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.ItemsCount"
                        }
                    ]
                },
                "instances": {
                    "description": "A breakdown summary of the Instances by outcome and filter",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.ItemsCount"
                        }
                    ]
                },
                "label_key_values": {
                    "description": "A breakdown summary of the LabelKeyValues by outcome and filter",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.ItemsCount"
                        }
                    ]
                },
                "label_keys": {
                    "description": "A breakdown summary of the LabelKeys by outcome and filter",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.ItemsCount"
                        }
                    ]
                },
                "nodes": {
                    "description": "A breakdown summary of the Nodes by outcome and filter",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.ItemsCount"
                        }
                    ]
                }
            }
        },
        "model.Versions": {
            "type": "object",
            "properties": {
                "alerts_hard_hash": {
                    "description": "An auto-increment value that reflects the number of changes to the number of alerts. Everytime an alert is added or removed, this number gets incremented.",
                    "type": "integer"
                },
                "alerts_soft_hash": {
                    "description": "An auto-increment value that reflects the number of alerts transitions. Everytime an alert transitions to a new state, this number gets incremented.",
                    "type": "integer"
                },
                "contexts_hard_hash": {
                    "description": "An auto-increment value that reflects the number of changes to the number of contexts maintained by the server. Everytime a context is added or removed, this number gets incremented.",
                    "type": "integer"
                },
                "contexts_soft_hash": {
                    "description": "An auto-increment value that reflects the number of changes to the queue that sends contexts updates to Netdata Cloud. Everytime the contents of a context are updated, this number gets incremented.",
                    "type": "integer"
                },
                "nodes_hard_hash": {
                    "description": "An auto-increment value that reflects the number of changes to the number of nodes maintained by the server. Everytime a node is added or removed, this number gets incremented.",
                    "type": "integer"
                },
                "routing_hard_hash": {
                    "description": "An auto-increment value that reflects the number of changes to the streaming routes of the server.",
                    "type": "integer"
                }
            }
        },
        "model.View": {
            "type": "object",
            "properties": {
                "after": {
                    "description": "The oldest unix epoch timestamp of the data returned",
                    "type": "integer"
                },
                "before": {
                    "description": "The newest unix epoch timestamp of the data returned",
                    "type": "integer"
                },
                "cardinality": {
                    "description": "Present when the agent's cardinality fold ran: how many dimensions were folded into 'remaining' and the largest folded |sum| contribution (the ranking cut). Cloud uses the cut to prove whether a merged top-N is exact.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.ViewCardinality"
                        }
                    ]
                },
                "chart_type": {
                    "description": "The default chart type of the query",
                    "type": "string"
                },
                "dimensions": {
                    "description": "Detailed information about the chart dimensions included in the response",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.ViewDimensions"
                        }
                    ]
                },
                "max": {
                    "description": "The maximum value of all points included in the result.",
                    "type": "number"
                },
                "min": {
                    "description": "The minimum value of all points included in the",
                    "type": "number"
                },
                "partial_data_trimming": {
                    "description": "Holds information related to trimming the last few partial points of the result. Raw Agent responses may carry this metadata so Cloud can trim aggregated multi-agent results.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.PartialDataTrimming"
                        }
                    ]
                },
                "points": {
                    "description": "The number of points in result. Available only when `raw` option is provided",
                    "type": "integer"
                },
                "title": {
                    "description": "The title the chart should have",
                    "type": "string"
                },
                "units": {
                    "description": "The units of the query.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "update_every": {
                    "description": "The UpdateEvery interval in seconds",
                    "type": "integer"
                }
            }
        },
        "model.ViewCardinality": {
            "type": "object",
            "properties": {
                "cut": {
                    "description": "The largest folded |sum| contribution - the ranking cut. A pointer:\nagents serialize non-finite doubles as JSON null, and a missing or\nnull cut must be distinguishable from a genuine zero - it voids the\ncertificate instead of silently lowering its bar",
                    "type": "number"
                },
                "folded": {
                    "description": "The number of dimensions folded into the 'remaining' aggregate",
                    "type": "integer"
                }
            }
        },
        "model.ViewDimensions": {
            "type": "object",
            "properties": {
                "aggregated": {
                    "description": "An array with the number of source metrics aggregated into each dimension.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "grouped_by": {
                    "description": "An array with the order of the groupings performed.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "ids": {
                    "description": "An array with the dimension ids that uniquely identify the dimensions for this query.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "labels": {
                    "description": "The labels associated with each dimension in the query. This object is only available when the `group-by-labels` option is provided.",
                    "type": "object",
                    "additionalProperties": {
                        "type": "array",
                        "items": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                },
                "names": {
                    "description": "An array with the dimension names to be presented to users. Names may be overlapping, but IDs are not.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "priorities": {
                    "description": "An array with the relative priorities of the dimensions. Numbers may not be sequential or unique. The application is expected to order by this and then by name.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "sts": {
                    "description": "Statistics about the view points for each dimension",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.StatsArray"
                        }
                    ]
                },
                "units": {
                    "description": "An array with the units each dimension includes.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "model.WeightsContextSummary": {
            "type": "object",
            "properties": {
                "ci": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "units": {
                    "type": "string"
                }
            }
        },
        "model.WeightsDB": {
            "type": "object",
            "properties": {
                "binary_searches": {
                    "type": "integer"
                },
                "db_points_per_tier": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "db_points_read": {
                    "type": "integer"
                },
                "db_queries": {
                    "type": "integer"
                },
                "query_result_points": {
                    "type": "integer"
                },
                "query_time_ms": {
                    "type": "number"
                }
            }
        },
        "model.WeightsDictionaries": {
            "type": "object",
            "properties": {
                "contexts": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.WeightsContextSummary"
                    }
                },
                "dimensions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.WeightsDimensionSummary"
                    }
                },
                "instances": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.WeightsInstanceSummary"
                    }
                },
                "nodes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.WeightsNodeSummary"
                    }
                }
            }
        },
        "model.WeightsDimensionSummary": {
            "type": "object",
            "properties": {
                "di": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                }
            }
        },
        "model.WeightsInstanceSummary": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "ii": {
                    "type": "integer"
                }
            }
        },
        "model.WeightsNodeSummary": {
            "type": "object",
            "properties": {
                "mg": {
                    "type": "string"
                },
                "nd": {
                    "type": "string"
                },
                "ni": {
                    "type": "integer"
                },
                "nm": {
                    "type": "string"
                },
                "st": {
                    "$ref": "#/definitions/model.NodeStatus"
                }
            }
        },
        "model.WeightsResultLimit": {
            "type": "object",
            "properties": {
                "limit": {
                    "description": "Limit is the effective requested cap after alias resolution.",
                    "type": "integer",
                    "example": 1000
                },
                "returned": {
                    "description": "Returned is the number of entries in the response, excluding summary rows.",
                    "type": "integer",
                    "example": 1000
                },
                "summary_scope": {
                    "description": "SummaryScope is \"all\": retained instance, context and node rows, total_dimensions_count and correlated_dimensions\ndescribe the complete query, not the returned subset.",
                    "type": "string",
                    "enum": [
                        "all"
                    ]
                },
                "total": {
                    "description": "Total is the number of entries eligible for the cut: correlated dimensions across every node for full results\n(the population of correlated_dimensions, not total_dimensions_count), merged groups for grouped results.",
                    "type": "integer",
                    "example": 25000
                },
                "truncated": {
                    "description": "Truncated is true exactly when total exceeds returned.",
                    "type": "boolean"
                },
                "unit": {
                    "description": "Unit is \"dimensions\" for full results or \"groups\" for grouped results.",
                    "type": "string",
                    "enum": [
                        "dimensions",
                        "groups"
                    ]
                }
            }
        },
        "model.WeightsSchema": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.WeightsSchemaItem"
                    }
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "model.WeightsSchemaItem": {
            "type": "object",
            "properties": {
                "calculations": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "dictionary": {
                    "type": "string"
                },
                "labels": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "name": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "value": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "model.WeightsView": {
            "type": "object",
            "properties": {
                "baseline": {
                    "$ref": "#/definitions/model.WindowSpan"
                },
                "format": {
                    "type": "string"
                },
                "time_group": {
                    "type": "string"
                },
                "window": {
                    "$ref": "#/definitions/model.WindowSpan"
                }
            }
        },
        "model.Window": {
            "type": "object",
            "properties": {
                "after": {
                    "description": "After can be a negative number of seconds, up to 3 years (-94608000), relative to before. If not set, it is usually assumed to be -600. When non-data endpoints support the after and before, they use the time-frame to limit their response for objects having data retention within the time-frame given.",
                    "type": "integer",
                    "example": 1745928492
                },
                "baseline": {
                    "$ref": "#/definitions/model.WindowSpan"
                },
                "before": {
                    "description": "Before can be a negative number of seconds, up to 3 years (-94608000), relative to current clock. If not set, it is assumed to be the current clock time. When before is positive, it is assumed to be a unix epoch timestamp. When non-data endpoints support the after and before, they use the time-frame to limit their response for objects having data retention within the time-frame given.",
                    "type": "integer",
                    "example": 1745929392
                },
                "duration": {
                    "type": "integer"
                },
                "points": {
                    "description": "The number of points to be returned. If not given, or it is \u003c= 0, or it is bigger than the points stored in the database for the given duration, all the available collected values for the given duration will be returned.",
                    "type": "integer",
                    "example": 100
                },
                "tier": {
                    "description": "Use only the given dbengine tier for executing the query.",
                    "type": "integer"
                }
            }
        },
        "model.WindowSpan": {
            "type": "object",
            "properties": {
                "after": {
                    "description": "After can be a negative number of seconds, up to 3 years (-94608000), relative to before. If not set, it is usually assumed to be -600. When non-data endpoints support the after and before, they use the time-frame to limit their response for objects having data retention within the time-frame given.",
                    "type": "integer",
                    "example": 1745928492
                },
                "before": {
                    "description": "Before can be a negative number of seconds, up to 3 years (-94608000), relative to current clock. If not set, it is assumed to be the current clock time. When before is positive, it is assumed to be a unix epoch timestamp. When non-data endpoints support the after and before, they use the time-frame to limit their response for objects having data retention within the time-frame given.",
                    "type": "integer",
                    "example": 1745929392
                },
                "duration": {
                    "type": "integer"
                },
                "points": {
                    "description": "The number of points to be returned. If not given, or it is \u003c= 0, or it is bigger than the points stored in the database for the given duration, all the available collected values for the given duration will be returned.",
                    "type": "integer",
                    "example": 100
                }
            }
        }
    },
    "securityDefinitions": {
        "Bearer": {
            "description": "Type \"Bearer\" followed by a space and JWT token.",
            "type": "apiKey",
            "name": "Authorization",
            "in": "header"
        }
    }
}