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 Clients - Wan 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: WAN Clients are devices connected to a Juniper SRX or SSX gateway monitor or managed by Mist name: Sites Clients - Wan paths: /api/v1/sites/{site_id}/wan_client/events/count: parameters: - $ref: '#/components/parameters/site_id' get: description: Count by Distinct Attributes of Site WAN Client-Events operationId: countSiteWanClientEvents parameters: - in: query name: distinct schema: $ref: '#/components/schemas/site_wan_client_events_distinct' - $ref: '#/components/parameters/client_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: countSiteWanClientEvents tags: - Sites Clients - Wan /api/v1/sites/{site_id}/wan_clients/count: parameters: - $ref: '#/components/parameters/site_id' get: description: Count by Distinct Attributes of Site WAN Clients operationId: countSiteWanClients parameters: - in: query name: distinct schema: $ref: '#/components/schemas/site_wan_clients_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: countSiteWanClients tags: - Sites Clients - Wan /api/v1/sites/{site_id}/wan_clients/events/search: parameters: - $ref: '#/components/parameters/site_id' get: description: Search Site WAN Client Events operationId: searchSiteWanClientEvents parameters: - $ref: '#/components/parameters/client_event_type' - $ref: '#/components/parameters/partial_filter_mac_client' - $ref: '#/components/parameters/partial_filter_hostname_client' - description: Client IP in: query name: ip schema: examples: - 10.4.2.4 type: string - description: Manufacture in: query name: mfg schema: examples: - Juniper type: string - description: nacrule_id in: query name: nacrule_id schema: examples: - 00000000-0000-0000-0000-000000000000 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/WanClientEventsSearch' '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: searchSiteWanClientEvents tags: - Sites Clients - Wan /api/v1/sites/{site_id}/wan_clients/search: parameters: - $ref: '#/components/parameters/site_id' get: description: Search Site WAN Clients operationId: searchSiteWanClients parameters: - $ref: '#/components/parameters/partial_filter_hostname_client' - $ref: '#/components/parameters/partial_filter_ip_client' - description: IP source in: query name: ip_src schema: examples: - dhcp type: string - description: Client MAC Address. in: query name: mac schema: examples: - 5c5b53010101 type: string - description: Manufacture in: query name: mfg schema: type: string - $ref: '#/components/parameters/partial_filter_network' - $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/WanClientsSearch' '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: searchSiteWanClients tags: - Sites Clients - Wan components: schemas: 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_http403: additionalProperties: false properties: detail: examples: - You do not have permission to perform this action. type: string type: object events_client_wan: additionalProperties: false properties: When: examples: - '2022-12-31 23:59:59.293000+00:00' type: string ev_type: examples: - CLIENT_IP_ASSIGNED type: string metadata: additionalProperties: true type: object org_id: $ref: '#/components/schemas/org_id' random_mac: type: boolean site_id: $ref: '#/components/schemas/site_id' text: examples: - DHCP Ack IP 192.168.88.216 type: string wcid: examples: - 62bbfb75-10d8-49d1-dec7-d2df91624287 format: uuid type: string type: object stats_wan_clients: items: $ref: '#/components/schemas/stats_wan_client' type: array 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 site_id: examples: - 441a1214-6928-442a-8e92-e1d34b8ec6a6 format: uuid readOnly: true type: string response_http404: additionalProperties: false properties: id: type: string type: object timestamp: description: Epoch (seconds) format: double readOnly: true type: number site_wan_client_events_distinct: default: type description: 'enum: `hostname`, `ip`, `mac`, `mfg`, `type`' enum: - hostname - ip - mac - mfg - type type: string stats_wan_client_ip: items: examples: - 192.168.1.139 type: string type: array response_http400: additionalProperties: false properties: detail: examples: - 'JSON parse error - Expecting value: line 5 column 8 (char 56)' type: string type: object stats_wan_client: additionalProperties: false properties: dhcp_expire_time: type: number dhcp_start_time: type: number hostname: $ref: '#/components/schemas/stats_wan_client_hostname' ip: $ref: '#/components/schemas/stats_wan_client_ip' ip_src: examples: - dhcp type: string last_hostname: examples: - sonoszp type: string last_ip: examples: - 192.168.1.139 type: string mfg: examples: - Sonos type: string network: examples: - lan type: string org_id: $ref: '#/components/schemas/org_id' site_id: $ref: '#/components/schemas/site_id' timestamp: $ref: '#/components/schemas/timestamp' wcid: examples: - 8bbe7389-212b-c65d-2208-00fab2017936 type: string type: object search_wan_client: additionalProperties: false properties: end: type: integer limit: type: integer next: type: string results: $ref: '#/components/schemas/stats_wan_clients' start: type: integer total: type: integer type: object search_events_wan_client: additionalProperties: false properties: end: type: integer limit: type: integer next: type: string results: $ref: '#/components/schemas/events_client_wan' start: type: integer total: 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_wan_client_hostname: items: examples: - sonoszp type: string type: array site_wan_clients_count_distinct: default: mac description: 'enum: `hostname`, `ip`, `mac`, `mfg`' enum: - hostname - ip - mac - mfg 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 examples: CountExample: value: distinct: string end: 0 limit: 0 results: - count: 0 property: string start: 0 total: 0 WanClientsSearchExample: value: end: 0 limit: 0 results: - hostname: - sonoszp ip: - 192.168.1.139 last_hostname: sonoszp last_ip: 192.168.1.139 mfg: Sonos org_id: b4e16c72-d50e-4c03-a952-a3217e231e2c site_id: f688779c-e335-4f88-8d7c-9c5e9964528b wcid: 8bbe7389-212b-c65d-2208-00fab2017936 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 HTTP401Example: value: detail: Authentication credentials were not provided. WanClientEventsSearchExample: value: end: 0 limit: 0 results: When: '2022-12-31 23:59:59.293000+00:00' ev_type: CLIENT_IP_ASSIGNED metadata: {} org_id: b0b9f142-aaba-11e6-aafc-0242ac110002 random_mac: true site_id: fc656275-b157-43fd-b922-5f4f341c19bf text: DHCP Ack IP 192.168.88.216 wcid: 62bbfb75-10d8-49d1-dec7-d2df91624287 start: 0 total: 0 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 partial_filter_ip_client: description: Partial / full Client IP Address. Use `prefix*` for prefix search or `*substring*` for contains search (e.g. `10.100.10.*` and `*100.10.*` match `10.100.10.54`). Suffix-only wildcards (e.g. `*.54`) are not supported in: query name: ip schema: examples: - 10.100.10.54 - 10.100.10.* - '*100.10.*' type: string duration: description: Duration like 7d, 2w in: query name: duration schema: default: 1d examples: - 10m type: string partial_filter_mac_client: description: Partial / full Client MAC Address. Use `prefix*` for prefix search or `*substring*` for contains search (e.g. `aabbcc*` and `*bbcc*` match `aabbccddeeff`). Suffix-only wildcards (e.g. `*bccddeeff`) are not supported in: query name: mac schema: examples: - aabbccddeeff - aabbcc* - '*bbcc*' 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 client_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 partial_filter_hostname_client: description: Partial / full Client hostname. Use `prefix*` for prefix search or `*substring*` for contains search (e.g. `everest*` and `*rest*` match `my-everest-client`). Suffix-only wildcards (e.g. `*everest`) are not supported in: query name: hostname schema: examples: - my-everest-client - my-everest* - '*everest*' type: string partial_filter_network: description: Partial / full Name of the network the client is/was connected to. Use `prefix*` for prefix search or `*substring*` for contains search (e.g. `my-corp*` and `*corp*` match `my-corp-network`). Suffix-only wildcards (e.g. `*corp`) are not supported in: query name: network schema: examples: - my-corp-network - my-corp* - '*corp*' 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 responses: 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 WanClientEventsSearch: content: application/json: examples: Example: $ref: '#/components/examples/WanClientEventsSearchExample' schema: $ref: '#/components/schemas/search_events_wan_client' application/vnd.api+json: examples: Example: $ref: '#/components/examples/WanClientEventsSearchExample' schema: $ref: '#/components/schemas/search_events_wan_client' description: Example response 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 WanClientsSearch: content: application/json: examples: Example: $ref: '#/components/examples/WanClientsSearchExample' schema: $ref: '#/components/schemas/search_wan_client' application/vnd.api+json: examples: Example: $ref: '#/components/examples/WanClientsSearchExample' schema: $ref: '#/components/schemas/search_wan_client' description: Example response 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 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