Mist Sites Devices API

Mist provides many ways (device_type specific template, site template, device profile, per-device) to configure devices for different kind of scenarios. The precedence goes from most specific to least specific Device > Device Profile > RFTemplate (for AP only) > DeviceType-specific Template > Site Template > Site Setting

Operations 16

GET /api/v1/sites/{site_id}/devices listSiteDevices #
GET /api/v1/sites/{site_id}/devices/config_history/count countSiteDeviceConfigHistory #
GET /api/v1/sites/{site_id}/devices/config_history/search searchSiteDeviceConfigHistory #
GET /api/v1/sites/{site_id}/devices/count countSiteDevices #
GET /api/v1/sites/{site_id}/devices/events/count countSiteDeviceEvents #
GET /api/v1/sites/{site_id}/devices/events/search searchSiteDeviceEvents #
GET /api/v1/sites/{site_id}/devices/export exportSiteDevices #
POST /api/v1/sites/{site_id}/devices/gbp_tag setSiteDevicesGbpTag #
POST /api/v1/sites/{site_id}/devices/import importSiteDevices #
GET /api/v1/sites/{site_id}/devices/last_config/count countSiteDeviceLastConfig #
GET /api/v1/sites/{site_id}/devices/last_config/search searchSiteDeviceLastConfigs #
GET /api/v1/sites/{site_id}/devices/search searchSiteDevices #
GET /api/v1/sites/{site_id}/devices/{device_id} getSiteDevice #
PUT /api/v1/sites/{site_id}/devices/{device_id} updateSiteDevice #
DELETE /api/v1/sites/{site_id}/devices/{device_id}/image/{image_number} deleteSiteDeviceImage #
POST /api/v1/sites/{site_id}/devices/{device_id}/image/{image_number} addSiteDeviceImage #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/mist-sites-devices-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

mist-sites-devices-api-openapi.yml Raw ↑
openapi: 3.2.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 Sites Devices 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: 'Mist provides many ways (device_type specific template, site template, device profile, per-device) to configure devices for different kind of scenarios.


    The precedence goes from most specific to least specific


    Device > Device Profile > RFTemplate (for AP only) > DeviceType-specific Template > Site Template > Site Setting'
  name: Sites Devices
