Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Juniper Mist AI Installer API

In a typical enterprise, a separate group of people, Installers, are responsible for install new devices. May it be a new installation (e.g. new stores), a replacement installation (e.g. replacing Cisco APs with Mist APs), or addition (e.g. adding new APs for better coverage). Instead of granting them Admin/Write privilege, it's more desirable to grant them minimum privileges to do the initial provisioning so they cannot read sensible information (e.g. PSK of a WLAN), or change configs of running APs.At a high level, Installer APs try to achieve the following:1. identifying a device by MAC (that\u2019\ s what they see)2. they can only touch configurations of the devices they\u2019\re installing3. allow the following configurations: * name * site assignment * device profile assignment * map and location (x/y) assignment * claim (if not already in the inventory) * replace existing device with the device being installed**Grace Period**Grace period provides a dynamic way to limit what devices / sites installer can work on. Generally installers work on recent deployments - bringing up new sites, add newly claimed devices to new / existing sites. They make mistakes, too, and may need to further tweak some of the parameters. Default grace period is 7 days and can be set from 1 day to 365 days.

Juniper Mist AI Installer API is one of 211 APIs that Juniper Mist AI publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Installer. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 23 operations across 16 paths, and defines 95 schemas. It is described by OpenAPI 3.1.0, at version 2604.1.1.

Requests are made against 12 base URLs: https://api.mist.com, https://api.gc1.mist.com, https://api.ac2.mist.com, https://api.gc2.mist.com, https://api.gc4.mist.com, https://api.eu.mist.com, https://api.gc3.mist.com, https://api.ac6.mist.com, https://api.gc6.mist.com, https://api.ac5.mist.com, https://api.gc5.mist.com, https://api.gc7.mist.com.

23 operations 16 paths 95 schemas 3 DELETE9 GET7 POST4 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
2604.1.1
Base URL
https://api.mist.com/api/v1
Authentication
API Key, HTTP Basic, API Key
License
Resource Areas
1

Authentication & Security 3

