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 Orgs Devices 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: Devices are any Network device managed or monitored by Juniper Mist. It can be * Wireless Access Points * Juniper Switch (EX, QFX) * Juniper WAN Gateway (SRX, SSR) * Mist Edges * Other or 3rd party devices, like Cradlepoint Devices name: Orgs Devices paths: /api/v1/orgs/{org_id}/devices: parameters: - $ref: '#/components/parameters/org_id' get: description: Get List of Org Devices operationId: listOrgDevices responses: '200': $ref: '#/components/responses/OrgDevices' '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: listOrgDevices tags: - Orgs Devices /api/v1/orgs/{org_id}/devices/count: parameters: - $ref: '#/components/parameters/org_id' get: description: Count by Distinct Attributes of Org Devices operationId: countOrgDevices parameters: - in: query name: distinct schema: $ref: '#/components/schemas/org_devices_count_distinct' - description: Partial / full hostname in: query name: hostname schema: examples: - my-hostname type: string - description: Site id in: query name: site_id schema: examples: - 7dae216d-7c98-a51b-e068-dd7d477b7216 format: uuid type: string - description: Device model in: query name: model schema: examples: - MR84 type: string - deprecated: true description: 'for switches and gateways, to filter on managed/unmanaged devices. Deprecated in favour of mist_configured. enum: `true`, `false`' in: query name: managed schema: examples: - 'true' type: string - description: AP mac in: query name: mac schema: examples: - 5c5b53010101 type: string - description: Version in: query name: version schema: examples: - 10.0.0 type: string - $ref: '#/components/parameters/ip' - description: 'MxTunnel status, enum: `up`, `down`' in: query name: mxtunnel_status schema: $ref: '#/components/schemas/count_org_devices_mxtunnel_status' - description: Mist Edge id, if AP is connecting to a Mist Edge in: query name: mxedge_id schema: examples: - 7dae216d-7c98-a51b-e068-dd7d477b7216 format: uuid type: string - description: LLDP system name in: query name: lldp_system_name schema: examples: - my-lldp-system type: string - description: LLDP system description in: query name: lldp_system_desc schema: examples: - my-lldp-system-description type: string - description: LLDP port id in: query name: lldp_port_id schema: examples: - ge-0/0/1 type: string - description: LLDP management ip address in: query name: lldp_mgmt_addr schema: examples: - 10.4.2.3 type: string - in: query name: type schema: $ref: '#/components/schemas/device_type_default_ap' - $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: countOrgDevices tags: - Orgs Devices /api/v1/orgs/{org_id}/devices/events/count: parameters: - $ref: '#/components/parameters/org_id' get: description: Count by Distinct Attributes of Org Devices Events operationId: countOrgDeviceEvents parameters: - in: query name: distinct schema: $ref: '#/components/schemas/org_devices_events_count_distinct' - description: Site id in: query name: site_id schema: examples: - 7dae216d-7c98-a51b-e068-dd7d477b7216 format: uuid type: string - description: AP mac in: query name: ap schema: examples: - 5c5b53010101 type: string - description: AP Firmware in: query name: apfw schema: examples: - 10.0.0 type: string - description: Device model in: query name: model schema: examples: - AP43 type: string - description: Event message in: query name: text schema: examples: - Device connected type: string - description: Event time in: query name: timestamp schema: examples: - '1703003296' type: string - $ref: '#/components/parameters/device_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: countOrgDeviceEvents tags: - Orgs Devices /api/v1/orgs/{org_id}/devices/events/search: parameters: - $ref: '#/components/parameters/org_id' get: description: Search Org Devices Events operationId: searchOrgDeviceEvents parameters: - description: Device mac in: query name: mac schema: examples: - 5c5b53010101 type: string - description: Device model in: query name: model schema: examples: - AP43 type: string - in: query name: device_type schema: $ref: '#/components/schemas/device_type_with_all' - description: Event message in: query name: text schema: examples: - Device connected type: string - description: Event time in: query name: timestamp schema: examples: - '1703003296' type: string - $ref: '#/components/parameters/device_event_type' - description: Return last/recent event for passed in field in: query name: last_by schema: examples: - port_id 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/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: searchOrgDeviceEvents tags: - Orgs Devices /api/v1/orgs/{org_id}/devices/last_config/count: parameters: - $ref: '#/components/parameters/org_id' get: description: Counts the number of entries in device config history for distinct field with given filters operationId: countOrgDeviceLastConfigs parameters: - in: query name: type schema: $ref: '#/components/schemas/device_type_default_ap' - in: query name: distinct schema: $ref: '#/components/schemas/org_devices_last_configs_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: countOrgDeviceLastConfigs tags: - Orgs Devices /api/v1/orgs/{org_id}/devices/last_config/search: parameters: - $ref: '#/components/parameters/org_id' get: description: Search Device Last Configs operationId: searchOrgDeviceLastConfigs parameters: - in: query name: device_type schema: $ref: '#/components/schemas/last_config_device_type' - description: Device MAC address in: query name: mac schema: examples: - 5c5b53010101 type: string - description: Devices Name in: query name: name schema: examples: - My AP type: string - description: Device Version in: query name: version schema: examples: - 10.0.0 type: string - description: 'Duration for expiring cert queries (format: 2d/3h/172800 seconds)' in: query name: cert_expiry_duration schema: examples: - 2d type: string - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/limit' - $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: searchOrgDeviceLastConfigs tags: - Orgs Devices /api/v1/orgs/{org_id}/devices/radio_macs: parameters: - $ref: '#/components/parameters/org_id' get: description: 'For some scenarios like E911 or security systems, the BSSIDs are required to identify which AP the client is connecting to. Then the location of the AP can be used as the approximate location of the client. Each radio MAC can have up to 16 BSSIDs. These are derived by incrementing the least significant hexadecimal digit (last nibble) of the MAC address from 0 to F, while keeping the remaining bits unchanged.' operationId: listOrgApsMacs parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': $ref: '#/components/responses/RadioMacs' '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: listOrgApsMacs tags: - Orgs Devices /api/v1/orgs/{org_id}/devices/search: parameters: - $ref: '#/components/parameters/org_id' get: description: Search Org Devices operationId: searchOrgDevices 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`, MxTunnel status, up / down. in: query name: mxtunnel_status schema: $ref: '#/components/schemas/search_org_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 * (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: Site id in: query name: site_id schema: examples: - 7dae216d-7c98-a51b-e068-dd7d477b7216 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: Version in: query name: version 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/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: searchOrgDevices tags: - Orgs Devices /api/v1/orgs/{org_id}/devices/summary: parameters: - $ref: '#/components/parameters/org_id' get: description: Get Org Devices Summary operationId: listOrgDevicesSummary responses: '200': $ref: '#/components/responses/OrgDevicesSummary' '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: listOrgDevicesSummary tags: - Orgs Devices /api/v1/orgs/{org_id}/ocdevices/outbound_ssh_cmd: parameters: - $ref: '#/components/parameters/org_id' get: description: 'Get Org Juniper Devices command Juniper devices can be managed/adopted by Mist. Currently outbound-ssh + netconf is used. A few lines of CLI commands are generated per-Org, allowing the Juniper devices to phone home to Mist.' operationId: getOrgJuniperDevicesCommand parameters: - description: Site_id would be used for proxy config check of the site and automatic site assignment in: query name: site_id schema: type: string responses: '200': $ref: '#/components/responses/JunosRegisterCmd' '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: getOrgJuniperDevicesCommand tags: - Orgs Devices components: examples: OrgDevicesSummaryExample: value: num_aps: 630 num_gateways: 6 num_mxedges: 1 num_switches: 30 num_unassigned_aps: 5 num_unassigned_gateways: 0 num_unassigned_switches: 0 HTTP403Example: value: detail: You do not have permission to perform this action. ConfigsHistorySearchExample: value: end: 1531862583 limit: 10 results: - channel_24: 11 channel_5: 100 radio_macs: - 5c5b352e000a - 5c5b352e000b - 5c5b352e000c radios: - band: '24' channel: 11 - band: '5' channel: 100 secpolicy_violated: false ssids: - test24 - test5 ssids_24: - test24 ssids_5: - test5 timestamp: 1531855856.643369 version: apfw-0.2.14754-cersei-75c8 wlans: - auth: psk bands: - '24' id: be22bba7-8e22-e1cf-5185-b880816fe2cf ssid: test24 vlan_ids: - '1' - auth: psk bands: - '5' id: f8c18724-4118-3487-811a-f98964988604 ssid: test5 vlan_ids: - '1' start: 1531776183 total: 1 RadioMacsExample: value: - mac: 5c5b35000001 radio_macs: - 5c5b35000040 - 5c5b35000050 - 5c5b35000060 - mac: 5c5b45000001 radio_macs: - 5c5b45000040 - 5c5b45000050 - 5c5b45000060 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 DevicesSearchGateway: value: end: 0 limit: 0 next: string results: - clustered: true evpn_missing_links: false evpntopo_id: '' ext_ip: 250.242.0.102 hostname: - wan-teleworker - 00ec77599d00 - router ip: 250.242.0.102 last_config_status: success last_hostname: wan-teleworker mac: 00ec77599d00 mist_configured: true model: SSR120 node: node1 node0_mac: 00ec77599d00 node1_mac: 00ec77599d01 num_members: 0 org_id: 6748cfa6-4e12-11e6-9188-0242ac110007 role: '' site_id: a8178443-ecb5-461c-b854-f16627619ab3 t128agent_version: 3.8.0-201 time_drifted: false timestamp: 1734001399.025 type: gateway uptime: 3586951 version: 6.2.5-5.r2 start: 0 total: 0 DevicesSearchAp: value: end: 0 limit: 0 next: string results: - hostname: - AP41-STB-3E5299-WH-2001 - AP41-STB-3E5299-WH-50 - AP41-STB-3E5299 - 5c5b353e5299 ip: 10.2.16.205 lldp_mgmt_addr: 10.2.10.139 lldp_port_desc: GigabitEthernet1/0/1 lldp_port_id: Gi1/0/1 lldp_system_desc: 'Cisco IOS Software, C2960S Software (C2960S-UNIVERSALK9-M), Version 15.2(1)E1, RELEASE SOFTWARE (fc2) Technical Support: https://www.cisco.com/techsupport Copyright (c) 1986-2013 by Cisco Systems, Inc. Compiled Fri 22-Nov-13 07:10 by prod_rel_team' lldp_system_name: ME-DC-1-ACC-SW mac: 5c5b353e5299 model: AP41 mxedge_id: 00000000-0000-0000-1000-43a81f238391 mxtunnel_status: down org_id: 6748cfa6-4e12-11e6-9188-0242ac110007 power_constrained: false power_opmode: '' site_id: a8178443-ecb5-461c-b854-f16627619ab3 sku: AP41-US timestamp: 1596588619.007 uptime: 85280 version: 0.7.20216 wlans: - id: 28c36fc7-dc22-4960-9d81-34087511c2e5 ssid: Live-Demo-NAC - id: 51b82e2b-f9e8-470b-a32a-cecde5501b0f ssid: Live-Demo start: 0 total: 0 CountExample: value: distinct: string end: 0 limit: 0 results: - count: 0 property: string start: 0 total: 0 JunosRegisterCmdExample: value: cmd: 'set system services ssh... ... set system services outbound-ssh client mist ...' OrgDevicesExample: value: results: - mac: string name: string HTTP429Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold HTTP400Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' HTTP401Example: value: detail: Authentication credentials were not provided. DevicesSearchSwitch: value: end: 0 limit: 0 next: string results: - clustered: false evpn_missing_links: false evpntopo_id: '' ext_ip: 0.0.0.0 hostname: - ld-cup-idf-bbb ip: 10.0.0.217 last_config_status: success last_hostname: ld-cup-idf-bbb last_trouble_code: '106' last_trouble_timestamp: 1719540 mac: 00c78d939c00 mist_configured: true model: EX4100-48MP num_members: 1 org_id: 6748cfa6-4e12-11e6-9188-0242ac110007 role: '' site_id: a8178443-ecb5-461c-b854-f16627619ab3 time_drifted: false timestamp: 1733998766.256 type: switch uptime: 19287811 version: 22.4R3.25 start: 0 total: 0 schemas: response_device_search_results: items: $ref: '#/components/schemas/response_device_search_results_items' type: array uniqueItems: true response_config_history_search_item_wlans: items: $ref: '#/components/schemas/response_config_history_search_item_wlan' type: array uniqueItems: true response_config_history_search_item_radio: additionalProperties: false properties: band: type: string channel: type: integer required: - band - channel type: object strings: items: type: string type: array uniqueItems: true 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 count_org_devices_mxtunnel_status: description: 'enum: `down`, `up`' enum: - down - up type: string timestamp: description: Epoch (seconds) format: double readOnly: true type: number response_config_history_search_item_radios: items: $ref: '#/components/schemas/response_config_history_search_item_radio' type: array uniqueItems: true search_org_devices_mxtunnel_status: description: 'enum: `down`, `up`' enum: - down - up type: string 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_device_search: additionalProperties: false properties: end: type: integer limit: type: integer next: type: string results: $ref: '#/components/schemas/response_device_search_results' start: type: integer total: type: integer required: - end - limit - results - start - total type: object response_http401: additionalProperties: false properties: detail: examples: - Authentication credentials were not provided. type: string type: object ap_radio_mac_radio_macs: examples: - - 5c5b350001a0 - 5c5b350001a1 items: type: string type: array 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_org_devices: additionalProperties: false properties: results: $ref: '#/components/schemas/org_devices' required: - results type: object device_type_switch: description: 'Device Type. enum: `switch`' enum: - switch type: string switch_search: additionalProperties: false properties: clustered: type: boolean evpn_missing_links: type: boolean evpntopo_id: type: string ext_ip: type: string hostname: $ref: '#/components/schemas/strings' ip: type: string last_config_status: type: string last_hostname: type: string last_trouble_code: type: string last_trouble_timestamp: $ref: '#/components/schemas/timestamp' mac: type: string managed: deprecated: true type: boolean mist_configured: description: whether the device can be configured by Mist or not. This deprecates `managed` (for adopted device) and `disable_auto_config` for claimed device) type: boolean model: type: string num_members: type: integer org_id: $ref: '#/components/schemas/org_id' radius_stats: $ref: '#/components/schemas/device_search_radius_stats' role: type: string site_id: $ref: '#/components/schemas/site_id' time_drifted: type: boolean timestamp: $ref: '#/components/schemas/timestamp' type: $ref: '#/components/schemas/device_type_switch' uptime: type: integer version: type: string required: - type type: object response_config_history_search_results: items: $ref: '#/components/schemas/response_config_history_search_item' type: array uniqueItems: true org_device: additionalProperties: false properties: mac: type: string name: type: string required: - mac - name type: object device_type_with_all: default: ap description: ap, switch, gateway, router, all, default is ap. Supports comma-separated values for multiple types (e.g., type=switch,gateway) type: string ap_search_wlans: items: $ref: '#/components/schemas/ap_search_wlan' type: array response_device_config_cmd: additionalProperties: false properties: cmd: type: string required: - cmd type: object ap_radio_macs: items: $ref: '#/components/schemas/ap_radio_mac' minItems: 1 type: array uniqueItems: true response_device_search_results_items: oneOf: - $ref: '#/components/schemas/ap_search' - $ref: '#/components/schemas/switch_search' - $ref: '#/components/schemas/gateway_search' device_search_radius_stat: additionalProperties: false properties: auth_accepts: description: Number of accepted authentication requests type: integer auth_rejects: description: Number of rejected authentication requests type: integer auth_server_status: $ref: '#/components/schemas/device_search_radius_filter_status' auth_timeouts: description: Number of authentication timeouts type: integer type: object org_devices: items: $ref: '#/components/schemas/org_device' type: array uniqueItems: true ha_cluster_node_enum: description: 'only for HA. enum: `node0`, `node1`' enum: - node0 - node1 type: string device_search_radius_stats: additionalProperties: $ref: '#/components/schemas/device_search_radius_stat' description: Property key is the RADIUS server IP Address type: object org_devices_events_count_distinct: default: model description: 'enum: `ap`, `apfw`, `model`, `org_id`, `site_id`, `text`, `timestamp`, `type`' enum: - ap - apfw - model - org_id - site_id - text - timestamp - type type: string org_devices_count_distinct: default: model description: 'enum: `hostname`, `ip`, `lldp_mgmt_addr`, `lldp_port_id`, `lldp_system_desc`, `lldp_system_name`, `mac`, `model`, `mxedge_id`, `mxtunnel_status`, `site_id`, `version`' enum: - hostname - ip - lldp_mgmt_addr - lldp_port_id - lldp_system_desc - lldp_system_name - mac - model - mxedge_id - mxtunnel_status - site_id - version type: string response_config_history_search: additionalProperties: false properties: end: type: integer limit: type: integer next: type: string results: $ref: '#/components/schemas/response_config_history_search_results' start: type: integer total: type: integer required: - end - limit - results - start - total type: object ap_search_hostnames: description: List of hostnames detected for the AP items: type: string type: array ap_radio_mac: additionalProperties: false examples: - mac: 5c5b350001a0 radio_macs: - 5c5b350001a0 - 5c5b350001a1 properties: mac: examples: - 5c5b350001a0 minLength: 1 type: string radio_macs: $ref: '#/components/schemas/ap_radio_mac_radio_macs' required: - mac - radio_macs type: object count_result: additionalProperties: type: string properties: count: type: integer required: - count type: object response_org_devices_summary: additionalProperties: false properties: num_aps: readOnly: true type: integer num_gateways: readOnly: true type: integer num_mxedges: readOnly: true type: integer num_switches: readOnly: true type: integer num_unassigned_aps: readOnly: true type: integer num_unassigned_gateways: readOnly: true type: integer num_unassigned_switches: readOnly: true type: integer type: object response_config_history_search_item: additionalProperties: false properties: channel_24: type: integer channel_5: type: integer radio_macs: $ref: '#/components/schemas/strings' radios: $ref: '#/components/schemas/response_config_history_search_item_radios' secpolicy_violated: type: boolean ssids: $ref: '#/components/schemas/strings' ssids_24: $ref: '#/components/schemas/strings' ssids_5: $ref: '#/components/schemas/strings' timestamp: $ref: '#/components/schemas/timestamp' version: type: string wlans: $ref: '#/components/schemas/response_config_history_search_item_wlans' required: - channel_24 - channel_5 - secpolicy_violated - timestamp - version type: object device_events: items: $ref: '#/components/schemas/device_event' type: array uniqueItems: true device_search_radius_filter_status: description: 'Status of the device search radius filter. enum: `up`, `down`, `unreachable`' enum: - up - down - unreachable type: string gateway_search: additionalProperties: false properties: clustered: type: boolean evpn_missing_links: type: boolean evpntopo_id: type: string ext_ip: type: string hostname: $ref: '#/components/schemas/strings' ip: type: string last_config_status: type: string last_hostname: type: string last_trouble_code: type: string last_trouble_timestamp: type: integer mac: type: string managed: deprecated: true type: boolean mist_configured: description: whether the device can be configured by Mist or not. This deprecates `managed` (for adopted device) and `disable_auto_config` for claimed device) type: boolean model: type: string node: type: string node0_mac: type: string node1_mac: type: string num_members: type: integer org_id: $ref: '#/components/schemas/org_id' role: type: string site_id: $ref: '#/components/schemas/site_id' t128agent_version: type: string time_drifted: type: boolean timestamp: $ref: '#/components/schemas/timestamp' type: $ref: '#/components/schemas/device_type_gateway' uptime: type: integer version: type: string required: - type 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 org_id: examples: - a97c1b22-a4e9-411e-9bfd-d8695a0f9e61 format: uuid readOnly: true type: string 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_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 site_id: examples: - 441a1214-6928-442a-8e92-e1d34b8ec6a6 format: uuid readOnly: true type: string ap_search: additionalProperties: false properties: band_24_bandwidth: description: Bandwidth of band_24 type: string band_24_channel: description: Channel of band_24 type: integer band_24_power: type: integer band_5_bandwidth: description: Bandwidth of band_5 type: string band_5_channel: description: Channel of band_5 type: integer band_5_power: type: integer band_6_bandwidth: type: string band_6_channel: description: Channel of band_6 type: integer band_6_power: type: integer eth0_port_speed: description: Port speed of eth0 type: integer ext_ip: type: string hostname: $ref: '#/components/schemas/ap_search_hostnames' inactive_wired_vlans: $ref: '#/components/schemas/ap_search_inactive_wired_vlans' ip: description: IP Address type: string last_hostname: type: string lldp_mgmt_addr: description: LLDP management ip address type: string lldp_port_desc: type: string lldp_port_id: description: LLDP port id type: string lldp_power_allocated: type: integer lldp_power_draw: type: integer lldp_system_desc: description: LLDP system description type: string lldp_system_name: description: LLDP system name type: string mac: description: Device model type: string model: type: string mxedge_id: description: Mist Edge id, if AP is connecting to a Mist Edge type: string mxedge_ids: description: Comma separated list of Mist Edge ids, if AP is connecting to a Mist Edge type: string mxtunnel_status: description: MxTunnel status type: string org_id: $ref: '#/components/schemas/org_id' power_constrained: type: boolean power_opmode: type: string site_id: $ref: '#/components/schemas/site_id' sku: type: string timestamp: $ref: '#/components/schemas/timestamp' uptime: type: integer version: description: Version type: string wlans: $ref: '#/components/schemas/ap_search_wlans' required: - power_constrained - power_opmode - mxtunnel_status - wlans type: object 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 ap_search_wlan: additionalProperties: false properties: id: format: uuid type: string ssid: type: string type: object response_http400: additionalProperties: false properties: detail: examples: - 'JSON parse error - Expecting value: line 5 column 8 (char 56)' type: string type: object device_type_default_ap: default: ap description: 'enum: `ap`, `gateway`, `switch`' enum: - ap - gateway - switch type: string ap_search_inactive_wired_vlans: items: type: integer type: array org_devices_last_configs_count_distinct: description: 'enum: `mac`, `name`, `site_id`, `version`' enum: - mac - name - site_id - version type: string last_config_device_type: default: ap description: 'enum: `ap`, `gateway`, `mxedge`, `switch`' enum: - ap - gateway - switch - mxedge type: string response_config_history_search_item_wlan: additionalProperties: false properties: auth: type: string bands: $ref: '#/components/schemas/strings' id: $ref: '#/components/schemas/id' ssid: type: string vlan_ids: $ref: '#/components/schemas/strings' required: - auth - id - ssid type: object device_type_gateway: description: 'Device Type. enum: `gateway`' enum: - gateway type: string parameters: ip: in: query name: ip schema: examples: - 192.168.1.1 format: ipv4 type: string partial_filter_ext_ip: description: Partial / full Device external ip. Use `prefix*` for prefix search or `*substring*` for contains search (e.g. `1.2.3.*` and `*.2.3.*` match `1.2.3.4`). Suffix-only wildcards (e.g. `*.2.3.4`) are not supported in: query name: ext_ip schema: examples: - 1.2.3.4 - 1.2.3.* - '*2.3.*' type: string device_type: description: 'Type of device. enum: `ap`, `gateway`, `switch`' in: query name: type schema: $ref: '#/components/schemas/device_type_default_ap' org_id: in: path name: org_id required: true schema: examples: - 000000ab-00ab-00ab-00ab-0000000000ab format: uuid type: string partial_filter_lldp_system_name: description: When `type`==`ap`, LLDP system name. Use `prefix*` for prefix search or `*substring*` for contains search (e.g. `my-switch*` and `*switch*` match `my-switch-01`). Suffix-only wildcards (e.g. `*switch-01`) are not supported in: query name: lldp_system_name schema: type: string duration: description: Duration like 7d, 2w in: query name: duration schema: default: 1d examples: - 10m type: string end: description: End time (epoch timestamp in seconds, or relative string like "-1d", "-2h", "now") in: query name: end schema: type: string device_event_type: description: See [List Device Events Definitions](/#operations/listDeviceEventsDefinitions) in: query name: type schema: 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 page: in: query name: page schema: default: 1 minimum: 1 type: integer start: description: Start time (epoch timestamp in seconds, or relative string like "-1d", "-1w") in: query name: start schema: type: string partial_filter_lldp_system_desc: description: When `type`==`ap`, LLDP system description. Use `prefix*` for prefix search or `*substring*` for contains search (e.g. `Juniper Networks*` and `*Networks*` match `Juniper Networks, Inc.`). Suffix-only wildcards (e.g. `*switch-01`) are not supported in: query name: lldp_system_desc schema: type: string partial_filter_ip_device: description: Partial / full Device 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 limit: in: query name: limit schema: default: 100 minimum: 0 type: integer 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_hostname_device: description: Partial / full Device hostname. Use `prefix*` for prefix search or `*substring*` for contains search (e.g. `my-london*` and `*london*` match `my-london-1`). Suffix-only wildcards (e.g. `*london-1`) are not supported in: query name: hostname schema: examples: - my-london-1 - my-london* - '*london*' type: string partial_filter_model: description: Partial / full Device model. Use `prefix*` for prefix search or `*substring*` for contains search (e.g. `AP4*` and `*P4*` match `AP43`). Suffix-only wildcards (e.g. `*43`) are not supported in: query name: model schema: examples: - AP43 - AP4* - '*P4*' type: string partial_filter_mac_device: description: Partial / full Device MAC address. Use `prefix*` for prefix search or `*substring*` for contains search (e.g. `001122*` and `*1122*` match `001122334455`). Suffix-only wildcards (e.g. `*4455`) are not supported in: query name: mac schema: examples: - aabbccddeeff - aabbcc* - '*bbcc*' type: string partial_filter_lldp_port_id: description: When `type`==`ap`, LLDP port id. Use `prefix*` for prefix search or `*substring*` for contains search (e.g. `ge-0/0/*` and `*-0/0/*` match `ge-0/0/30`). Suffix-only wildcards (e.g. `*switch-01`) are not supported in: query name: lldp_port_id schema: type: string responses: 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 ConfigsHistorySearch: content: application/json: examples: Example: $ref: '#/components/examples/ConfigsHistorySearchExample' schema: $ref: '#/components/schemas/response_config_history_search' application/vnd.api+json: examples: Example: $ref: '#/components/examples/ConfigsHistorySearchExample' schema: $ref: '#/components/schemas/response_config_history_search' description: OK 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 JunosRegisterCmd: content: application/json: examples: Example: $ref: '#/components/examples/JunosRegisterCmdExample' schema: $ref: '#/components/schemas/response_device_config_cmd' application/vnd.api+json: examples: Example: $ref: '#/components/examples/JunosRegisterCmdExample' schema: $ref: '#/components/schemas/response_device_config_cmd' description: OK 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 DevicesSearch: content: application/json: examples: Ap: $ref: '#/components/examples/DevicesSearchAp' Gateway: $ref: '#/components/examples/DevicesSearchGateway' Switch: $ref: '#/components/examples/DevicesSearchSwitch' schema: $ref: '#/components/schemas/response_device_search' application/vnd.api+json: examples: Ap: $ref: '#/components/examples/DevicesSearchAp' Gateway: $ref: '#/components/examples/DevicesSearchGateway' Switch: $ref: '#/components/examples/DevicesSearchSwitch' schema: $ref: '#/components/schemas/response_device_search' description: OK OrgDevicesSummary: content: application/json: examples: Example: $ref: '#/components/examples/OrgDevicesSummaryExample' schema: $ref: '#/components/schemas/response_org_devices_summary' application/vnd.api+json: examples: Example: $ref: '#/components/examples/OrgDevicesSummaryExample' schema: $ref: '#/components/schemas/response_org_devices_summary' 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 OrgDevices: content: application/json: examples: Example: $ref: '#/components/examples/OrgDevicesExample' schema: $ref: '#/components/schemas/response_org_devices' application/vnd.api+json: examples: Example: $ref: '#/components/examples/OrgDevicesExample' schema: $ref: '#/components/schemas/response_org_devices' description: OK RadioMacs: content: application/json: examples: Example: $ref: '#/components/examples/RadioMacsExample' schema: $ref: '#/components/schemas/ap_radio_macs' application/vnd.api+json: examples: Example: $ref: '#/components/examples/RadioMacsExample' schema: $ref: '#/components/schemas/ap_radio_macs' description: OK 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 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 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