Mist Sites Events API

Site events are issues or incidents that affect site-assigned access points (aps) and radius, dhcp, and dns servers. They can be investigated and monitored using the insights dashboard in the juniper mist portal. the dashboard provides a summary of site events, including information about the impacted devices and contributing events. Site events can be categorized as resolved or acknowledged, and additional details can be accessed by clicking on the event.

OpenAPI Specification

mist-sites-events-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  contact:
    email: tmunzer@juniper.net
    name: Thomas Munzer
  description: '> Version: **2606.1.1**

    >

    > Date: **July 10, 2026**

    <div class="notification"> NOTE:<br>Some important API changes will be introduced. Please make sure to read the <a href="https://www.juniper.net/documentation/us/en/software/mist/api/http/guides/important-api-changes">announcements</a> </div>


    ---

    ## Additional Documentation

    * [Mist Automation Guide](https://www.juniper.net/documentation/us/en/software/mist/automation-integration/index.html)

    * [Mist Location SDK](https://www.juniper.net/documentation/us/en/software/mist/location-services/topics/concept/mist-how-get-mist-sdk.html)

    * [Mist Product Updates](https://www.juniper.net/documentation/us/en/software/mist/product-updates/)


    ## Helpful Resources

    * [API Sandbox and Exercises](https://api-class.mist.com/)

    * [Postman Collection, Runners and Webhook Samples](https://www.postman.com/juniper-mist/workspace/mist-systems-s-public-workspace)

    * [Python Script Examples](https://github.com/tmunzer/mist_library)

    * [API Demo Apps](https://apps.mist-lab.fr/)

    * [Juniper Blog](https://blogs.juniper.net/)


    ## Mist Web Browser Extension:

    * Google Chrome, Microsoft Edge and other Chromium-based browser: [Chrome Web Store](https://chromewebstore.google.com/detail/mist-extension/ejhpdcljeamillfhdihkkmoakanpbplh)

    * Firefox: [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/mist-extension/)


    ---'
  license:
    name: MIT
    url: https://raw.githubusercontent.com/tmunzer/Mist-OAS3.0/main/LICENSE
  title: Mist Admins Sites Events API
  version: 2606.1.1
  x-logo:
    altText: Juniper-MistAI
    backgroundColor: '#FFFFFF'
    url: https://www.mist.com/wp-content/uploads/logo.png
servers:
- description: Mist Global 01
  url: https://api.mist.com
- description: Mist Global 02
  url: https://api.gc1.mist.com
- description: Mist Global 03
  url: https://api.ac2.mist.com
- description: Mist Global 04
  url: https://api.gc2.mist.com
- description: Mist Global 05
  url: https://api.gc4.mist.com
- description: Mist EMEA 01
  url: https://api.eu.mist.com
- description: Mist EMEA 02
  url: https://api.gc3.mist.com
- description: Mist EMEA 03
  url: https://api.ac6.mist.com
- description: Mist EMEA 04
  url: https://api.gc6.mist.com
- description: Mist APAC 01
  url: https://api.ac5.mist.com
- description: Mist APAC 02
  url: https://api.gc5.mist.com
- description: Mist APAC 03
  url: https://api.gc7.mist.com
security:
- apiToken: []
- csrfToken: []
tags:
- description: 'Site events are issues or incidents that affect site-assigned access points (aps) and radius, dhcp, and dns servers.


    They can be investigated and monitored using the insights dashboard in the juniper mist portal. the dashboard provides a summary of site events, including information about the impacted devices and contributing events.


    Site events can be categorized as resolved or acknowledged, and additional details can be accessed by clicking on the event.'
  name: Sites Events
paths:
  /api/v1/sites/{site_id}/events/fast_roam:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: List Roaming Events data
      operationId: listSiteRoamingEvents
      parameters:
      - description: 'Event type used to filter results. enum: `fail`, `none`, `success`'
        in: query
        name: type
        schema:
          $ref: '#/components/schemas/fast_roam_result'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/start'
      - $ref: '#/components/parameters/end'
      - $ref: '#/components/parameters/duration'
      responses:
        '200':
          $ref: '#/components/responses/EventsFastroam'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: listSiteRoamingEvents
      tags:
      - Sites Events
  /api/v1/sites/{site_id}/events/system/count:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: Count system events for a site, optionally grouped by the `distinct` field and filtered by time range. Use [Count Org System Events](/#operations/countOrgSystemEvents) to count system events across the organization.
      operationId: countSiteSystemEvents
      parameters:
      - description: 'Field used to group this count response. enum: `type`'
        in: query
        name: distinct
        schema:
          $ref: '#/components/schemas/site_system_events_count_distinct'
      - $ref: '#/components/parameters/system_event_type'
      - $ref: '#/components/parameters/start'
      - $ref: '#/components/parameters/end'
      - $ref: '#/components/parameters/duration'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: countSiteSystemEvents
      tags:
      - Sites Events
  /api/v1/sites/{site_id}/events/system/search:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: Search system events for a site with time range, sorting, and pagination controls. Use [Search Org System Events](/#operations/searchOrgSystemEvents) to search system events across the organization.
      operationId: searchSiteSystemEvents
      parameters:
      - $ref: '#/components/parameters/system_event_type'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/start'
      - $ref: '#/components/parameters/end'
      - $ref: '#/components/parameters/duration'
      - $ref: '#/components/parameters/sort'
      - $ref: '#/components/parameters/search_after'
      responses:
        '200':
          $ref: '#/components/responses/DeviceEventsSearch'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: searchSiteSystemEvents
      tags:
      - Sites Events
components:
  schemas:
    response_device_events_search:
      additionalProperties: false
      description: Paginated response for device or system event search results
      properties:
        end:
          description: Epoch timestamp for the end of the event search window
          type: integer
        limit:
          description: Maximum number of event records returned in this page
          type: integer
        next:
          description: Pagination cursor or URL for retrieving the next page of event records
          type: string
        results:
          $ref: '#/components/schemas/device_events'
          description: Device or system event records matching the search filters
        start:
          description: Epoch timestamp for the start of the event search window
          type: integer
        total:
          description: Number of event records matching the search filters across all pages
          type: integer
      required:
      - results
      - start
      - end
      - limit
      - total
      type: object
    device_events:
      description: List of device event payloads
      items:
        $ref: '#/components/schemas/device_event'
      type: array
      uniqueItems: true
    timestamp:
      description: Epoch timestamp, in seconds
      format: double
      readOnly: true
      type: number
    response_events_fastroam:
      additionalProperties: false
      description: Paginated response for fast roaming event results
      properties:
        end:
          description: Epoch timestamp for the end of the roaming event search window
          type: integer
        limit:
          description: Maximum number of roaming event records returned in this page
          type: integer
        next:
          description: Pagination cursor or URL for retrieving the next page of roaming event records; null when no next page exists
          type: string
        results:
          $ref: '#/components/schemas/response_events_fastroam_results'
          description: Fast roaming event records matching the search filters
        start:
          description: Epoch timestamp for the start of the roaming event search window
          type: integer
      required:
      - start
      - end
      - limit
      - results
      type: object
    device_event:
      additionalProperties: false
      description: Device event payload returned by search and webhook APIs
      properties:
        ap:
          deprecated: true
          description: Deprecated AP MAC address field; use `mac` instead
          type: string
        ap_name:
          deprecated: true
          description: Deprecated AP name field; use `device_name` instead
          type: string
        apfw:
          description: AP firmware version associated with the device event
          type: string
        audit_id:
          $ref: '#/components/schemas/id'
          description: Audit log identifier associated with the device event
        bandwidth:
          description: Channel bandwidth associated with a radio event, in MHz
          type: integer
        channel:
          description: RF channel associated with the device event
          type: integer
        chassis_mac:
          description: Chassis MAC address associated with the device event
          type: string
        count:
          description: Event count reported in the device event payload
          type: integer
        device_name:
          description: Name of the device associated with the event
          type: string
        device_type:
          $ref: '#/components/schemas/device_type'
          description: Device type associated with the event
        ev_type:
          $ref: '#/components/schemas/webhook_device_events_event_ev_type'
          description: Advisory severity for the device event
        ext_ip:
          description: External IP address reported for the device event
          type: string
        mac:
          description: Device MAC address associated with the event
          type: string
        model:
          description: Device model associated with the event
          type: string
        node:
          description: Cluster node identifier associated with the device event
          type: string
        org_id:
          $ref: '#/components/schemas/org_id'
          description: Organization identifier associated with the device event
        port_id:
          description: Port identifier associated with the device event
          type: string
        power:
          description: Transmit power associated with a radio event
          type: integer
        pre_bandwidth:
          description: Previous channel bandwidth before an RRM change, in MHz
          type: integer
        pre_channel:
          description: Previous RF channel before an RRM change
          type: integer
        pre_power:
          description: Previous transmit power before an RRM change
          type: integer
        pre_usage:
          description: Previous radio usage band before an RRM change
          type: integer
        reason:
          description: Optional reason text reported for the device event
          type: string
        site_id:
          $ref: '#/components/schemas/site_id'
          description: Site identifier associated with the device event
        site_name:
          description: Name of the site associated with the event
          type: string
        text:
          description: Optional human-readable text for the device event
          type: string
        timestamp:
          $ref: '#/components/schemas/timestamp'
          description: Time when the device event occurred
        type:
          description: Device event type key
          type: string
        usage:
          description: Current radio usage band for an RRM event
          type: integer
        version:
          description: Firmware or software version associated with the device event
          type: string
      required:
      - org_id
      - timestamp
      - type
      type: object
    id:
      description: Unique ID of the object instance in the Mist Organization
      examples:
      - 53f10664-3ce8-4c27-b382-0ef66432349f
      format: uuid
      readOnly: true
      type: string
    event_fastroam:
      additionalProperties: false
      description: Fast-roaming event observed for a wireless client
      properties:
        ap_mac:
          description: Destination AP MAC address for the roam
          type: string
        client_mac:
          description: Roaming client MAC address for the event
          type: string
        fromap:
          description: Source AP MAC address reported for the roam
          type: string
        latency:
          description: Roaming latency measured for the client event, in seconds
          type: number
        ssid:
          description: Wireless network SSID involved in the roam
          type: string
        subtype:
          description: Detailed roaming event subtype
          type: string
        timestamp:
          $ref: '#/components/schemas/timestamp'
          description: Time when the roaming event occurred
        type:
          $ref: '#/components/schemas/event_fastroam_type'
          description: Fast-roam result category for the event
      required:
      - latency
      - ssid
      - timestamp
      - ap_mac
      - fromap
      - client_mac
      type: object
    fast_roam_result:
      description: 'enum: `fail`, `none`, `success`'
      enum:
      - fail
      - none
      - success
      type: string
    response_http429:
      additionalProperties: false
      description: Standard HTTP 429 rate limit error response
      properties:
        detail:
          description: Human-readable explanation of the rate limit error
          examples:
          - Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
          type: string
      type: object
    org_id:
      description: Unique identifier of a Mist organization
      examples:
      - a97c1b22-a4e9-411e-9bfd-d8695a0f9e61
      format: uuid
      readOnly: true
      type: string
    response_http401:
      additionalProperties: false
      description: Standard HTTP 401 authentication error response
      properties:
        detail:
          description: Human-readable explanation of the authentication error
          examples:
          - Authentication credentials were not provided.
          type: string
      type: object
    response_http403:
      additionalProperties: false
      description: Standard HTTP 403 permission error response
      properties:
        detail:
          description: Human-readable explanation of the permission error
          examples:
          - You do not have permission to perform this action.
          type: string
      type: object
    event_fastroam_type:
      description: 'enum: `fail`, `none`, `pingpong`, `poor`, `slow`, `success`'
      enum:
      - fail
      - none
      - pingpong
      - poor
      - slow
      - success
      type: string
    count_results:
      description: List of count result rows
      items:
        $ref: '#/components/schemas/count_result'
      type: array
      uniqueItems: true
    response_http400:
      additionalProperties: false
      description: Standard HTTP 400 bad request error response
      properties:
        detail:
          description: Human-readable explanation of the bad request error
          examples:
          - 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
          type: string
      type: object
    device_type:
      description: 'enum: `ap`, `gateway`, `switch`'
      enum:
      - ap
      - gateway
      - switch
      type: string
    response_events_fastroam_results:
      description: Fast roaming event records returned by a search response
      items:
        $ref: '#/components/schemas/event_fastroam'
      type: array
      uniqueItems: true
    site_system_events_count_distinct:
      default: type
      description: 'Distinct field used when counting site system events. enum: `type`'
      enum:
      - type
      type: string
    count_result:
      additionalProperties:
        type: string
      description: Count result row with the matching distinct field values
      properties:
        count:
          description: Number of matching items for the distinct value or values in this result
          type: integer
      required:
      - count
      type: object
    response_count:
      additionalProperties: false
      description: Distinct count response for time-bounded search results
      properties:
        distinct:
          description: Field used to group the count results
          type: string
        end:
          description: Search window end timestamp for the count request, in epoch seconds
          type: integer
        limit:
          description: Maximum number of distinct count results requested
          type: integer
        results:
          $ref: '#/components/schemas/count_results'
          description: Count results grouped by the distinct field
        start:
          description: Search window start timestamp for the count request, in epoch seconds
          type: integer
        total:
          description: Number of distinct result buckets returned
          type: integer
      required:
      - distinct
      - end
      - limit
      - results
      - start
      - total
      type: object
    site_id:
      description: Unique identifier of a Mist site
      examples:
      - 441a1214-6928-442a-8e92-e1d34b8ec6a6
      format: uuid
      readOnly: true
      type: string
    webhook_device_events_event_ev_type:
      description: '(optional) event advisory. enum: `notice`, `warn`'
      enum:
      - notice
      - warn
      type: string
    response_http404:
      additionalProperties: false
      description: Standard HTTP 404 not found error response
      properties:
        id:
          description: Missing resource identifier, when the API includes one
          type: string
      type: object
  parameters:
    system_event_type:
      description: See [List Device Events Definitions](/#operations/listDeviceEventsDefinitions)
      in: query
      name: type
      schema:
        type: string
    start:
      description: Lower bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d` or `-1w`
      in: query
      name: start
      schema:
        type: string
    sort:
      description: On which field the list should be sorted, -prefix represents DESC order
      in: query
      name: sort
      schema:
        default: timestamp
        examples:
        - -site_id
        type: string
    duration:
      description: Time range duration for the query, using relative units such as `10m`, `7d`, or `2w`
      in: query
      name: duration
      schema:
        default: 1d
        examples:
        - 10m
        type: string
    limit:
      description: Maximum number of results to return per page
      in: query
      name: limit
      schema:
        default: 100
        minimum: 0
        type: integer
    site_id:
      in: path
      name: site_id
      required: true
      schema:
        examples:
        - 000000ab-00ab-00ab-00ab-0000000000ab
        format: uuid
        type: string
    end:
      description: Upper bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d`, `-2h`, or `now`
      in: query
      name: end
      schema:
        type: string
    search_after:
      description: Pagination cursor for retrieving subsequent pages of results. This value is automatically populated by Mist in the `next` URL from the previous response and should not be manually constructed.
      in: query
      name: search_after
      schema:
        type: string
  responses:
    DeviceEventsSearch:
      content:
        application/json:
          examples:
            Example:
              $ref: '#/components/examples/DeviceEventsSearchExample'
          schema:
            $ref: '#/components/schemas/response_device_events_search'
        application/vnd.api+json:
          examples:
            Example:
              $ref: '#/components/examples/DeviceEventsSearchExample'
          schema:
            $ref: '#/components/schemas/response_device_events_search'
      description: OK
    Count:
      content:
        application/json:
          examples:
            Example:
              $ref: '#/components/examples/CountExample'
          schema:
            $ref: '#/components/schemas/response_count'
        application/vnd.api+json:
          examples:
            Example:
              $ref: '#/components/examples/CountExample'
          schema:
            $ref: '#/components/schemas/response_count'
      description: Result of Count
    HTTP400:
      content:
        application/json:
          examples:
            Example:
              $ref: '#/components/examples/HTTP400Example'
          schema:
            $ref: '#/components/schemas/response_http400'
        application/vnd.api+json:
          examples:
            Example:
              $ref: '#/components/examples/HTTP400Example'
          schema:
            $ref: '#/components/schemas/response_http400'
      description: Bad Syntax
    HTTP403:
      content:
        application/json:
          examples:
            Example:
              $ref: '#/components/examples/HTTP403Example'
          schema:
            $ref: '#/components/schemas/response_http403'
        application/vnd.api+json:
          examples:
            Example:
              $ref: '#/components/examples/HTTP403Example'
          schema:
            $ref: '#/components/schemas/response_http403'
      description: Permission Denied
    EventsFastroam:
      content:
        application/json:
          examples:
            Example:
              $ref: '#/components/examples/EventsFastroamExample'
          schema:
            $ref: '#/components/schemas/response_events_fastroam'
        application/vnd.api+json:
          examples:
            Example:
              $ref: '#/components/examples/EventsFastroamExample'
          schema:
            $ref: '#/components/schemas/response_events_fastroam'
      description: OK
    HTTP404:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/response_http404'
        application/vnd.api+json:
          schema:
            $ref: '#/components/schemas/response_http404'
      description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist
    HTTP429:
      content:
        application/json:
          examples:
            Example:
              $ref: '#/components/examples/HTTP429Example'
          schema:
            $ref: '#/components/schemas/response_http429'
        application/vnd.api+json:
          examples:
            Example:
              $ref: '#/components/examples/HTTP429Example'
          schema:
            $ref: '#/components/schemas/response_http429'
      description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
    HTTP401:
      content:
        application/json:
          examples:
            Example:
              $ref: '#/components/examples/HTTP401Example'
          schema:
            $ref: '#/components/schemas/response_http401'
        application/vnd.api+json:
          examples:
            Example:
              $ref: '#/components/examples/HTTP401Example'
          schema:
            $ref: '#/components/schemas/response_http401'
      description: Unauthorized
  examples:
    DeviceEventsSearchExample:
      value:
        end: 0
        limit: 0
        next: string
        results:
        - ap: 5c5b351e13b5
          apfw: 5c5b351e13b5
          model: BT11-WW
          org_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862a
          site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b
          text: Succeeding DNS query from 172.29.101.134 to 172.29.101.7 for "portal.mistsys.com" on vlan 1, id 60224
          timestamp: 1547235620.89
          type: CLIENT_DNS_OK
        start: 0
        total: 0
    CountExample:
      value:
        distinct: string
        end: 0
        limit: 0
        results:
        - count: 0
          property: string
        start: 0
        total: 0
    HTTP403Example:
      value:
        detail: You do not have permission to perform this action.
    HTTP400Example:
      value:
        detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
    HTTP429Example:
      value:
        detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
    EventsFastroamExample:
      value:
        end: 1501023379
        limit: 2
        next: /api/v1/sites/dca0a44b-324c-11e6-a776-0243ad110007/events/fast_roam?type=success&start=1428939600&end=1428949600&limit=200&token=AAAAEgAIAAVVJh4hF8AAAARzc2lkAH%2F%2F%2F%2F0%3D
        results:
        - ap_mac: 5c5b350e040b
          client_mac: dc2b2a3fb13d
          fromap: 5c5b350e0569
          latency: 0.1874195
          ssid: marvis_test
          subtype: CLIENT_AUTHENTICATED_11R
          timestamp: 1501000002283782
        start: 1500940800
    HTTP401Example:
      value:
        detail: Authentication credentials were not provided.
  securitySchemes:
    apiToken:
      description: "Preferred authentication method for automation and integrations. Send the API token in the HTTP `Authorization` header.\n\n**Format**:\n  `Authorization: Token {apitoken}`\n\n**Notes**:\n* An API token generated for a specific admin has the same privileges as that admin\n* An API token is automatically removed if it is not used for more than 90 days\n* SSO admins cannot generate admin API tokens. Use organization API tokens when scoped Org/Site privileges are needed."
      in: header
      name: Authorization
      type: apiKey
    csrfToken:
      description: 'Session-based authentication for browser or login/password flows. After a successful [Login](/#operations/login) request, Mist returns a `csrftoken` cookie. Send that value in the `X-CSRFToken` header on later API requests that use the login session.


        **Format**:

        ```

        X-CSRFToken: vwvBuq9qkqaKh7lu8tNc0gkvBfEaLAmx

        ```


        For automation, API Token authentication is preferred.'
      in: header
      name: X-CSRFToken
      type: apiKey