openapi: 3.1.0 info: contact: email: tmunzer@juniper.net name: Thomas Munzer description: '> Version: **2604.1.1** > > Date: **May 13, 2026**
NOTE:
Some important API changes will be introduced. Please make sure to read the announcements
--- ## 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 - Zones API version: 2604.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: [] - basicAuth: [] - basicAuth: [] csrfToken: [] tags: - description: API Calls to retrieve Zones statistics for the current Site name: Sites Stats - Zones paths: /api/v1/sites/{site_id}/stats/rssizones: parameters: - $ref: '#/components/parameters/site_id' get: description: Get List of Site RSSI Zones Stats operationId: listSiteRssiZonesStats responses: '200': $ref: '#/components/responses/RssiZoneStatsArray' '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: listSiteRssiZonesStats tags: - Sites Stats - Zones /api/v1/sites/{site_id}/stats/rssizones/{zone_id}: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/zone_id' get: description: Get Detail RSSI Zone Stats operationId: getSiteRssiZoneStats responses: '200': $ref: '#/components/responses/ZoneStats' '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: getSiteRssiZoneStats tags: - Sites Stats - Zones /api/v1/sites/{site_id}/stats/zones: parameters: - $ref: '#/components/parameters/site_id' get: description: Get List of Site Zones Stats operationId: listSiteZonesStats parameters: - in: query name: map_id schema: examples: - 00000000-0000-0000-0000-000000000000 type: string - in: query name: min_duration schema: examples: - 120 type: integer responses: '200': $ref: '#/components/responses/ZoneStatsArray' '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: listSiteZonesStats tags: - Sites Stats - Zones /api/v1/sites/{site_id}/stats/zones/{zone_id}: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/zone_id' get: description: Get Detail Zone Stats operationId: getSiteZoneStats responses: '200': $ref: '#/components/responses/ZoneStats' '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: getSiteZoneStats tags: - Sites Stats - Zones components: schemas: stats_zone_details_clients: description: List of clients currently in the zone and when they entered items: examples: - 5684dae9ac8b type: string type: array id: description: Unique ID of the object instance in the Mist Organization examples: - 53f10664-3ce8-4c27-b382-0ef66432349f format: uuid readOnly: true type: string stats_zone_details_sdkclients: description: List of SDK Clients currently in the zone and when they entered items: examples: - 7e2b463d-c91c-ff7d-f3c0-6eccc6949ff8 type: string type: array stats_zone_details_client_waits: additionalProperties: false description: Client wait time right now properties: avg: description: Average wait time in seconds examples: - 1200 type: integer max: description: Longest wait time in seconds examples: - 3610 type: integer min: description: Shortest wait time in seconds examples: - 600 type: integer p95: description: 95th percentile of all the wait time(s) examples: - 2800 type: integer required: - avg - max - min - p95 type: object response_http403: additionalProperties: false properties: detail: examples: - You do not have permission to perform this action. type: string type: object stats_zone_sdkclients_waits: additionalProperties: false description: SDK client wait time right now properties: avg: description: Average wait time in seconds examples: - 0 type: number max: description: Longest wait time in seconds examples: - 0 type: number min: description: Shortest wait time in seconds examples: - 0 type: number p95: description: 95th percentile of all the wait time(s) examples: - 0 type: number type: object zone_vertex: additionalProperties: false properties: x: description: X in pixel format: double type: number y: description: Y in pixel format: double type: number required: - x - y type: object uniqueItems: true stats_zone_discovered_assets_waits: additionalProperties: false description: Discovered asset wait time right now properties: avg: description: Average wait time in seconds examples: - 0 type: number max: description: Longest wait time in seconds examples: - 0 type: number min: description: Shortest wait time in seconds examples: - 0 type: number p95: description: 95th percentile of all the wait time(s) examples: - 0 type: number type: object stats_zone_clients_waits: additionalProperties: false description: Client wait time right now properties: avg: description: Average wait time in seconds examples: - 1200 type: number max: description: Longest wait time in seconds examples: - 3610 type: number min: description: Shortest wait time in seconds examples: - 600 type: number p95: description: 95th percentile of all the wait time(s) examples: - 2800 type: number type: object stats_zones: items: $ref: '#/components/schemas/stats_zone' type: array site_id: examples: - 441a1214-6928-442a-8e92-e1d34b8ec6a6 format: uuid readOnly: true type: string response_http404: additionalProperties: false properties: id: type: string type: object stats_rssi_zones_devices: items: $ref: '#/components/schemas/stats_rssi_zones_device' type: array stats_zone_details_assets: description: List of ble assets currently in the zone and when they entered items: examples: - df8dff06ae90 type: string type: array stats_rssi_zone: additionalProperties: false description: Zone statistics properties: assets_wait: $ref: '#/components/schemas/stats_zone_assets_waits' clients_wait: $ref: '#/components/schemas/stats_zone_clients_waits' created_time: $ref: '#/components/schemas/created_time' devices: $ref: '#/components/schemas/stats_rssi_zones_devices' discovered_assets_wait: $ref: '#/components/schemas/stats_zone_discovered_assets_waits' id: $ref: '#/components/schemas/id' modified_time: $ref: '#/components/schemas/modified_time' name: description: Name of the zone examples: - Zone A type: string num_assets: description: Number of assets examples: - 0 type: integer num_clients: description: Number of Wi-Fi clients (unconnected + connected) examples: - 80 type: integer num_discovered_assets: description: Number of discoveredassets examples: - 0 type: integer num_sdkclients: description: Number of sdk clients examples: - 10 type: integer num_unconnected_clients: description: Number of unconnected Wi-Fi clients examples: - 80 type: integer occupancy_limit: examples: - 4 type: integer org_id: $ref: '#/components/schemas/org_id' sdkclients_wait: $ref: '#/components/schemas/stats_zone_sdkclients_waits' site_id: $ref: '#/components/schemas/site_id' unconnected_clients_wait: $ref: '#/components/schemas/stats_zone_unconnected_clients_waits' required: - id - name - devices type: object response_http400: additionalProperties: false properties: detail: examples: - 'JSON parse error - Expecting value: line 5 column 8 (char 56)' type: string type: object zone_vertices_m: examples: - - x: 24.1983341951072 y: 60.198314985369144 - x: 24.21486311190714 y: 57.22310996138056 - x: 27.685935639893827 y: 57.23963887818049 - x: 27.73552239029364 y: 60.198314985369144 items: $ref: '#/components/schemas/zone_vertex_m' type: array zone_vertex_m: additionalProperties: false properties: x: description: X in pixel format: double type: number y: description: Y in pixel format: double type: number required: - x - y type: object uniqueItems: true stats_rssi_zones_device: additionalProperties: false properties: device_id: format: uuid type: string rssi: type: integer type: object response_http429: additionalProperties: false properties: detail: examples: - Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold type: string type: object stats_zone_assets_waits: additionalProperties: false description: BLE asset wait time right now properties: avg: description: Average wait time in seconds examples: - 0 type: number max: description: Longest wait time in seconds examples: - 0 type: number min: description: Shortest wait time in seconds examples: - 0 type: number p95: description: 95th percentile of all the wait time(s) examples: - 0 type: number type: object stats_zone_details: additionalProperties: false description: Zone details statistics properties: assets: $ref: '#/components/schemas/stats_zone_details_assets' client_waits: $ref: '#/components/schemas/stats_zone_details_client_waits' clients: $ref: '#/components/schemas/stats_zone_details_clients' id: $ref: '#/components/schemas/id' map_id: description: Map_id of the zone examples: - 63eda950-c6da-11e4-a628-60f81dd250cc format: uuid type: string name: description: Name of the zone examples: - Board Room type: string num_clients: examples: - 80 type: integer num_sdkclients: description: SDK client wait time right now examples: - 0 type: integer sdkclients: $ref: '#/components/schemas/stats_zone_details_sdkclients' required: - client_waits - id - map_id - name - num_clients - num_sdkclients type: object stats_rssi_zones: items: $ref: '#/components/schemas/stats_rssi_zone' type: array stats_zone_unconnected_clients_waits: additionalProperties: false description: Unconnected Wi-Fi client wait time right now properties: avg: description: Average wait time in seconds examples: - 0 type: number max: description: Longest wait time in seconds examples: - 0 type: number min: description: Shortest wait time in seconds examples: - 0 type: number p95: description: 95th percentile of all the wait time(s) examples: - 0 type: number type: object zone_vertices: description: Vertices used to define an area. It’s assumed that the last point connects to the first point and forms an closed area examples: - - x: 732 y: 1821 - x: 732.5 y: 1731 - x: 837.5 y: 1731.5 - x: 839 y: 1821 items: $ref: '#/components/schemas/zone_vertex' type: array response_http401: additionalProperties: false properties: detail: examples: - Authentication credentials were not provided. type: string type: object org_id: examples: - a97c1b22-a4e9-411e-9bfd-d8695a0f9e61 format: uuid readOnly: true type: string stats_zone: additionalProperties: false description: Zone statistics properties: assets_wait: $ref: '#/components/schemas/stats_zone_assets_waits' clients_wait: $ref: '#/components/schemas/stats_zone_clients_waits' created_time: $ref: '#/components/schemas/created_time' discovered_assets_wait: $ref: '#/components/schemas/stats_zone_discovered_assets_waits' id: $ref: '#/components/schemas/id' map_id: description: Map_id of the zone examples: - 123449d4-d12f-4feb-b40f-5be0e2ae1234 format: uuid type: string modified_time: $ref: '#/components/schemas/modified_time' name: description: Name of the zone examples: - Zone A type: string num_assets: description: Number of assets examples: - 0 type: integer num_clients: description: Number of Wi-Fi clients (unconnected + connected) examples: - 80 type: integer num_discovered_assets: description: Number of discoveredassets examples: - 0 type: integer num_sdkclients: description: Number of sdk clients examples: - 10 type: integer num_unconnected_clients: description: Number of unconnected Wi-Fi clients examples: - 80 type: integer occupancy_limit: examples: - 4 type: integer org_id: $ref: '#/components/schemas/org_id' sdkclients_wait: $ref: '#/components/schemas/stats_zone_sdkclients_waits' site_id: $ref: '#/components/schemas/site_id' unconnected_clients_wait: $ref: '#/components/schemas/stats_zone_unconnected_clients_waits' vertices: $ref: '#/components/schemas/zone_vertices' vertices_m: $ref: '#/components/schemas/zone_vertices_m' required: - id - map_id - name type: object modified_time: description: When the object has been modified for the last time, in epoch format: double readOnly: true type: number created_time: description: When the object has been created, in epoch format: double readOnly: true type: number examples: ZoneStatsArraywithoutmapidqueryparam: value: - created_time: 1616625211 id: 123470c7-5d9d-424a-8475-8b344c621234 map_id: 123449d4-d12f-4feb-b40f-5be0e2ae1234 modified_time: 1616625211 name: Zone A occupancy_limit: 4 org_id: 1234c1a0-6ef6-11e6-8bbf-02e208b21234 site_id: 123448e6-6ef6-11e6-8bbf-02e208b21234 vertices: - x: 732 y: 1821 - x: 732.5 y: 1731 - x: 837.5 y: 1731.5 - x: 839 y: 1821 vertices_m: - x: 24.1983341951072 y: 60.198314985369144 - x: 24.21486311190714 y: 57.22310996138056 - x: 27.685935639893827 y: 57.23963887818049 - x: 27.73552239029364 y: 60.198314985369144 RssiZoneStatsArrayExample1: value: - assets_wait: avg: 0 max: 0 min: 0 p95: 0 clients_wait: avg: 39259.333333333336 max: 58361 min: 12376 p95: 58361 created_time: 1733864928 devices: - device_id: 00000000-0000-0000-1000-c8786708bb5d rssi: -70 discovered_assets_wait: avg: 0 max: 0 min: 0 p95: 0 id: 17ef7169-e000-4dcd-abc7-f721f0a8ffda modified_time: 1733864928 name: proximity openspace num_assets: 0 num_clients: 3 num_discovered_assets: 0 num_sdkclients: 0 num_unconnected_clients: 7 org_id: c5fbc9e4-12bf-436e-98c4-1c842c66ab6c sdkclients_wait: avg: 0 max: 0 min: 0 p95: 0 site_id: 079fafd3-ef5c-4b23-90f0-9fcebec0023a unconnected_clients_wait: avg: 37552.857142857145 max: 68342 min: 6649 p95: 68342 ZoneStatsArrayExample1: value: - assets_wait: avg: 0 max: 0 min: 0 p95: 0 clients_wait: avg: 1200 max: 3610 min: 600 p95: 2800 created_time: 1616625211 id: 123470c7-5d9d-424a-8475-8b344c621234 map_id: 123449d4-d12f-4feb-b40f-5be0e2ae1234 modified_time: 1616625211 name: Zone A num_assets: 0 num_clients: 80 num_sdkclients: 10 occupancy_limit: 4 org_id: 1234c1a0-6ef6-11e6-8bbf-02e208b21234 sdkclients_wait: avg: 1200 max: 3610 min: 600 p95: 2800 site_id: 123448e6-6ef6-11e6-8bbf-02e208b21234 vertices: - x: 732 y: 1821 - x: 732.5 y: 1731 - x: 837.5 y: 1731.5 - x: 839 y: 1821 vertices_m: - x: 24.1983341951072 y: 60.198314985369144 - x: 24.21486311190714 y: 57.22310996138056 - x: 27.685935639893827 y: 57.23963887818049 - x: 27.73552239029364 y: 60.198314985369144 ZoneStatsExample: value: assets: - df8dff06ae90 client_waits: avg: 1200 max: 3610 min: 600 p95: 2800 clients: - 5684dae9ac8b id: 8ac84899-32db-6327-334c-9b6d58544cfe map_id: 63eda950-c6da-11e4-a628-60f81dd250cc name: Board Room num_clients: 80 num_sdkclients: 0 sdkclients: - 7e2b463d-c91c-ff7d-f3c0-6eccc6949ff8 HTTP400Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' HTTP403Example: value: detail: You do not have permission to perform this action. HTTP429Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold HTTP401Example: value: detail: Authentication credentials were not provided. responses: ZoneStatsArray: content: application/json: examples: Example-1: $ref: '#/components/examples/ZoneStatsArrayExample1' without-map_id-query-param: $ref: '#/components/examples/ZoneStatsArraywithoutmapidqueryparam' schema: $ref: '#/components/schemas/stats_zones' application/vnd.api+json: examples: Example-1: $ref: '#/components/examples/ZoneStatsArrayExample1' without-map_id-query-param: $ref: '#/components/examples/ZoneStatsArraywithoutmapidqueryparam' schema: $ref: '#/components/schemas/stats_zones' description: Example response RssiZoneStatsArray: content: application/json: examples: Example-1: $ref: '#/components/examples/RssiZoneStatsArrayExample1' schema: $ref: '#/components/schemas/stats_rssi_zones' application/vnd.api+json: examples: Example-1: $ref: '#/components/examples/RssiZoneStatsArrayExample1' schema: $ref: '#/components/schemas/stats_rssi_zones' description: Example response 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 ZoneStats: content: application/json: examples: Example: $ref: '#/components/examples/ZoneStatsExample' schema: $ref: '#/components/schemas/stats_zone_details' application/vnd.api+json: examples: Example: $ref: '#/components/examples/ZoneStatsExample' schema: $ref: '#/components/schemas/stats_zone_details' description: Zone Stats 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 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 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 parameters: site_id: in: path name: site_id required: true schema: examples: - 000000ab-00ab-00ab-00ab-0000000000ab format: uuid type: string zone_id: in: path name: zone_id required: true schema: examples: - 000000ab-00ab-00ab-00ab-0000000000ab format: uuid type: string securitySchemes: apiToken: description: "Like many other API providers, it’s also possible to generate API Tokens to be used (in HTTP Header) for authentication. An API token ties to a Admin with equal or less privileges.\n\n**Format**:\n API Token value format is `Token {apitoken}`\n\n**Notes**:\n* an API token generated for a specific admin has the same privilege as the user\n* an API token will be automatically removed if not used for > 90 days\n* SSO admins cannot generate these API tokens. Refer Org level API tokens which can have privileges of a specific Org/Site for more information." in: header name: Authorization type: apiKey basicAuth: description: While our current UI uses Session / Cookie-based authentication, it’s also possible to do Basic Auth. scheme: basic type: http csrfToken: description: "This protects the website against [Cross Site Request Forgery](https://en.wikipedia.org/wiki/Cross-site_request_forgery), all the POST / PUT / DELETE APIs needs to have CSRF token in the AJAX Request header when using Login/Password authentication (with or without MFA)\n\n\nThe CSRF Token is sent back by Mist in the Cookies from the Login Response API Call:\n`cookies[csrftoken]` \n\nThe CSRF Token must be added in the HTTP Request Headers:\n```\nX-CSRFToken: vwvBuq9qkqaKh7lu8tNc0gkvBfEaLAmx\n```" in: header name: X-CSRFToken type: apiKey