> ## Documentation Index
> Fetch the complete documentation index at: https://altostrat.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get DNS Security Report

> Generates a DNS security report for a site based on the last 24 hours of data. The report includes top 10 blocked categories, top 10 blocked applications, and top 10 internal source IPs making blocked requests.



## OpenAPI

````yaml /api/en/monitoring-metrics.yaml get /metrics/dns-report/{siteId}
openapi: 3.0.3
info:
  title: Altostrat Monitoring & Metrics API
  version: 1.0.0
  description: >-
    Retrieve portal-facing metrics through the public `/metrics` gateway path,
    including dashboards, WAN tunnels, interfaces, ARP entries, syslogs, BGP,
    and DNS reports.
servers:
  - url: https://v1.api.altostrat.io
security:
  - bearerAuth: []
tags:
  - name: Dashboard
    description: High-level, aggregated metrics for network performance and data usage.
  - name: WAN Tunnels & Performance
    description: >-
      Endpoints for managing and retrieving performance data from SD-WAN
      tunnels.
  - name: Site Interfaces & Metrics
    description: >-
      Endpoints for listing network interfaces at a site and fetching their
      traffic metrics.
  - name: Device Health & Status
    description: Endpoints for monitoring the health and status of network devices.
  - name: ARP Inventory
    description: >-
      Endpoints for querying and managing the Address Resolution Protocol (ARP)
      table to discover devices on the network.
  - name: Network Logs
    description: Access to system, DNS, and BGP logs for diagnostics and security analysis.
  - name: Grafana Dashboards
    description: List Grafana dashboards, query dashboard panels, and export panel data.
  - name: Prometheus Querying
    description: >-
      Discover available metrics and labels, then execute Prometheus queries
      scoped to your workspace.
paths:
  /metrics/dns-report/{siteId}:
    get:
      tags:
        - Network Logs
      summary: Get DNS Security Report
      description: >-
        Generates a DNS security report for a site based on the last 24 hours of
        data. The report includes top 10 blocked categories, top 10 blocked
        applications, and top 10 internal source IPs making blocked requests.
      parameters:
        - $ref: '#/components/parameters/SiteId'
      responses:
        '200':
          description: The DNS security report.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnsReport'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '410':
          description: Gone - The specified site ID is incorrect or no longer exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  parameters:
    SiteId:
      name: siteId
      in: path
      required: true
      description: The unique identifier for the site.
      schema:
        type: string
        format: uuid
        example: d8f8f8f8-f8f8-f8f8-f8f8-f8f8f8f8f8f8
  schemas:
    DnsReport:
      type: object
      properties:
        top10Categories:
          type: array
          items:
            $ref: '#/components/schemas/DnsReportItem'
        top10Applications:
          type: array
          items:
            $ref: '#/components/schemas/DnsReportItem'
        top10SourceIps:
          type: array
          items:
            $ref: '#/components/schemas/DnsReportSourceIp'
    ErrorResponse:
      type: object
      properties:
        type:
          type: string
          description: A broad category for the error (e.g., 'invalid_request_error').
          example: invalid_request_error
        code:
          type: string
          description: A short, unique string identifying the specific error.
          example: parameter_invalid
        message:
          type: string
          description: A human-readable description of what went wrong.
          example: The provided 'siteId' is not a valid UUID.
        doc_url:
          type: string
          description: >-
            A direct link to the documentation page for this specific error
            code.
          example: https://docs.altostrat.io/errors/parameter_invalid
    DnsReportItem:
      type: object
      properties:
        application_name:
          type: string
          description: The name of the blocked application or category.
          example: Malware Site
        count:
          type: integer
          description: The number of times this item was blocked.
          example: 150
    DnsReportSourceIp:
      type: object
      properties:
        source_ip:
          type: string
          format: ipv4
          example: 192.168.88.50
        count:
          type: integer
          example: 2345
        applications:
          type: array
          items:
            $ref: '#/components/schemas/DnsReportItem'
        categories:
          type: array
          items:
            $ref: '#/components/schemas/DnsReportItem'
  responses:
    Unauthorized:
      description: Unauthorized - The request lacks valid authentication credentials.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````