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 Events 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: '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 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 by Distinct Attributes of System Events operationId: countSiteSystemEvents parameters: - 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 Site System Events 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: id: description: Unique ID of the object instance in the Mist Organization examples: - 53f10664-3ce8-4c27-b382-0ef66432349f format: uuid readOnly: true type: string response_count: additionalProperties: false properties: distinct: type: string end: type: integer limit: type: integer results: $ref: '#/components/schemas/count_results' start: type: integer total: type: integer required: - distinct - end - limit - results - start - total type: object response_device_events_search: additionalProperties: false properties: end: type: integer limit: type: integer next: type: string results: $ref: '#/components/schemas/device_events' start: type: integer total: type: integer required: - results - start - end - limit - total type: object response_http403: additionalProperties: false properties: detail: examples: - You do not have permission to perform this action. type: string type: object count_results: items: $ref: '#/components/schemas/count_result' type: array uniqueItems: true count_result: additionalProperties: type: string properties: count: type: integer required: - count type: object fast_roam_result: description: 'enum: `fail`, `none`, `success`' enum: - fail - none - success type: string site_id: examples: - 441a1214-6928-442a-8e92-e1d34b8ec6a6 format: uuid readOnly: true type: string device_events: items: $ref: '#/components/schemas/device_event' type: array uniqueItems: true response_http404: additionalProperties: false properties: id: type: string type: object webhook_device_events_event_ev_type: description: '(optional) event advisory. enum: `notice`, `warn`' enum: - notice - warn type: string site_system_events_count_distinct: default: type description: 'enum: `type`' enum: - type type: string timestamp: description: Epoch (seconds) format: double readOnly: true type: number event_fastroam: additionalProperties: false properties: ap_mac: type: string client_mac: type: string fromap: type: string latency: type: number ssid: type: string subtype: type: string timestamp: $ref: '#/components/schemas/timestamp' type: $ref: '#/components/schemas/event_fastroam_type' required: - latency - ssid - timestamp - ap_mac - fromap - client_mac type: object event_fastroam_type: description: 'enum: `fail`, `none`, `pingpong`, `poor`, `slow`, `success`' enum: - fail - none - pingpong - poor - slow - success type: string response_http400: additionalProperties: false properties: detail: examples: - 'JSON parse error - Expecting value: line 5 column 8 (char 56)' type: string type: object response_events_fastroam_results: items: $ref: '#/components/schemas/event_fastroam' type: array uniqueItems: true 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 device_event: additionalProperties: false properties: ap: description: (will be deprecated soon; please use mac instead) ap mac type: string ap_name: description: (will be deprecated soon; please use device_name instead) ap name type: string apfw: type: string audit_id: $ref: '#/components/schemas/id' bandwidth: type: integer channel: type: integer chassis_mac: type: string count: type: integer device_name: description: Device name type: string device_type: $ref: '#/components/schemas/device_type' ev_type: $ref: '#/components/schemas/webhook_device_events_event_ev_type' ext_ip: type: string mac: description: Device mac type: string model: type: string node: type: string org_id: $ref: '#/components/schemas/org_id' port_id: type: string power: type: integer pre_bandwidth: type: integer pre_channel: type: integer pre_power: type: integer pre_usage: type: integer reason: description: (optional) event reason type: string site_id: $ref: '#/components/schemas/site_id' site_name: description: Site name type: string text: description: (optional) event description type: string timestamp: $ref: '#/components/schemas/timestamp' type: description: Event type type: string usage: type: integer version: type: string required: - org_id - timestamp - type type: object device_type: description: 'enum: `ap`, `gateway`, `switch`' enum: - ap - gateway - switch type: string 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 response_events_fastroam: additionalProperties: false properties: end: type: integer limit: type: integer next: description: Link to query next set of results. value is null if no next page exists. type: string results: $ref: '#/components/schemas/response_events_fastroam_results' start: type: integer required: - start - end - limit - results type: object examples: CountExample: value: distinct: string end: 0 limit: 0 results: - count: 0 property: string start: 0 total: 0 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 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. 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 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 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 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 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 parameters: start: description: Start time (epoch timestamp in seconds, or relative string like "-1d", "-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: Duration like 7d, 2w in: query name: duration schema: default: 1d examples: - 10m 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 system_event_type: description: See [List Device Events Definitions](/#operations/listDeviceEventsDefinitions) in: query name: type schema: type: string end: description: End time (epoch timestamp in seconds, or relative string like "-1d", "-2h", "now") in: query name: end schema: type: string site_id: in: path name: site_id required: true schema: examples: - 000000ab-00ab-00ab-00ab-0000000000ab format: uuid type: string limit: in: query name: limit schema: default: 100 minimum: 0 type: integer 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