paths:
  /api/v1/sites/{site_id}/devices:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: List devices in a site. Use [List Org Devices](/#operations/listOrgDevices) to retrieve devices across the organization, or [Search Org Devices](/#operations/searchOrgDevices) when filters are needed.
      operationId: listSiteDevices
      parameters:
      - description: Filter results by type
        in: query
        name: type
        schema:
          $ref: '#/components/schemas/device_type_with_all'
      - $ref: '#/components/parameters/name'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          $ref: '#/components/responses/DevicesArray'
        '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: listSiteDevices
      tags:
      - Sites Devices
  /api/v1/sites/{site_id}/devices/config_history/count:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: Counts the number of entries in device config history for distinct field with given filters
      operationId: countSiteDeviceConfigHistory
      parameters:
      - description: Field used to group this count response
        in: query
        name: distinct
        schema:
          type: string
      - description: Filter results by MAC address
        in: query
        name: mac
        schema:
          type: string
      - $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: countSiteDeviceConfigHistory
      tags:
      - Sites Devices
  /api/v1/sites/{site_id}/devices/config_history/search:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: Search for entries in device config history
      operationId: searchSiteDeviceConfigHistory
      parameters:
      - description: 'Filter results by type. enum: `ap`, `gateway`, `switch`'
        in: query
        name: type
        schema:
          $ref: '#/components/schemas/device_type_default_ap'
      - description: Filter results by MAC address
        in: query
        name: mac
        schema:
          type: string
      - $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/ConfigsHistorySearch'
        '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: searchSiteDeviceConfigHistory
      tags:
      - Sites Devices
  /api/v1/sites/{site_id}/devices/count:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: Count devices for a site, optionally grouped by the `distinct` field and filtered by device inventory attributes and time range. Use [Count Org Devices](/#operations/countOrgDevices) to count devices across the organization.
      operationId: countSiteDevices
      parameters:
      - description: 'Field used to group this count response. enum: `hostname`, `lldp_mgmt_addr`, `lldp_port_id`, `lldp_system_desc`, `lldp_system_name`, `map_id`, `model`, `mxedge_id`, `mxtunnel_status`, `version`'
        in: query
        name: distinct
        schema:
          $ref: '#/components/schemas/site_devices_count_distinct'
      - description: Filter results by hostname
        in: query
        name: hostname
        schema:
          type: string
      - description: Filter results by device model
        in: query
        name: model
        schema:
          type: string
      - description: Filter results by MAC address
        in: query
        name: mac
        schema:
          type: string
      - description: Filter results by software version
        in: query
        name: version
        schema:
          type: string
      - description: Filter AP results by Mist Tunnel status
        in: query
        name: mxtunnel_status
        schema:
          type: string
      - description: Filter results by Mist Edge identifier
        in: query
        name: mxedge_id
        schema:
          type: string
      - description: Filter AP results by LLDP system name
        in: query
        name: lldp_system_name
        schema:
          type: string
      - description: Filter AP results by LLDP system description
        in: query
        name: lldp_system_desc
        schema:
          type: string
      - description: Filter AP results by LLDP port identifier
        in: query
        name: lldp_port_id
        schema:
          type: string
      - description: Filter AP results by LLDP management IP address
        in: query
        name: lldp_mgmt_addr
        schema:
          type: string
      - description: Filter results by map identifier
        in: query
        name: map_id
        schema:
          type: string
      - $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: countSiteDevices
      tags:
      - Sites Devices
  /api/v1/sites/{site_id}/devices/events/count:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: Count device events for a site, optionally grouped by the `distinct` field and filtered by event attributes and time range. Use [Count Org Device Events](/#operations/countOrgDeviceEvents) to count device events across the organization.
      operationId: countSiteDeviceEvents
      parameters:
      - description: 'Field used to group this count response. enum: `mac`, `model`, `type`, `type_code`'
        in: query
        name: distinct
        schema:
          $ref: '#/components/schemas/site_device_events_count_distinct'
      - description: Filter results by device model
        in: query
        name: model
        schema:
          type: string
      - $ref: '#/components/parameters/device_event_type'
      - description: Filter results by event type code
        in: query
        name: type_code
        schema:
          type: string
      - $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: countSiteDeviceEvents
      tags:
      - Sites Devices
  /api/v1/sites/{site_id}/devices/events/search:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: Search device events for a site with filters for MAC address, model, event type, message text, and time range. Use [Search Org Device Events](/#operations/searchOrgDeviceEvents) to search device events across the organization.
      operationId: searchSiteDeviceEvents
      parameters:
      - description: Filter results by MAC address
        in: query
        name: mac
        schema:
          type: string
      - description: Filter results by device model
        in: query
        name: model
        schema:
          type: string
      - description: Filter results by event message text
        in: query
        name: text
        schema:
          examples:
          - Device connected
          type: string
      - $ref: '#/components/parameters/device_event_type'
      - description: Return last/recent event for passed in field
        example: port_id
        in: query
        name: last_by
        schema:
          type: string
      - description: Keyword to include events from additional indices (e.g. ext_tunnel for prisma events)
        in: query
        name: includes
        schema:
          examples:
          - ext_tunnel
          type: string
      - $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/EventsDevices'
        '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: searchSiteDeviceEvents
      tags:
      - Sites Devices
  /api/v1/sites/{site_id}/devices/export:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: To download the exported device information
      operationId: exportSiteDevices
      responses:
        '200':
          $ref: '#/components/responses/File'
        '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: exportSiteDevices
      tags:
      - Sites Devices
  /api/v1/sites/{site_id}/devices/gbp_tag:
    parameters:
    - $ref: '#/components/parameters/site_id'
    post:
      description: Set GBP Tag for multiple devices
      operationId: setSiteDevicesGbpTag
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/devices_gbp_tag'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '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: setSiteDevicesGbpTag
      tags:
      - Sites Devices
  /api/v1/sites/{site_id}/devices/import:
    parameters:
    - $ref: '#/components/parameters/site_id'
    post:
      description: 'Import Information for Multiple Devices


        CSV format:

        ```csv

        mac,name,map_id,x,y,height,orientation,labels,band_24.power,band_24.bandwidth,band_24.channel,band_24.disabled,band_5.power,band_5.bandwidth,band_5.channel,band_5.disabled,band_6.power,band_6.bandwidth,band_6.channel,band_6.disabled

        5c5b53010101,"AP 1",845a23bf-bed9-e43c-4c86-6fa474be7ae5,30,10,2.3,45,"guest, campus, vip",1,20,0,false,0,40,0,false,17,80,0,false

        ```'
      operationId: importSiteDevices
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ap_import_json'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/binary_stream'
      responses:
        '200':
          $ref: '#/components/responses/DevicesArray'
        '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: importSiteDevices
      tags:
      - Sites Devices
  /api/v1/sites/{site_id}/devices/last_config/count:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: Counts the number of entries in device config history for distinct field with given filters
      operationId: countSiteDeviceLastConfig
      parameters:
      - description: 'Field used to group this count response. enum: `mac`, `name`, `site_id`, `version`'
        in: query
        name: distinct
        schema:
          $ref: '#/components/schemas/site_device_last_config_count_distinct'
      - $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: countSiteDeviceLastConfig
      tags:
      - Sites Devices
  /api/v1/sites/{site_id}/devices/last_config/search:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: Search last known device configuration records for a site with filters for device type, MAC address, name, software version, certificate expiry, and time range. Use [Search Org Device Last Configs](/#operations/searchOrgDeviceLastConfigs) to search last known device configuration records across the organization.
      operationId: searchSiteDeviceLastConfigs
      parameters:
      - description: 'Duration for expiring cert queries (format: 2d/3h/172800 seconds)'
        in: query
        name: cert_expiry_duration
        schema:
          examples:
          - 2d
          type: string
      - description: 'Filter results by device type. enum: `ap`, `gateway`, `switch`, `mxedge`'
        in: query
        name: device_type
        schema:
          $ref: '#/components/schemas/last_config_device_type'
      - description: Filter results by MAC address
        in: query
        name: mac
        schema:
          type: string
      - description: Filter results by software version
        in: query
        name: version
        schema:
          type: string
      - description: Filter results by name
        in: query
        name: name
        schema:
          type: string
      - $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/ConfigsHistorySearch'
        '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: searchSiteDeviceLastConfigs
      tags:
      - Sites Devices
  /api/v1/sites/{site_id}/devices/search:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: Search devices in a site with filters for device type, identifiers, model, software version, radio settings, LLDP details, and other inventory attributes. Use [Search Org Devices](/#operations/searchOrgDevices) to search devices across the organization.
      operationId: searchSiteDevices
      parameters:
      - description: When `type`==`ap`, Channel of band_24
        in: query
        name: band_24_channel
        schema:
          type: integer
      - description: When `type`==`ap`, Channel of band_5
        in: query
        name: band_5_channel
        schema:
          type: integer
      - description: When `type`==`ap`, Channel of band_6
        in: query
        name: band_6_channel
        schema:
          type: integer
      - description: When `type`==`ap`, Bandwidth of band_24
        in: query
        name: band_24_bandwidth
        schema:
          type: integer
      - description: When `type`==`ap`, Bandwidth of band_5
        in: query
        name: band_5_bandwidth
        schema:
          type: integer
      - description: When `type`==`ap`, Bandwidth of band_6
        in: query
        name: band_6_bandwidth
        schema:
          type: integer
      - description: When `type`==`ap`, Power of band_24
        in: query
        name: band_24_power
        schema:
          type: integer
      - description: When `type`==`ap`, Power of band_5
        in: query
        name: band_5_power
        schema:
          type: integer
      - description: When `type`==`ap`, Power of band_6
        in: query
        name: band_6_power
        schema:
          type: integer
      - description: When `type`==`gateway`, true / false
        in: query
        name: clustered
        schema:
          type: boolean
      - description: When `type`==`ap`, Port speed of eth0
        in: query
        name: eth0_port_speed
        schema:
          examples:
          - 100
          - 1000
          type: integer
      - description: When `type`==`switch`, EVPN topology id
        in: query
        name: evpntopo_id
        schema:
          format: uuid
          type: string
      - $ref: '#/components/parameters/partial_filter_ext_ip'
      - $ref: '#/components/parameters/partial_filter_hostname_device'
      - $ref: '#/components/parameters/partial_filter_ip_device'
      - description: When `type`==`switch` or `type`==`gateway`, last configuration status
        in: query
        name: last_config_status
        schema:
          examples:
          - success
          type: string
      - description: Last hostname of the device.
        in: query
        name: last_hostname
        schema:
          type: string
      - description: When `type`==`ap`, LLDP management IP address
        in: query
        name: lldp_mgmt_addr
        schema:
          type: string
      - $ref: '#/components/parameters/partial_filter_lldp_port_id'
      - $ref: '#/components/parameters/partial_filter_lldp_system_desc'
      - $ref: '#/components/parameters/partial_filter_lldp_system_name'
      - $ref: '#/components/parameters/partial_filter_mac_device'
      - $ref: '#/components/parameters/partial_filter_model'
      - description: When `type`==`ap`, Mist Edge id, if AP is connecting to a Mist Edge
        in: query
        name: mxedge_id
        schema:
          format: uuid
          type: string
      - description: When `type`==`ap`, Comma separated list of Mist Edge id, if AP is connecting to a Mist Edge
        in: query
        name: mxedge_ids
        schema:
          type: string
      - description: 'When `type`==`ap`, Mist Tunnel status used to filter results. enum: `down`, `up`'
        in: query
        name: mxtunnel_status
        schema:
          $ref: '#/components/schemas/search_site_devices_mxtunnel_status'
      - description: 'When `type`==`gateway`. enum: `node0`, `node1`'
        in: query
        name: node
        schema:
          $ref: '#/components/schemas/ha_cluster_node_enum'
      - description: When `type`==`gateway`, node0 MAC address
        in: query
        name: node0_mac
        schema:
          type: string
      - description: When `type`==`gateway`, node1 MAC address
        in: query
        name: node1_mac
        schema:
          type: string
      - description: When `type`==`ap`, whether the AP is power constrained
        in: query
        name: power_constrained
        schema:
          type: boolean
      - description: "When `type`==`switch` or `type`==`gateway`, Key-value pairs where the key\nis the RADIUS server address and the value contains authentication statistics:\n  * <server_address> (string): IP address of the RADIUS server as the key\n  * `auth_accepts` (long): Number of accepted authentication requests\n  * `auth_rejects` (long): Number of rejected authentication requests\n  * `auth_timeouts` (long): Number of authentication timeouts\n  * `auth_server_status` (string): Status of the server. Possible values: `up`, `down`, `unreachable`"
        in: query
        name: radius_stats
        schema:
          type: string
      - description: Whether to return device stats
        in: query
        name: stats
        schema:
          default: false
          type: boolean
      - description: When `type`==`gateway` (SSR only), version of 128T agent
        in: query
        name: t128agent_version
        schema:
          type: string
      - $ref: '#/components/parameters/device_type'
      - description: Filter results by software version
        in: query
        name: version
        schema:
          type: string
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/start'
      - $ref: '#/components/parameters/end'
      - $ref: '#/components/parameters/duration'
      - description: 'Field used to sort results; a leading `-` indicates descending order. enum: `mac`, `model`, `sku`, `timestamp`'
        in: query
        name: sort
        schema:
          $ref: '#/components/schemas/search_site_devices_sort'
      - description: 'Field used to sort results in descending order. enum: `mac`, `model`, `sku`, `timestamp`'
        in: query
        name: desc_sort
        schema:
          $ref: '#/components/schemas/search_site_devices_desc_sort'
      - $ref: '#/components/parameters/search_after'
      responses:
        '200':
          $ref: '#/components/responses/DevicesSearch'
        '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: searchSiteDevices
      tags:
      - Sites Devices
  /api/v1/sites/{site_id}/devices/{device_id}:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/device_id'
    get:
      description: Get Device Configuration
      operationId: getSiteDevice
      responses:
        '200':
          $ref: '#/components/responses/Device'
        '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: getSiteDevice
      tags:
      - Sites Devices
    put:
      description: Update Device Configuration
      operationId: updateSiteDevice
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/mist_device'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/Device'
        '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: updateSiteDevice
      tags:
      - Sites Devices
  /api/v1/sites/{site_id}/devices/{device_id}/image/{image_number}:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/device_id'
    - in: path
      name: image_number
      required: true
      schema:
        type: integer
    delete:
      description: Delete image from a device
      operationId: deleteSiteDeviceImage
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '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: deleteSiteDeviceImage
      tags:
      - Sites Devices
    post:
      description: Attach up to 3 images to a device
      operationId: addSiteDeviceImage
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/image_import'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '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: addSiteDeviceImage
      tags:
      - Sites Devices
components:
  schemas:
    switch_port_usage_dynamic_rule:
      additionalProperties: false
      description: Dynamic port usage rule evaluated against LLDP, RADIUS, or peer MAC attributes
      properties:
        description:
          description: Optional description of the rule
          type: string
        equals:
          description: Exact value that the selected source attribute must match
          type: string
        equals_any:
          $ref: '#/components/schemas/switch_port_usage_dynamic_rule_equals_any'
          description: List of values where any match satisfies this dynamic rule
        expression:
          description: '"[0:3]":"abcdef" -> "abc"

            "split(.)[1]": "a.b.c" -> "b"

            "split(-)[1][0:3]: "a1234-b5678-c90" -> "b56"'
          type: string
        src:
          $ref: '#/components/schemas/switch_port_usage_dynamic_rule_src'
          description: Source attribute evaluated by this dynamic rule
        usage:
          description: Port usage name to apply when this dynamic rule matches
          type: string
      required:
      - src
      type: object
    switch_mist_nac:
      additionalProperties: false
      description: Mist NAC RadSec settings for a switch
      properties:
        enabled:
          description: Whether Mist NAC RadSec is enabled for the switch
          type: boolean
        network:
          description: Switch network used for Mist NAC RadSec connectivity
          type: string
      type: object
    gateway_mgmt:
      additionalProperties: false
      description: Gateway management-plane and access settings
      properties:
        admin_sshkeys:
          $ref: '#/components/schemas/gateway_mgmt_admin_sshkeys'
          description: SSR-only SSH public keys for administrative access
        app_probing:
          $ref: '#/components/schemas/app_probing'
          description: Application probing configuration for gateway monitoring
        app_usage:
          description: Consumes uplink bandwidth, requires WA license
          type: boolean
        auto_signature_update:
          $ref: '#/components/schemas/gateway_mgmt_auto_signature_update'
          description: Schedule for automatic security signature updates
        config_revert_timer:
          default: 10
          description: Rollback timer for commit confirmed
          maximum: 30
          minimum: 1
          type: integer
        disable_console:
          default: false
          description: For SSR and SRX, disable console port
          type: boolean
        disable_oob:
          default: false
          description: For SSR and SRX, disable management interface
          type: boolean
        disable_usb:
          default: false
          description: For SSR and SRX, disable usb interface
          type: boolean
        fips_enabled:
          default: false
          description: Whether FIPS mode is enabled on the gateway
          type: boolean
        probe_hosts:
          $ref: '#/components/schemas/gateway_mgmt_probe_hosts'
          description: IPv4 probe targets used for gateway connectivity checks
        probe_hostsv6:
          $ref: '#/components/schemas/gateway_mgmt

# --- truncated at 32 KB (405 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mist/refs/heads/main/openapi/mist-sites-devices-api-openapi.yml