Mist Sites Stats - Devices API
API Calls to retrieve statistics about the Mist Managed and Monitored Devices at the Site level
API Calls to retrieve statistics about the Mist Managed and Monitored Devices at the Site level
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 Stats - 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: API Calls to retrieve statistics about the Mist Managed and Monitored Devices at the Site level
name: Sites Stats - Devices
paths:
/api/v1/sites/{site_id}/stats/devices:
parameters:
- $ref: '#/components/parameters/site_id'
get:
description: List device statistics for a site, including high-level status and performance fields over the requested time range. Use [List Org Device Stats](/#operations/listOrgDevicesStats) to retrieve device statistics across the organization.
operationId: listSiteDevicesStats
parameters:
- description: Filter results by type
in: query
name: type
schema:
$ref: '#/components/schemas/device_type_with_all'
- description: 'Filter results by status. enum: `all`, `connected`, `disconnected`'
in: query
name: status
schema:
$ref: '#/components/schemas/stat_device_status_filter'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/page'
responses:
'200':
$ref: '#/components/responses/DevicesArrayStatsSite'
'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: listSiteDevicesStats
tags:
- Sites Stats - Devices
/api/v1/sites/{site_id}/stats/devices/{device_id}:
parameters:
- $ref: '#/components/parameters/site_id'
- $ref: '#/components/parameters/device_id'
get:
description: Get Site Device Stats Details
operationId: getSiteDeviceStats
parameters:
- $ref: '#/components/parameters/fields'
responses:
'200':
$ref: '#/components/responses/DeviceStats'
'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: getSiteDeviceStats
tags:
- Sites Stats - Devices
/api/v1/sites/{site_id}/stats/devices/{device_id}/clients:
parameters:
- $ref: '#/components/parameters/site_id'
- $ref: '#/components/parameters/device_id'
get:
description: Get wireless client stat by Device
operationId: getSiteAllClientsStatsByDevice
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/stats_wireless_clients'
description: 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: getSiteAllClientsStatsByDevice
tags:
- Sites Stats - Devices
/api/v1/sites/{site_id}/stats/gateways/metrics:
parameters:
- $ref: '#/components/parameters/site_id'
get:
description: Get Site Gateway Metrics
operationId: getSiteGatewayMetrics
responses:
'200':
$ref: '#/components/responses/GatewayMetrics'
'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: getSiteGatewayMetrics
tags:
- Sites Stats - Devices
/api/v1/sites/{site_id}/stats/switches/metrics:
parameters:
- $ref: '#/components/parameters/site_id'
get:
description: Get version compliance metrics for managed or monitored switches
operationId: getSiteSwitchesMetrics
parameters:
- description: 'Filter results by type. enum: `active_ports_summary`'
in: query
name: type
schema:
$ref: '#/components/schemas/switch_metric_type'
- description: 'Filter results by scope. enum: `site`, `switch`'
in: query
name: scope
schema:
$ref: '#/components/schemas/switch_metric_scope'
- description: Switch mac, used only with metric `type`==`active_ports_summary`
in: query
name: switch_mac
schema:
examples:
- 5c5b350e0410
type: string
responses:
'200':
$ref: '#/components/responses/SwitchMetrics'
'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: getSiteSwitchesMetrics
tags:
- Sites Stats - Devices
components:
schemas:
l2tp_state:
description: 'enum: `established`, `established_with_session`, `idle`, `wait-ctrl-conn`, `wait-ctrl-reply`'
enum:
- established
- established_with_session
- idle
- wait-ctrl-conn
- wait-ctrl-reply
examples:
- established
type: string
stats_gateway_mac_table_stats:
additionalProperties: false
description: Gateway MAC table utilization counters
properties:
mac_table_count:
description: Number of MAC table entries currently learned by the gateway
type: integer
max_mac_entries_supported:
description: Maximum MAC table entries supported by the gateway
type: integer
type: object
stats_wireless_client:
additionalProperties: false
description: Wireless client connection, traffic, and location statistics
properties:
accuracy:
description: Estimated client location accuracy, in meter
type: integer
airespace_ifname:
description: RADIUS Airespace interface name reported for the wireless client, when available
type: string
airwatch:
$ref: '#/components/schemas/stats_wireless_client_airwatch'
description: Mobile device management authorization information from AirWatch for the wireless client
annotation:
description: User-visible annotation label applied to the wireless client
type: string
ap_id:
description: AP ID the client is connected to
format: uuid
type: string
ap_mac:
description: AP the client is connected to
type: string
assoc_time:
description: Time when the wireless client associated to the AP, in epoch seconds
type: integer
band:
$ref: '#/components/schemas/dot11_band'
description: Wi-Fi radio band used by the wireless client connection
bssid:
description: AP radio BSSID serving the wireless client connection
type: string
channel:
description: Radio channel used by the wireless client connection
type: integer
dual_band:
description: Whether the client is dual_band capable (determined by whether we’ve seen probe requests from both bands)
type: boolean
family:
description: Device family, through fingerprinting. iPod / Nexus Galaxy / Windows Mobile or CE …
type: string
group:
description: Client group label reported for the wireless client
type: string
guest:
$ref: '#/components/schemas/guest'
description: Portal guest details for the wireless client
hostname:
description: DHCP hostname learned for the wireless client
type: string
idle_time:
description: How long, in seconds, has the client been idle (since the last RX packet)
type: number
ip:
description: Current IP address reported for the wireless client
type: string
is_guest:
default: false
description: Whether this is a guest
type: boolean
key_mgmt:
description: Security key-management and cipher suite used by the wireless client
type: string
last_seen:
$ref: '#/components/schemas/last_seen'
description: Time when Mist last observed the wireless client, in epoch seconds
mac:
description: Wireless client MAC address observed by Mist
type: string
manufacture:
description: Device manufacture, through fingerprinting or OUI
type: string
map_id:
description: Estimated client location - map_id
format: uuid
type: string
model:
description: Device model, may be available if we can identify them
type: string
num_locating_aps:
description: Number of APs used to locate this client
type: integer
os:
description: Device os, through fingerprinting
type: string
power_saving:
description: If it’s currently in power-save mode
type: boolean
proto:
$ref: '#/components/schemas/dot11_proto'
description: 802.11 protocol amendment used by the wireless client
psk_id:
description: PSK id (if multi-psk is used)
format: uuid
type: string
rssi:
description: Received signal strength indicator for the wireless client, in dBm
type: number
rssizones:
$ref: '#/components/schemas/stats_wireless_client_rssi_zones'
description: RSSI zone memberships for the wireless client
rx_bps:
$ref: '#/components/schemas/rx_bps'
description: Receive throughput for the wireless client, in bits per second
rx_bytes:
$ref: '#/components/schemas/rx_bytes'
description: Total bytes received by the wireless client connection
rx_pkts:
$ref: '#/components/schemas/rx_pkts'
description: Total packets received by the wireless client connection
rx_rate:
$ref: '#/components/schemas/rx_rate'
description: Receive PHY rate for the wireless client connection, in Mbps
rx_retries:
$ref: '#/components/schemas/rx_retries'
description: Receive retry count for the wireless client connection
site_id:
$ref: '#/components/schemas/site_id'
description: Site identifier associated with the wireless client statistics record
snr:
description: Signal-to-noise ratio for the wireless client connection
type: number
ssid:
description: Wireless SSID used by the client connection
type: string
tx_bps:
$ref: '#/components/schemas/tx_bps'
description: Transmit throughput for the wireless client, in bits per second
tx_bytes:
$ref: '#/components/schemas/tx_bytes'
description: Total bytes transmitted by the wireless client connection
tx_pkts:
$ref: '#/components/schemas/tx_pkts'
description: Total packets transmitted by the wireless client connection
tx_rate:
$ref: '#/components/schemas/tx_rate'
description: Transmit PHY rate for the wireless client connection, in Mbps
tx_retries:
$ref: '#/components/schemas/tx_retries'
description: Transmit retry count for the wireless client connection
type:
description: Client’s type, regular / vip / resource / blocked (if client object is created)
type: string
uptime:
description: How long, in seconds, has the client been connected
type: number
username:
description: User identity learned from 802.1X, per-user PSK, or user portal authentication
type: string
vbeacons:
$ref: '#/components/schemas/stats_wireless_client_vbeacons'
description: Virtual beacon associations for the wireless client
vlan_id:
description: VLAN ID, could be empty (from older AP)
type: string
wlan_id:
description: WLAN ID the client is connected to
format: uuid
type: string
wxrule_id:
description: Current WxlanRule using for a Client or an authorized Guest (portal user). null if default rule is matched.
format: uuid
type: string
wxrule_usage:
$ref: '#/components/schemas/stats_wireless_client_wxrule_usages'
description: WxLAN rule usage counters for the wireless client
x:
description: Estimated client location in pixels
format: double
type: number
x_m:
description: Estimated client location in meter
format: double
type: number
y:
description: Estimated client location in pixels
format: double
type: number
y_m:
description: Estimated client location in meter
format: double
type: number
zones:
$ref: '#/components/schemas/stats_wireless_client_zones'
description: Zone memberships for the wireless client
required:
- ap_id
- ap_mac
- band
- channel
- is_guest
- key_mgmt
- mac
- proto
- rssi
- snr
- ssid
- wlan_id
type: object
stats_switch_clients_stats:
additionalProperties: false
description: Aggregate switch client counts
properties:
total:
$ref: '#/components/schemas/stats_switch_clients_stats_total'
description: Aggregate client counts across the switch
type: object
stats_switch_port:
additionalProperties: false
description: Switch port statistics record returned by stats APIs
properties:
active:
description: Indicates if interface is active/inactive
readOnly: true
type: boolean
auth_state:
$ref: '#/components/schemas/port_auth_state'
description: Authentication state of the port
disabled:
description: Indicates if interface is disabled
readOnly: true
type: boolean
for_site:
description: Whether the reporting device is scoped to a specific site
readOnly: true
type: boolean
full_duplex:
description: Indicates full or half duplex
examples:
- true
type: boolean
jitter:
description: Last sampled jitter of the interface
readOnly: true
type: number
last_flapped:
description: Indicates when the port was last flapped
format: double
readOnly: true
type: number
latency:
description: Last sampled latency of the interface
readOnly: true
type: number
loss:
description: Last sampled loss of the interface
readOnly: true
type: number
lte_iccid:
description: LTE ICCID value, Check for null/empty
type:
- string
- 'null'
lte_imei:
description: LTE IMEI value, Check for null/empty
type:
- string
- 'null'
lte_imsi:
description: LTE IMSI value, Check for null/empty
type:
- string
- 'null'
mac:
description: Switch MAC address that reported these port statistics
examples:
- 5c4527a96580
readOnly: true
type: string
mac_count:
description: Number of MAC addresses in the forwarding table
readOnly: true
type: integer
mac_limit:
description: Limit on number of dynamically learned macs
minimum: 0
readOnly: true
type: integer
neighbor_mac:
description: chassis identifier of the chassis type listed
examples:
- 64d814353400
readOnly: true
type: string
neighbor_port_desc:
description: Description supplied by the system on the interface E.g. "GigabitEthernet2/0/39"
examples:
- GigabitEthernet1/0/21
readOnly: true
type: string
neighbor_system_name:
description: Name supplied by the system on the interface E.g. neighbor system name E.g. "Kumar-Acc-SW.mist.local"
examples:
- CORP-D-SW-2
readOnly: true
type: string
org_id:
$ref: '#/components/schemas/org_id'
description: Organization identifier of the reporting switch
poe_disabled:
description: Is the POE disabled
readOnly: true
type: boolean
poe_mode:
$ref: '#/components/schemas/stats_switch_port_poe_mode'
description: PoE mode reported for the port
poe_on:
description: Is the device attached to POE
readOnly: true
type: boolean
poe_priority:
$ref: '#/components/schemas/poe_priority'
description: PoE priority configured for the port
port_id:
description: Identifier of the port reporting these statistics
examples:
- ge-0/0/0
readOnly: true
type: string
port_mac:
description: MAC address assigned to the interface
examples:
- 5c4527a96580
readOnly: true
type: string
port_usage:
description: Logical usage assigned to the port
examples:
- lan
type: string
power_draw:
description: Amount of power being used by the interface at the time the command is executed. Unit in watts.
readOnly: true
type: number
rx_bcast_pkts:
description: Number of broadcast packets received on the interface
readOnly: true
type: integer
rx_bps:
$ref: '#/components/schemas/rx_bps'
description: Receive throughput of the port, in bits per second
rx_bytes:
$ref: '#/components/schemas/rx_bytes'
description: Total bytes received on the port
rx_errors:
description: Number of receive errors observed on the interface
readOnly: true
type: integer
rx_mcast_pkts:
description: Number of multicast packets received on the interface
readOnly: true
type: integer
rx_pkts:
$ref: '#/components/schemas/rx_pkts'
description: Total packets received on the port
site_id:
$ref: '#/components/schemas/site_id'
description: Site identifier of the reporting switch
speed:
description: Current link speed of the port, in Mbps
examples:
- 1000
readOnly: true
type: integer
stp_role:
$ref: '#/components/schemas/port_stp_role'
description: Current spanning tree role of the port
stp_state:
$ref: '#/components/schemas/port_stp_state'
description: Current spanning tree state of the port
tx_bcast_pkts:
description: Number of broadcast packets transmitted on the interface
readOnly: true
type: integer
tx_bps:
$ref: '#/components/schemas/tx_bps'
description: Transmit throughput of the port, in bits per second
tx_bytes:
$ref: '#/components/schemas/tx_bytes'
description: Total bytes transmitted on the port
tx_errors:
description: Number of transmit errors observed on the interface
readOnly: true
type: integer
tx_mcast_pkts:
description: Number of multicast packets transmitted on the interface
readOnly: true
type: integer
tx_pkts:
$ref: '#/components/schemas/tx_pkts'
description: Total packets transmitted on the port
type:
$ref: '#/components/schemas/stats_switch_port_type'
description: Detected device category connected to the port, when available
unconfigured:
description: Indicates if interface is unconfigured
readOnly: true
type: boolean
up:
description: Indicates if interface is up
readOnly: true
type: boolean
uplink:
description: Indicates if interface is an uplink port
readOnly: true
type: boolean
xcvr_model:
description: Optic Slot ModelName, Check for null/empty
examples:
- SFP+-10G-SR
readOnly: true
type: string
xcvr_part_number:
description: Optic Slot Partnumber, Check for null/empty
examples:
- 740-021487
readOnly: true
type: string
xcvr_serial:
description: Optic Slot SerialNumber, Check for null/empty
examples:
- N6AA9HT
readOnly: true
type: string
required:
- mac
- org_id
- port_id
- site_id
type: object
timestamp:
description: Epoch timestamp, in seconds
format: double
readOnly: true
type: number
stats_cluster_config_ethernet_connection:
description: Ethernet interface connection states for a gateway cluster
items:
$ref: '#/components/schemas/stats_cluster_config_ethernet_connection_item'
type: array
stats_ap:
additionalProperties: false
description: AP runtime statistics, placement data, and inventory metadata
properties:
antenna_select:
$ref: '#/components/schemas/antenna_select'
description: Selectable antenna mode reported for the AP
auto_placement:
$ref: '#/components/schemas/stats_ap_auto_placement'
description: Auto placement result and status for the AP
auto_upgrade_stat:
$ref: '#/components/schemas/stats_ap_auto_upgrade'
description: Automatic firmware upgrade status for the AP
ble_stat:
$ref: '#/components/schemas/stats_ap_ble'
description: BLE radio and beacon statistics reported by the AP
cert_expiry:
description: Certificate expiry timestamp for the AP, in epoch seconds
examples:
- 1534534392
readOnly: true
type:
- number
- 'null'
config_reverted:
description: Whether the AP configuration was reverted by the device
readOnly: true
type:
- boolean
- 'null'
cpu_system:
description: CPU system utilization reported by the AP
format: int64
readOnly: true
type:
- integer
- 'null'
cpu_user:
description: CPU user utilization reported by the AP
format: int32
readOnly: true
type:
- integer
- 'null'
cpu_util:
description: Total CPU utilization reported by the AP
format: int32
readOnly: true
type:
- integer
- 'null'
created_time:
$ref: '#/components/schemas/created_time'
description: Time when the AP record was created, in epoch seconds
deviceprofile_id:
description: Device profile identifier applied to the AP, when present
format: uuid
readOnly: true
type:
- string
- 'null'
env_stat:
$ref: '#/components/schemas/stats_ap_env_stat'
description: Environmental sensor readings reported by the AP
esl_stat:
$ref: '#/components/schemas/stats_ap_esl_stat'
description: Electronic shelf label dongle status reported by the AP
evpntopo_id:
description: EVPN topology identifier associated with the AP, when present
format: uuid
readOnly: true
type:
- string
- 'null'
expiring_certs:
$ref: '#/components/schemas/stats_ap_expiring_certs'
description: Certificates on the AP that are expiring within 30 days
ext_ip:
description: Public IP address observed for the AP
examples:
- 73.92.124.103
readOnly: true
type:
- string
- 'null'
fwupdate:
$ref: '#/components/schemas/fwupdate_stat'
description: Firmware update status for the AP
gps_stat:
$ref: '#/components/schemas/stats_ap_gps_stat'
description: GPS location data reported for the AP
hw_rev:
description: Hardware revision reported by the AP
readOnly: true
type:
- string
- 'null'
id:
$ref: '#/components/schemas/id'
description: Unique identifier for the AP
inactive_wired_vlans:
$ref: '#/components/schemas/integers'
description: Wired VLAN identifiers currently inactive on the AP
iot_stat:
$ref: '#/components/schemas/stats_ap_iot_stat'
description: IoT input statistics reported by the AP
ip:
description: Management IP address currently reported by the AP
examples:
- 10.2.9.159
readOnly: true
type:
- string
- 'null'
ip_config:
$ref: '#/components/schemas/ap_ip_config'
description: IP configuration applied to the AP management interface
ip_stat:
$ref: '#/components/schemas/ip_stat'
description: Read-only IP addressing status reported by the AP
l2tp_stat:
additionalProperties:
$ref: '#/components/schemas/stats_ap_l2tp_stat'
description: L2TP tunnel status (key is the wxtunnel_id)
type: object
last_seen:
$ref: '#/components/schemas/last_seen'
description: Time when the AP was last seen by Mist, in epoch seconds
last_trouble:
$ref: '#/components/schemas/last_trouble'
description: Most recent AP trouble indicator and timestamp
led:
$ref: '#/components/schemas/ap_led'
description: Light indicator state for the AP
lldp_stat:
$ref: '#/components/schemas/stats_ap_lldp_stat'
description: Primary LLDP neighbor and power negotiation details for the AP
lldp_stats:
$ref: '#/components/schemas/stats_ap_lldp_stats'
description: Per-port LLDP neighbor and power negotiation details for the AP
locating:
description: Whether AP locating mode is currently active
examples:
- false
readOnly: true
type:
- boolean
- 'null'
locked:
description: Whether this AP is considered locked (placement / orientation has been vetted)
examples:
- true
readOnly: true
type:
- boolean
- 'null'
mac:
description: AP MAC address reported by Mist
examples:
- 5c5b35000010
readOnly: true
type:
- string
- 'null'
map_id:
description: Map identifier where the AP is placed, when available
examples:
- 63eda950-c6da-11e4-a628-60f81dd250cc
format: uuid
readOnly: true
type:
- string
- 'null'
mem_total_kb:
description: Total memory available on the AP, in kilobytes
format: int64
readOnly: true
type:
- integer
- 'null'
mem_used_kb:
description: Memory currently used on the AP, in kilobytes
format: int64
readOnly: true
type:
- integer
- 'null'
mesh_downlinks:
additionalProperties:
$ref: '#/components/schemas/ap_stat_mesh_downlink'
description: Property key is the mesh downlink id (e.g. `00000000-0000-0000-1000-5c5b35000010`)
type: object
mesh_uplink:
$ref: '#/components/schemas/ap_stat_mesh_uplink'
description: Mesh uplink status for the AP
model:
description: AP model identifier reported by Mist
examples:
- AP200
readOnly: true
type:
- string
- 'null'
modified_time:
$ref: '#/components/schemas/modified_time'
description: Time when the AP record was last modified, in epoch seconds
mount:
description: Orientation configured for the AP mount
examples:
- faceup
readOnly: true
type:
- string
- 'null'
name:
description: Display name of the AP
examples:
- conference room
readOnly: true
type:
- string
- 'null'
notes:
description: Free-form notes configured on the AP record
readOnly: true
type:
- string
- 'null'
num_clients:
description: How many wireless clients are currently connected
readOnly: true
type:
- integer
- 'null'
# --- truncated at 32 KB (220 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mist/refs/heads/main/openapi/mist-sites-stats-devices-api-openapi.yml