{
  "openapi": "3.1.0",
  "info": {
    "title": "SandboxAPIs — Grafana (paths only)",
    "version": "coverage-manifest-rev-5",
    "summary": "The 103 read paths SandboxAPIs serves on Grafana.",
    "description": "Every read SandboxAPIs serves on Grafana, pointed at https://grafana.sandboxapis.dev.\n\n103 requests, one per served row of our coverage manifest. PATHS ONLY: this file carries no request or\nresponse schema, because a schema is the part of an API description we do not own. It is generated from\ncoverage/COVERAGE_MANIFEST.yaml — our own record of what THIS host answers — and never from a vendor's\npublished specification, several of which may not be redistributed.\n\nThe host is read-only. Every write verb answers the provider's own error shape with a message naming what was\nattempted; the \"Read-only refusal, on purpose\" folder holds one so the shape is discoverable.\n\nNo credentials are needed — any value in `apiKey` is accepted, and a real SandboxAPIs key only raises the rate\nlimit. Path variables left blank are identifiers that move when the live host re-rolls; fill them from a list\nresponse."
  },
  "servers": [
    {
      "url": "https://grafana.sandboxapis.dev",
      "description": "The live Grafana host"
    }
  ],
  "security": [
    {
      "sandboxapisKey": []
    }
  ],
  "components": {
    "securitySchemes": {
      "sandboxapisKey": {
        "type": "http",
        "scheme": "bearer",
        "description": "Authorization: Bearer <key> (the slot a Grafana service-account token rides in)"
      }
    }
  },
  "paths": {
    "/access-control/{resource}/description": {
      "get": {
        "summary": "GET /access-control/{resource}/description",
        "operationId": "get_access-control_resource_description",
        "tags": [
          "access_control"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "resource",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/admin/stats": {
      "get": {
        "summary": "GET /admin/stats",
        "operationId": "get_admin_stats",
        "tags": [
          "admin"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/admin/users/{user_id}/auth-tokens": {
      "get": {
        "summary": "GET /admin/users/{user_id}/auth-tokens",
        "operationId": "get_admin_users_user_id_auth-tokens",
        "tags": [
          "admin"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. The data set records no browser sign-in to its Grafana, so no user holds a session token, and each user's list is the CAPTURED empty array (2026-10-24)",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/alertmanager/grafana/api/v2/alerts": {
      "get": {
        "summary": "GET /alertmanager/grafana/api/v2/alerts",
        "operationId": "get_alertmanager_grafana_api_v2_alerts",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/alertmanager/grafana/api/v2/alerts/groups": {
      "get": {
        "summary": "GET /alertmanager/grafana/api/v2/alerts/groups",
        "operationId": "get_alertmanager_grafana_api_v2_alerts_groups",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/alertmanager/grafana/api/v2/silences": {
      "get": {
        "summary": "GET /alertmanager/grafana/api/v2/silences",
        "operationId": "get_alertmanager_grafana_api_v2_silences",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. This data set models planned work as PagerDuty maintenance windows, not as Grafana silences, so the built-in alertmanager holds none, and its list is the CAPTURED empty array (2026-10-24)",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/alertmanager/grafana/api/v2/status": {
      "get": {
        "summary": "GET /alertmanager/grafana/api/v2/status",
        "operationId": "get_alertmanager_grafana_api_v2_status",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/alertmanager/grafana/config/api/v1/alerts": {
      "get": {
        "summary": "GET /alertmanager/grafana/config/api/v1/alerts",
        "operationId": "get_alertmanager_grafana_config_api_v1_alerts",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/alertmanager/grafana/config/api/v1/receivers": {
      "get": {
        "summary": "GET /alertmanager/grafana/config/api/v1/receivers",
        "operationId": "get_alertmanager_grafana_config_api_v1_receivers",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/alertmanager/grafana/config/history": {
      "get": {
        "summary": "GET /alertmanager/grafana/config/history",
        "operationId": "get_alertmanager_grafana_config_history",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/annotations": {
      "get": {
        "summary": "GET /annotations",
        "operationId": "get_annotations",
        "tags": [
          "annotations"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/annotations/{annotation_id}": {
      "get": {
        "summary": "GET /annotations/{annotation_id}",
        "operationId": "get_annotations_annotation_id",
        "tags": [
          "annotations"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "annotation_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/annotations/tags": {
      "get": {
        "summary": "GET /annotations/tags",
        "operationId": "get_annotations_tags",
        "tags": [
          "annotations"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/anonymous/devices": {
      "get": {
        "summary": "GET /anonymous/devices",
        "operationId": "get_anonymous_devices",
        "tags": [
          "admin"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Anonymous access is off on this data set's Grafana (/api/frontend/settings reports anonymousEnabled false), so no anonymous device was ever seen, and the list is the CAPTURED empty array (2026-10-24)",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/anonymous/search": {
      "get": {
        "summary": "GET /anonymous/search",
        "operationId": "get_anonymous_search",
        "tags": [
          "admin"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Anonymous access is off on this data set's Grafana, so no anonymous device was ever seen, and the search is the CAPTURED empty {totalCount: 0, devices: [], page, perPage} (2026-10-24)",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/cloudmigration/migration": {
      "get": {
        "summary": "GET /cloudmigration/migration",
        "operationId": "get_cloudmigration_migration",
        "tags": [
          "migrations"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. This data set's Grafana has never been migrated to a Grafana Cloud stack, so the session list is the CAPTURED empty {sessions: []} (2026-10-24)",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/cloudmigration/migration/{uid}/snapshots": {
      "get": {
        "summary": "GET /cloudmigration/migration/{uid}/snapshots",
        "operationId": "get_cloudmigration_migration_uid_snapshots",
        "tags": [
          "migrations"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No cloud migration session exists, so no snapshot does either, and OSS 13.2.4 answers the list for any session id with the CAPTURED empty {snapshots: []} (2026-10-24)",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "uid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/convert/api/prom/rules": {
      "get": {
        "summary": "GET /convert/api/prom/rules",
        "operationId": "get_convert_api_prom_rules",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. The Cortex-compatible form of the conversion list beside it: no rule was imported from a Prometheus rule file, so it is the CAPTURED empty YAML document {} (2026-10-24)",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/convert/prometheus/config/v1/rules": {
      "get": {
        "summary": "GET /convert/prometheus/config/v1/rules",
        "operationId": "get_convert_prometheus_config_v1_rules",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No rule was imported into this data set's Grafana from a Prometheus rule file (its rules are Grafana-managed), so the conversion API's list is the CAPTURED empty YAML document {} (2026-10-24)",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/dashboard/snapshots": {
      "get": {
        "summary": "GET /dashboard/snapshots",
        "operationId": "get_dashboard_snapshots",
        "tags": [
          "dashboards"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No dashboard snapshot was ever taken in this data set's Grafana, so the snapshot search is the CAPTURED empty array (2026-10-24)",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/dashboards/public-dashboards": {
      "get": {
        "summary": "GET /dashboards/public-dashboards",
        "operationId": "get_dashboards_public-dashboards",
        "tags": [
          "dashboards"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No dashboard in this data set's Grafana is published as a public dashboard, so the list is the CAPTURED empty {publicDashboards: [], totalCount: 0, page, perPage} (2026-10-24)",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/dashboards/tags": {
      "get": {
        "summary": "GET /dashboards/tags",
        "operationId": "get_dashboards_tags",
        "tags": [
          "dashboards"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/dashboards/uid/{uid}": {
      "get": {
        "summary": "GET /dashboards/uid/{uid}",
        "operationId": "get_dashboards_uid_uid",
        "tags": [
          "dashboards"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "uid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/dashboards/uid/{uid}/permissions": {
      "get": {
        "summary": "GET /dashboards/uid/{uid}/permissions",
        "operationId": "get_dashboards_uid_uid_permissions",
        "tags": [
          "dashboards"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Every dashboard in this data set's Grafana is provisioned into its team's folder and carries no permission of its own (it inherits the folder's, which /folders/{folder_uid}/permissions serves), and a provisioned dashboard's own list is CAPTURED as [] (2026-10-24)",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "uid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/dashboards/uid/{uid}/versions": {
      "get": {
        "summary": "GET /dashboards/uid/{uid}/versions",
        "operationId": "get_dashboards_uid_uid_versions",
        "tags": [
          "dashboards"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "uid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/dashboards/uid/{uid}/versions/{DashboardVersionID}": {
      "get": {
        "summary": "GET /dashboards/uid/{uid}/versions/{DashboardVersionID}",
        "operationId": "get_dashboards_uid_uid_versions_DashboardVersionID",
        "tags": [
          "dashboards"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "uid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "DashboardVersionID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/datasources": {
      "get": {
        "summary": "GET /datasources",
        "operationId": "get_datasources",
        "tags": [
          "datasources"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/datasources/correlations": {
      "get": {
        "summary": "GET /datasources/correlations",
        "operationId": "get_datasources_correlations",
        "tags": [
          "datasources"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No correlation between datasources is configured (this data set's Grafana has one datasource), so the list is the CAPTURED empty {correlations: [], totalCount: 0, ...} (2026-10-24)",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/datasources/id/{name}": {
      "get": {
        "summary": "GET /datasources/id/{name}",
        "operationId": "get_datasources_id_name",
        "tags": [
          "datasources"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/datasources/name/{name}": {
      "get": {
        "summary": "GET /datasources/name/{name}",
        "operationId": "get_datasources_name_name",
        "tags": [
          "datasources"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/datasources/proxy/uid/{uid}/{datasource_proxy_route}": {
      "get": {
        "summary": "GET /datasources/proxy/uid/{uid}/{datasource_proxy_route}",
        "operationId": "get_datasources_proxy_uid_uid_datasource_proxy_route",
        "tags": [
          "datasources"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "uid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "datasource_proxy_route",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      },
      "post": {
        "summary": "POST /datasources/proxy/uid/{uid}/{datasource_proxy_route}",
        "operationId": "post_datasources_proxy_uid_uid_datasource_proxy_route",
        "tags": [
          "datasources"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "uid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "datasource_proxy_route",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/datasources/uid/{sourceUID}/correlations": {
      "get": {
        "summary": "GET /datasources/uid/{sourceUID}/correlations",
        "operationId": "get_datasources_uid_sourceUID_correlations",
        "tags": [
          "datasources"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. The one datasource has no correlation configured, so its list is the CAPTURED empty array (2026-10-24)",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "sourceUID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/datasources/uid/{uid}": {
      "get": {
        "summary": "GET /datasources/uid/{uid}",
        "operationId": "get_datasources_uid_uid",
        "tags": [
          "datasources"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "uid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/datasources/uid/{uid}/health": {
      "get": {
        "summary": "GET /datasources/uid/{uid}/health",
        "operationId": "get_datasources_uid_uid_health",
        "tags": [
          "datasources"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "uid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/datasources/uid/{uid}/resources/{datasource_proxy_route}": {
      "get": {
        "summary": "GET /datasources/uid/{uid}/resources/{datasource_proxy_route}",
        "operationId": "get_datasources_uid_uid_resources_datasource_proxy_route",
        "tags": [
          "datasources"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "uid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "datasource_proxy_route",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/ds/query": {
      "post": {
        "summary": "POST /ds/query",
        "operationId": "post_ds_query",
        "tags": [
          "datasources"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/folders": {
      "get": {
        "summary": "GET /folders",
        "operationId": "get_folders",
        "tags": [
          "folders"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/folders/{folder_uid}": {
      "get": {
        "summary": "GET /folders/{folder_uid}",
        "operationId": "get_folders_folder_uid",
        "tags": [
          "folders"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "folder_uid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/folders/{folder_uid}/counts": {
      "get": {
        "summary": "GET /folders/{folder_uid}/counts",
        "operationId": "get_folders_folder_uid_counts",
        "tags": [
          "folders"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "folder_uid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/folders/{folder_uid}/permissions": {
      "get": {
        "summary": "GET /folders/{folder_uid}/permissions",
        "operationId": "get_folders_folder_uid_permissions",
        "tags": [
          "folders"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "folder_uid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/health": {
      "get": {
        "summary": "GET /health",
        "operationId": "get_health",
        "tags": [
          "health"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/library-elements": {
      "get": {
        "summary": "GET /library-elements",
        "operationId": "get_library-elements",
        "tags": [
          "library_elements"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No library panel or variable was created in this data set's Grafana (its dashboards carry their panels inline), so the search is the CAPTURED empty {result: {totalCount: 0, elements: [], ...}} (2026-10-24)",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/org": {
      "get": {
        "summary": "GET /org",
        "operationId": "get_org",
        "tags": [
          "org"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/org/invites": {
      "get": {
        "summary": "GET /org/invites",
        "operationId": "get_org_invites",
        "tags": [
          "org"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/org/preferences": {
      "get": {
        "summary": "GET /org/preferences",
        "operationId": "get_org_preferences",
        "tags": [
          "org"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/org/users": {
      "get": {
        "summary": "GET /org/users",
        "operationId": "get_org_users",
        "tags": [
          "org"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/org/users/lookup": {
      "get": {
        "summary": "GET /org/users/lookup",
        "operationId": "get_org_users_lookup",
        "tags": [
          "org"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/orgs": {
      "get": {
        "summary": "GET /orgs",
        "operationId": "get_orgs",
        "tags": [
          "org"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/orgs/{org_id}": {
      "get": {
        "summary": "GET /orgs/{org_id}",
        "operationId": "get_orgs_org_id",
        "tags": [
          "org"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/orgs/{org_id}/users": {
      "get": {
        "summary": "GET /orgs/{org_id}/users",
        "operationId": "get_orgs_org_id_users",
        "tags": [
          "org"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/orgs/{org_id}/users/search": {
      "get": {
        "summary": "GET /orgs/{org_id}/users/search",
        "operationId": "get_orgs_org_id_users_search",
        "tags": [
          "org"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/orgs/name/{org_name}": {
      "get": {
        "summary": "GET /orgs/name/{org_name}",
        "operationId": "get_orgs_name_org_name",
        "tags": [
          "org"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "org_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/playlists": {
      "get": {
        "summary": "GET /playlists",
        "operationId": "get_playlists",
        "tags": [
          "playlists"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No playlist was created in this data set's Grafana, so the list is the CAPTURED empty array (2026-10-24)",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/prometheus/{DatasourceUID}/api/v1/alerts": {
      "get": {
        "summary": "GET /prometheus/{DatasourceUID}/api/v1/alerts",
        "operationId": "get_prometheus_DatasourceUID_api_v1_alerts",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "DatasourceUID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/prometheus/{DatasourceUID}/api/v1/rules": {
      "get": {
        "summary": "GET /prometheus/{DatasourceUID}/api/v1/rules",
        "operationId": "get_prometheus_DatasourceUID_api_v1_rules",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "DatasourceUID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/prometheus/grafana/api/v1/alerts": {
      "get": {
        "summary": "GET /prometheus/grafana/api/v1/alerts",
        "operationId": "get_prometheus_grafana_api_v1_alerts",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/prometheus/grafana/api/v1/rules": {
      "get": {
        "summary": "GET /prometheus/grafana/api/v1/rules",
        "operationId": "get_prometheus_grafana_api_v1_rules",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/query-history": {
      "get": {
        "summary": "GET /query-history",
        "operationId": "get_query-history",
        "tags": [
          "query_history"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. The data set records no Explore session in its Grafana, so no query is in anyone's history, and the search is the CAPTURED empty {result: {totalCount: 0, queryHistory: null, ...}} (2026-10-24)",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/ruler/grafana/api/v1/export/rules": {
      "get": {
        "summary": "GET /ruler/grafana/api/v1/export/rules",
        "operationId": "get_ruler_grafana_api_v1_export_rules",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/ruler/grafana/api/v1/rule/{RuleUID}": {
      "get": {
        "summary": "GET /ruler/grafana/api/v1/rule/{RuleUID}",
        "operationId": "get_ruler_grafana_api_v1_rule_RuleUID",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "RuleUID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/ruler/grafana/api/v1/rule/{RuleUID}/versions": {
      "get": {
        "summary": "GET /ruler/grafana/api/v1/rule/{RuleUID}/versions",
        "operationId": "get_ruler_grafana_api_v1_rule_RuleUID_versions",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "RuleUID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/ruler/grafana/api/v1/rules": {
      "get": {
        "summary": "GET /ruler/grafana/api/v1/rules",
        "operationId": "get_ruler_grafana_api_v1_rules",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/ruler/grafana/api/v1/rules/{Namespace}": {
      "get": {
        "summary": "GET /ruler/grafana/api/v1/rules/{Namespace}",
        "operationId": "get_ruler_grafana_api_v1_rules_Namespace",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "Namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/ruler/grafana/api/v1/rules/{Namespace}/{Groupname}": {
      "get": {
        "summary": "GET /ruler/grafana/api/v1/rules/{Namespace}/{Groupname}",
        "operationId": "get_ruler_grafana_api_v1_rules_Namespace_Groupname",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "Namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Groupname",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/search": {
      "get": {
        "summary": "GET /search",
        "operationId": "get_search",
        "tags": [
          "search"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/serviceaccounts/{serviceAccountId}": {
      "get": {
        "summary": "GET /serviceaccounts/{serviceAccountId}",
        "operationId": "get_serviceaccounts_serviceAccountId",
        "tags": [
          "service_accounts"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "serviceAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/serviceaccounts/{serviceAccountId}/tokens": {
      "get": {
        "summary": "GET /serviceaccounts/{serviceAccountId}/tokens",
        "operationId": "get_serviceaccounts_serviceAccountId_tokens",
        "tags": [
          "service_accounts"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "serviceAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/serviceaccounts/search": {
      "get": {
        "summary": "GET /serviceaccounts/search",
        "operationId": "get_serviceaccounts_search",
        "tags": [
          "service_accounts"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/teams/{team_id}": {
      "get": {
        "summary": "GET /teams/{team_id}",
        "operationId": "get_teams_team_id",
        "tags": [
          "teams"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "team_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/teams/{team_id}/members": {
      "get": {
        "summary": "GET /teams/{team_id}/members",
        "operationId": "get_teams_team_id_members",
        "tags": [
          "teams"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "team_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/teams/{team_id}/preferences": {
      "get": {
        "summary": "GET /teams/{team_id}/preferences",
        "operationId": "get_teams_team_id_preferences",
        "tags": [
          "teams"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "team_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/teams/search": {
      "get": {
        "summary": "GET /teams/search",
        "operationId": "get_teams_search",
        "tags": [
          "teams"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/user": {
      "get": {
        "summary": "GET /user",
        "operationId": "get_user",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/user/auth-tokens": {
      "get": {
        "summary": "GET /user/auth-tokens",
        "operationId": "get_user_auth-tokens",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. The data set records no browser sign-in to its Grafana, so the caller holds no session token, and the list is the CAPTURED empty array (2026-10-24)",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/user/orgs": {
      "get": {
        "summary": "GET /user/orgs",
        "operationId": "get_user_orgs",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/user/preferences": {
      "get": {
        "summary": "GET /user/preferences",
        "operationId": "get_user_preferences",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/user/teams": {
      "get": {
        "summary": "GET /user/teams",
        "operationId": "get_user_teams",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/users": {
      "get": {
        "summary": "GET /users",
        "operationId": "get_users",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/users/{user_id}": {
      "get": {
        "summary": "GET /users/{user_id}",
        "operationId": "get_users_user_id",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/users/{user_id}/orgs": {
      "get": {
        "summary": "GET /users/{user_id}/orgs",
        "operationId": "get_users_user_id_orgs",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/users/{user_id}/teams": {
      "get": {
        "summary": "GET /users/{user_id}/teams",
        "operationId": "get_users_user_id_teams",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/users/lookup": {
      "get": {
        "summary": "GET /users/lookup",
        "operationId": "get_users_lookup",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/users/search": {
      "get": {
        "summary": "GET /users/search",
        "operationId": "get_users_search",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/v1/eval": {
      "post": {
        "summary": "POST /v1/eval",
        "operationId": "post_v1_eval",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/v1/ngalert": {
      "get": {
        "summary": "GET /v1/ngalert",
        "operationId": "get_v1_ngalert",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/v1/ngalert/alertmanagers": {
      "get": {
        "summary": "GET /v1/ngalert/alertmanagers",
        "operationId": "get_v1_ngalert_alertmanagers",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No external alertmanager is configured (alertmanagersChoice internal, numExternalAlertmanagers 0 on /v1/ngalert), so the discovery lists are the CAPTURED empty {activeAlertManagers: [], droppedAlertManagers: []} (2026-10-24)",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/v1/provisioning/alert-rules": {
      "get": {
        "summary": "GET /v1/provisioning/alert-rules",
        "operationId": "get_v1_provisioning_alert-rules",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/v1/provisioning/alert-rules/{UID}": {
      "get": {
        "summary": "GET /v1/provisioning/alert-rules/{UID}",
        "operationId": "get_v1_provisioning_alert-rules_UID",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/v1/provisioning/alert-rules/{UID}/export": {
      "get": {
        "summary": "GET /v1/provisioning/alert-rules/{UID}/export",
        "operationId": "get_v1_provisioning_alert-rules_UID_export",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/v1/provisioning/alert-rules/export": {
      "get": {
        "summary": "GET /v1/provisioning/alert-rules/export",
        "operationId": "get_v1_provisioning_alert-rules_export",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/v1/provisioning/contact-points": {
      "get": {
        "summary": "GET /v1/provisioning/contact-points",
        "operationId": "get_v1_provisioning_contact-points",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. This data set pages through PagerDuty's escalation policies, not through Grafana: the built-in alertmanager runs OSS 13.2.4's default configuration, whose one receiver (\"empty\") has no integration, so the contact point list is the CAPTURED empty array (2026-10-24)",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/v1/provisioning/contact-points/export": {
      "get": {
        "summary": "GET /v1/provisioning/contact-points/export",
        "operationId": "get_v1_provisioning_contact-points_export",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/v1/provisioning/folder/{FolderUID}/rule-groups/{Group}": {
      "get": {
        "summary": "GET /v1/provisioning/folder/{FolderUID}/rule-groups/{Group}",
        "operationId": "get_v1_provisioning_folder_FolderUID_rule-groups_Group",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "FolderUID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Group",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/v1/provisioning/folder/{FolderUID}/rule-groups/{Group}/export": {
      "get": {
        "summary": "GET /v1/provisioning/folder/{FolderUID}/rule-groups/{Group}/export",
        "operationId": "get_v1_provisioning_folder_FolderUID_rule-groups_Group_export",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "FolderUID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Group",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/v1/provisioning/mute-timings": {
      "get": {
        "summary": "GET /v1/provisioning/mute-timings",
        "operationId": "get_v1_provisioning_mute-timings",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No mute timing is configured in this data set's Grafana (planned work is PagerDuty maintenance windows), so the list is the CAPTURED empty array (2026-10-24)",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/v1/provisioning/mute-timings/export": {
      "get": {
        "summary": "GET /v1/provisioning/mute-timings/export",
        "operationId": "get_v1_provisioning_mute-timings_export",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/v1/provisioning/policies": {
      "get": {
        "summary": "GET /v1/provisioning/policies",
        "operationId": "get_v1_provisioning_policies",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/v1/provisioning/policies/export": {
      "get": {
        "summary": "GET /v1/provisioning/policies/export",
        "operationId": "get_v1_provisioning_policies_export",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/v1/provisioning/templates": {
      "get": {
        "summary": "GET /v1/provisioning/templates",
        "operationId": "get_v1_provisioning_templates",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No notification template is written in this data set's Grafana (it sends no notification of its own), so the list is the CAPTURED empty array (2026-10-24)",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/v1/rules/history": {
      "get": {
        "summary": "GET /v1/rules/history",
        "operationId": "get_v1_rules_history",
        "tags": [
          "alerting"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/v1/sso-settings": {
      "get": {
        "summary": "GET /v1/sso-settings",
        "operationId": "get_v1_sso-settings",
        "tags": [
          "admin"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/v1/sso-settings/{key}": {
      "get": {
        "summary": "GET /v1/sso-settings/{key}",
        "operationId": "get_v1_sso-settings_key",
        "tags": [
          "admin"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    }
  }
}