Juniper Mist AI Installer API declares 3 security schemes for authenticating requests. An API key is passed in the header as Authorization (apiToken). It accepts HTTP basic authentication (basicAuth). An API key is passed in the header as X-CSRFToken (csrfToken). By default, every request must be authenticated.

  • apiToken — 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 equa…
  • basicAuth — While our current UI uses Session / Cookie-based authentication, it’s also possible to do Basic Auth.
  • csrfToken — This protects the website against [Cross Site Request Forgery](https://en.wikipedia.org/wiki/Cross-siterequestforgery), all the POST / PUT / DELETE APIs needs…

Paths & Operations 23

Across 16 paths, the API surfaces 23 operations — 3 DELETE, 9 GET, 7 POST, 4 PUT. Each is listed below with its method, path, parameters, and response codes.

Installer 23

In a typical enterprise, a separate group of people, Installers, are responsible for install new devices. May it be a new installation (e.g. new stores), a replacement installatio…

GET
/api/v1/installer/orgs/{org_id}/alarmtemplates
listInstallerAlarmTemplates
listInstallerAlarmTemplates 1 param → 200400401403404429
GET
/api/v1/installer/orgs/{org_id}/deviceprofiles
listInstallerDeviceProfiles
listInstallerDeviceProfiles 2 params → 200400401403404429
GET
/api/v1/installer/orgs/{org_id}/devices
listInstallerListOfRecentlyClaimedDevices
listInstallerListOfRecentlyClaimedDevices 6 params → 200400401403404429
POST
/api/v1/installer/orgs/{org_id}/devices
claimInstallerDevices
claimInstallerDevices 1 param body → 200400401403404429
DELETE
/api/v1/installer/orgs/{org_id}/devices/{device_mac}
unassignInstallerRecentlyClaimedDevice
unassignInstallerRecentlyClaimedDevice 2 params → 200400401403404429
PUT
/api/v1/installer/orgs/{org_id}/devices/{device_mac}
provisionInstallerDevices
provisionInstallerDevices 2 params body → 200400401403404429
POST
/api/v1/installer/orgs/{org_id}/devices/{device_mac}/locate
startInstallerLocateDevice
startInstallerLocateDevice 2 params → 200400401403404429
POST
/api/v1/installer/orgs/{org_id}/devices/{device_mac}/unlocate
stopInstallerLocateDevice
stopInstallerLocateDevice 2 params → 200400401403404429
DELETE
/api/v1/installer/orgs/{org_id}/devices/{device_mac}/{image_name}
deleteInstallerDeviceImage
deleteInstallerDeviceImage 3 params → 200400401403404429
POST
/api/v1/installer/orgs/{org_id}/devices/{device_mac}/{image_name}
addInstallerDeviceImage
addInstallerDeviceImage 3 params body → 200400401403404429
GET
/api/v1/installer/orgs/{org_id}/devices/{fpc0_mac}/vc
getInstallerDeviceVirtualChassis
getInstallerDeviceVirtualChassis 2 params → 200400401403404429
POST
/api/v1/installer/orgs/{org_id}/devices/{fpc0_mac}/vc
createInstallerVirtualChassis
createInstallerVirtualChassis 2 params body → 200400401403404429
PUT
/api/v1/installer/orgs/{org_id}/devices/{fpc0_mac}/vc
updateInstallerVirtualChassisMember
updateInstallerVirtualChassisMember 2 params body → 200400401403404429
GET
/api/v1/installer/orgs/{org_id}/rftemplates
listInstallerRfTemplatesNames
listInstallerRfTemplatesNames 1 param → 200400401403404429
GET
/api/v1/installer/orgs/{org_id}/sitegroups
listInstallerSiteGroups
listInstallerSiteGroups 1 param → 200400401403404429
GET
/api/v1/installer/orgs/{org_id}/sites
listInstallerSites
listInstallerSites 1 param → 200400401403404429
PUT
/api/v1/installer/orgs/{org_id}/sites/{site_name}
createOrUpdateInstallerSites
createOrUpdateInstallerSites 2 params body → 200400401403404429
GET
/api/v1/installer/orgs/{org_id}/sites/{site_name}/maps
listInstallerMaps
listInstallerMaps 2 params → 200400401403404429
POST
/api/v1/installer/orgs/{org_id}/sites/{site_name}/maps/import
importInstallerMap
importInstallerMap 2 params body → 200400401403404429
DELETE
/api/v1/installer/orgs/{org_id}/sites/{site_name}/maps/{map_id}
deleteInstallerMap
deleteInstallerMap 3 params → 200400401403404429
POST
/api/v1/installer/orgs/{org_id}/sites/{site_name}/maps/{map_id}
createInstallerMap
createInstallerMap 3 params body → 200400401403404429
PUT
/api/v1/installer/orgs/{org_id}/sites/{site_name}/maps/{map_id}
updateInstallerMap
updateInstallerMap 3 params body → 200400401403404429
GET
/api/v1/installer/sites/{site_name}/optimize
optimizeInstallerRrm
optimizeInstallerRrm 1 param → 200400401403404429

Schemas 95

The contract defines 95 schemas that model the data the API accepts and returns. The most detailed are stats_switch_module_stat_item (35 properties), map (31 properties), installer_device (19 properties), response_virtual_chassis_config (13 properties). Each schema is shown below with its type and property counts.

response_virtual_chassis_config
object
13 properties
claim_codes
array
List of Claim Codes
strings
array
response_inventory
object
6 properties
map_import_json
object
4 properties 1 required
response_inventory_inventory_added
array
virtual_chassis_member_update_vc_ports
array
Required if op==add or op==preprovision
map_site_import_file
object
4 properties
response_map_import_summary
object
3 properties 3 required
installer_device_ble_stat
object
BLE statistics for the device
3 properties
map_wall_path_nodes
array
response_inventory_inventory_duplicated_items
object
5 properties 5 required
map_geofence_vertices
array
List of vertices defining the geofence
virtual_chassis_member_update
object
5 properties
response_inventory_error
array
map_geofences
array
List of geofences for the map
module_stat_item_errors
array
Used to report all error states the device node is running into. An error should always have type and since fields, and could have some other fields specific t…
map_wall_path
object
JSON blob for wall definition (same format as wayfindingpath)
2 properties
map_sitesurvey_path_items
object
4 properties
module_stat_item_pics_item_port_groups
array
latlng_br
object
When type=google, latitude / longitude of the bottom-right corner
2 properties
map_sitesurvey_path_items_nodes
array
installer_site
object
8 properties 4 required
module_stat_item_vc_links
array
virtual_chassis_member_update_vc_role
string
Required if op==add or op==preprovision. enum: backup, linecard, master
module_stat_item_poe
object
3 properties
virtual_chassis_config_members
array
latlng_tl
object
When type=google, latitude / longitude of the top-left corner
2 properties
response_http401
object
1 property
map_import_json_vendor_name
string
enum: ekahau, ibwave
module_stat_item_pics_item_port_groups_item
object
2 properties
module_stat_item_pics_item
object
3 properties
map_node_position
object
2 properties 2 required
module_stat_item_psus
array
stats_switch_module_stat
array
response_map_import_ap_action
string
enum: assigned-named-placed, assigned-placed, ignored, named-placed, placed
response_detail_string
object
1 property
module_stat_item_vc_links_item
object
3 properties
map_wayfinding_micello
object
3 properties
map_geofence_vertice
object
2 properties
virtual_chassis_config_member_vc_role
string
enum: backup, linecard, master
cpu_stat_load_avg
array
Load averages for the last 1, 5, and 15 minutes
map_view
stringnull
if type==google. enum: hybrid, roadmap, satellite, terrain
created_time
number
When the object has been created, in epoch
map_wayfinding
object
Properties related to wayfinding
2 properties
virtual_chassis_update
object
Virtual Chassis
5 properties
installers
array
map_sitesurvey_path
array
Sitesurveypath
lat_lng
object
2 properties 2 required
response_inventory_duplicated
array
maps
array
installer_devices
array
response_map_import
object
5 properties 4 required
map_wayfinding_path_nodes
array
cpu_stat
object
6 properties
response_map_import_ap
object
7 properties 5 required
response_http429
object
1 property
installer_sites
array
module_stat_item_fans
array
map_geofence
object
2 properties
memory_stat
object
Memory usage stat (for virtual chassis, memory usage of master RE)
1 property 1 required
map_node
object
Nodes on maps
3 properties 1 required
module_stat_item_temperatures
array
module_stat_item_errors_items
object
5 properties 2 required
virtual_chassis_update_op
string
enum: add, preprovision, remove, renumber
org_id
string
virtual_chassis_update_members
array
id
string
Unique ID of the object instance in the Mist Organization
map_type
string
enum: google, image
response_http403
object
1 property
virtual_chassis_config_member
object
5 properties 2 required
response_inventory_inventory_added_items
object
5 properties 5 required
response_map_import_floorplans
array
map_wayfinding_path
object
JSON blob for wayfinding (using Dijkstra’s algorithm)
2 properties
virtual_chassis_config
object
Virtual Chassis
3 properties
site_id
string
stats_switch_module_stat_item
object
35 properties
last_seen
numbernull
Last seen timestamp
response_inventory_added
array
response_http404
object
1 property
response_map_import_aps
array
device_type_default_ap
string
enum: ap, gateway, switch
response_http400
object
1 property
module_stat_item_psus_item
object
2 properties
module_stat_item_pics
array
module_stat_item_fans_items
object
4 properties
response_inventory_inventory_duplicated
array
installer_device
object
19 properties
installers_item
object
2 properties
installer_provision_device
object
Provision Device
12 properties 1 required
response_map_import_floorplan
object
5 properties 4 required
map
object
Map
31 properties
installer_site_sitegroup_names
array
module_stat_item_temperatures_item
object
3 properties
modified_time
number
When the object has been modified for the last time, in epoch

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

mist-ai-installer-api-openapi.yml Raw ↑

Other APIs Juniper Mist AI publishes across the network.

Juniper Mist WebSocket Streaming API
Juniper Mist Webhooks API
Juniper Mist AI Admins API
Juniper Mist AI Admins Login API
Juniper Mist AI Admins Login - OAuth2 API
Juniper Mist AI Admins Logout API
Juniper Mist AI Admins Lookup API
Juniper Mist AI Admins Recover Password API
Juniper Mist AI Constants Definitions API
Juniper Mist AI Constants Events API
Juniper Mist AI Constants Models API
Juniper Mist AI MSPs Admins API