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 Maps 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: 'A Site Map is a visual representation of the layout and structure of a location, such as a building or campus. It includes accurate information about the placement, positions, heights, and orientations of Juniper Mist Access Points (APs) and other devices in the deployment. The floorplan is an essential component of location services as it enables the location engine to generate accurate location estimates for client devices, assets, and users at the site.' name: Sites Maps paths: /api/v1/sites/{site_id}/maps: parameters: - $ref: '#/components/parameters/site_id' get: description: Get List of Site Maps operationId: listSiteMaps parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': $ref: '#/components/responses/MapsArray' '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: listSiteMaps tags: - Sites Maps post: description: Create Site Map operationId: createSiteMap requestBody: content: application/json: examples: Example: value: group_idx: 0 group_name: string height: 0 height_m: 0 latlng_br: lat: string lng: string latlng_tl: lat: string lng: string locked: true name: string occupancy_limit: 0 orientation: 0 origin_x: 0 origin_y: 0 ppm: 0 sitesurvey_path: - coordinate: string name: string nodes: - edges: N2: string name: string position: x: 0 y: 0 type: image view: roadmap wall_path: coordinate: string nodes: - edges: N2: string name: string position: x: 0 y: 0 wayfinding: micello: account_key: string default_level_id: 0 snap_to_path: true wayfinding_path: coordinate: string nodes: - edges: N2: string name: string position: x: 0 y: 0 width: 0 width_m: 0 schema: $ref: '#/components/schemas/map' description: Request Body responses: '200': $ref: '#/components/responses/Map' '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: createSiteMap tags: - Sites Maps /api/v1/sites/{site_id}/maps/auto_geofences: parameters: - $ref: '#/components/parameters/site_id' post: description: The auto geofence service is a map parsing service that uses map image data to identify the exterior of buildings in the map image also known as "geofences". This API processes all maps for a given SiteId. The maps must have an image to parse for the auto geofence service. Repeated POST requests to this endpoint while the auto geofence service is processing the map will be rejected. operationId: startSiteMapsAutoGeofence responses: '200': $ref: '#/components/responses/OK' '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: startSiteMapsAutoGeofence tags: - Sites Maps /api/v1/sites/{site_id}/maps/import: parameters: - $ref: '#/components/parameters/site_id' post: description: 'Import data from files is a multipart POST which has an file, an optional json, and an optional csv, to create floorplan, assign matching inventory to specific site, place ap if name or mac matches. # Note This endpoint (at the site level), the AP must be already assigned to the site to be placed on the floorplan. If you want to place APs from the Org inventory, it is required to use the endpoint at the Org level [importOrgMaps](#operation/importOrgMaps) # CSV File Format ```csv Vendor AP name,Mist AP Mac US Office AP-2,5c:5b:35:00:00:02 US Office AP-3,5c5b35000002 ```' operationId: importSiteMaps requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/map_site_import_file' responses: '200': $ref: '#/components/responses/MapImport' '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: importSiteMaps tags: - Sites Maps /api/v1/sites/{site_id}/maps/{map_id}: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/map_id' delete: description: Delete Site Map operationId: deleteSiteMap responses: '200': $ref: '#/components/responses/OK' '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: deleteSiteMap tags: - Sites Maps get: description: Get Site Map Details operationId: getSiteMap responses: '200': $ref: '#/components/responses/Map' '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: getSiteMap tags: - Sites Maps put: description: Update Site Map operationId: updateSiteMap requestBody: content: application/json: examples: Example: value: height: 0 height_m: 0 latlng_br: lat: string lng: string latlng_tl: lat: string lng: string locked: true name: string occupancy_limit: 0 orientation: 0 origin_x: 0 origin_y: 0 ppm: 0 sitesurvey_path: - coordinate: string name: string nodes: - edges: N2: string name: string position: x: 0 y: 0 type: image view: roadmap wall_path: coordinate: string nodes: - edges: N2: string name: string position: x: 0 y: 0 wayfinding: micello: account_key: string default_level_id: 0 snap_to_path: true wayfinding_path: coordinate: string nodes: - edges: N2: string name: string position: x: 0 y: 0 width: 0 width_m: 0 schema: $ref: '#/components/schemas/map' description: Request Body responses: '200': $ref: '#/components/responses/Map' '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: updateSiteMap tags: - Sites Maps /api/v1/sites/{site_id}/maps/{map_id}/auto_geofences: parameters: - $ref: '#/components/parameters/map_id' - $ref: '#/components/parameters/site_id' post: description: The auto geofence service is a map parsing service that uses map image data to identify the exterior of buildings in the map image also known as "geofences". This API processes a single given MapId. This map must have an image to parse for the auto geofence service. Repeated POST requests to this endpoint while the auto geofence service is processing the map will be rejected. operationId: startSiteMapAutoGeofence responses: '200': $ref: '#/components/responses/OK' '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: startSiteMapAutoGeofence tags: - Sites Maps /api/v1/sites/{site_id}/maps/{map_id}/image: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/map_id' delete: description: Delete Site Map Image operationId: deleteSiteMapImage responses: '200': $ref: '#/components/responses/OK' '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: deleteSiteMapImage tags: - Sites Maps post: description: Add image map is a multipart POST which has an file (Image) and an optional json parameter operationId: addSiteMapImage requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/image_import' description: Request Body responses: '200': $ref: '#/components/responses/OK' '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: addSiteMapImage tags: - Sites Maps /api/v1/sites/{site_id}/maps/{map_id}/replace: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/map_id' post: description: 'Replace Map Image This works like an PUT where the image will be replaced. If transform is provided, all the locations of the objects on the map (AP, Zone, Vbeacon, Beacon) will be transformed as well (relative to the new Map)' operationId: replaceSiteMapImage requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/map_site_replace_file' responses: '200': $ref: '#/components/responses/OK' '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: replaceSiteMapImage tags: - Sites Maps /api/v1/sites/{site_id}/maps/{map_id}/set_map: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/map_id' post: description: "This API can be used to assign a list of AP Macs associated with site_id to the specified map_id. Note that map_id must be associated with corresponding site_id. This API obeys the following rules \n1. if AP is unassigned to any Map, it gets associated with map_id \n2. Any moved APs are returned in the response \n3. If the AP is considered a locked AP, no action will be taken" operationId: bulkAssignSiteApsToMap requestBody: content: application/json: examples: Example: value: macs: - 5c5b35000001 - 5c5b35584a6f schema: $ref: '#/components/schemas/mac_addresses' responses: '200': $ref: '#/components/responses/SetDevicesMap' '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: bulkAssignSiteApsToMap tags: - Sites Maps /api/v1/sites/{site_id}/maps/{map_id}/wayfinding/import: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/map_id' post: description: This imports the vendor map meta data into the Map JSON. This is required by the SDK and App in order to access/render the vendor Map properly. operationId: importSiteWayfindings requestBody: content: application/json: schema: $ref: '#/components/schemas/wayfinding_import_json' description: Request Body responses: '200': $ref: '#/components/responses/OK' '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: importSiteWayfindings tags: - Sites Maps components: schemas: response_set_devices_map_moved: items: examples: - 5c5b35000001 type: string type: array map_import_json: additionalProperties: false properties: import_all_floorplans: default: false type: boolean import_height: default: true type: boolean import_orientation: default: true type: boolean vendor_name: $ref: '#/components/schemas/map_import_json_vendor_name' required: - vendor_name type: object map_site_import_file: additionalProperties: false properties: auto_deviceprofile_assignment: description: Whether to auto assign device to deviceprofile by name examples: - true type: boolean csv: contentMediaType: application/octet-stream description: CSV file for ap name mapping, optional type: string file: contentMediaType: application/octet-stream description: Ekahau or ibwave file type: string json: $ref: '#/components/schemas/map_import_json' type: object response_map_import_summary: additionalProperties: false properties: num_ap_assigned: type: integer num_inv_assigned: type: integer num_map_assigned: type: integer required: - num_ap_assigned - num_map_assigned - num_inv_assigned type: object map_wall_path_nodes: items: $ref: '#/components/schemas/map_node' minItems: 0 type: array map_geofence_vertices: description: List of vertices defining the geofence items: $ref: '#/components/schemas/map_geofence_vertice' type: array map_geofences: description: List of geofences for the map items: $ref: '#/components/schemas/map_geofence' type: array map_wall_path: additionalProperties: false description: JSON blob for wall definition (same format as wayfinding_path) properties: coordinate: examples: - actual type: string nodes: $ref: '#/components/schemas/map_wall_path_nodes' type: object map_sitesurvey_path_items: additionalProperties: false properties: coordinate: examples: - actual type: string id: $ref: '#/components/schemas/id' name: examples: - Default type: string nodes: $ref: '#/components/schemas/map_sitesurvey_path_items_nodes' type: object latlng_br: additionalProperties: false description: When type=google, latitude / longitude of the bottom-right corner properties: lat: type: string lng: type: string type: object map_sitesurvey_path_items_nodes: items: $ref: '#/components/schemas/map_node' minItems: 0 type: array map_site_replace_file_json: additionalProperties: false properties: transform: $ref: '#/components/schemas/map_site_replace_file_json_transform' type: object latlng_tl: additionalProperties: false description: When type=google, latitude / longitude of the top-left corner properties: lat: type: string lng: type: string type: object response_http401: additionalProperties: false properties: detail: examples: - Authentication credentials were not provided. type: string type: object map_import_json_vendor_name: description: 'enum: `ekahau`, `ibwave`' enum: - ekahau - ibwave examples: - ekahau type: string map_micello_vendor_name: default: micello description: 'The vendor ‘micello’. enum: `micello`' enum: - micello type: string map_node_position: additionalProperties: false properties: x: examples: - 746 format: double type: number y: examples: - 104 format: double type: number required: - x - y type: object response_map_import_ap_action: description: 'enum: `assigned-named-placed`, `assigned-placed`, `ignored`, `named-placed`, `placed`' enum: - assigned-named-placed - assigned-placed - ignored - named-placed - placed type: string map_jibestream_vendor_name: default: jibestream description: 'The vendor ‘jibestream’. enum: `jibestream`' enum: - jibestream type: string map_wayfinding_micello: additionalProperties: false properties: account_key: examples: - adasdf type: string default_level_id: examples: - 5 type: integer map_id: examples: - c660f81dd250c type: string type: object map_geofence_vertice: additionalProperties: false properties: X: description: X coordinate examples: - 700 type: number Y: description: Y coordinate examples: - 100 type: number type: object map_view: description: 'if `type`==`google`. enum: `hybrid`, `roadmap`, `satellite`, `terrain`' enum: - hybrid - roadmap - satellite - terrain type: - string - 'null' created_time: description: When the object has been created, in epoch format: double readOnly: true type: number mac_addresses_macs: examples: - - 683b679ac024 items: type: string minItems: 1 type: array uniqueItems: true map_wayfinding: additionalProperties: false description: Properties related to wayfinding properties: micello: $ref: '#/components/schemas/map_wayfinding_micello' snap_to_path: type: boolean type: object image_import: additionalProperties: false properties: file: contentMediaType: application/octet-stream description: Binary file type: string json: type: string required: - file type: object map_micello: additionalProperties: false properties: account_key: description: Account key that has access to the map examples: - null type: string default_level_id: description: Micello floor/level id examples: - 5 type: integer map_id: description: Micello map id examples: - 6f4bf402-45f9-2a56-6c8b-7f83d3bc98e9 format: uuid type: string vendor_name: $ref: '#/components/schemas/map_micello_vendor_name' required: - vendor_name - account_key - map_id - default_level_id type: object map_sitesurvey_path: description: Sitesurvey_path items: $ref: '#/components/schemas/map_sitesurvey_path_items' minItems: 0 type: array mac_addresses: properties: macs: $ref: '#/components/schemas/mac_addresses_macs' required: - macs type: object maps: items: $ref: '#/components/schemas/map' type: array response_map_import: additionalProperties: false properties: aps: $ref: '#/components/schemas/response_map_import_aps' floorplans: $ref: '#/components/schemas/response_map_import_floorplans' for_site: readOnly: true type: boolean site_id: $ref: '#/components/schemas/site_id' summary: $ref: '#/components/schemas/response_map_import_summary' required: - site_id - aps - floorplans - summary type: object map_wayfinding_path_nodes: items: $ref: '#/components/schemas/map_node' minItems: 0 type: array response_map_import_ap: additionalProperties: false properties: action: $ref: '#/components/schemas/response_map_import_ap_action' floorplan_id: format: uuid type: string height: format: double type: number mac: type: string map_id: format: uuid type: string orientation: type: integer reason: type: string required: - mac - action - map_id - floorplan_id - orientation 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 map_geofence: additionalProperties: false properties: name: description: Name of the geofence examples: - example type: string vertices: $ref: '#/components/schemas/map_geofence_vertices' type: object map_node: additionalProperties: false description: Nodes on maps properties: edges: additionalProperties: type: string examples: - N1: '1' type: object name: examples: - N1 type: string position: $ref: '#/components/schemas/map_node_position' required: - name type: object org_id: examples: - a97c1b22-a4e9-411e-9bfd-d8695a0f9e61 format: uuid readOnly: true type: string response_set_devices_map: additionalProperties: false properties: locked: $ref: '#/components/schemas/response_set_devices_map_locked' moved: $ref: '#/components/schemas/response_set_devices_map_moved' type: object 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_set_devices_map_locked: items: examples: - 5c5b35584a6f type: string type: array map_type: default: image description: 'enum: `google`, `image`' enum: - google - image examples: - image type: string response_http403: additionalProperties: false properties: detail: examples: - You do not have permission to perform this action. type: string type: object wayfinding_import_json: oneOf: - $ref: '#/components/schemas/map_jibestream' - $ref: '#/components/schemas/map_micello' map_jibestream: additionalProperties: false properties: client_id: description: Client id examples: - 199d6770-0f6f-407a-9bd5-fc33c7840194 format: uuid type: string client_secret: description: Client secret examples: - /9Nog3yDzcYj0bY91XJZQLCt+m9DXaIVhx+Ghk3ddd format: password type: string customer_id: description: Jibestream customer record id examples: - 123 type: integer endpoint_url: description: Map contents endpoint host examples: - https://api.jibestream.com type: string map_id: description: Jibestream map id examples: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 format: uuid type: string mmpp: description: Millimeter per pixel examples: - 223 type: integer ppm: description: Pixel per meter, same as the map JSON value. examples: - 4 type: number vendor_name: $ref: '#/components/schemas/map_jibestream_vendor_name' venue_id: description: Venue or organization id examples: - 123 type: integer required: - vendor_name - venue_id - map_id - ppm - client_id - client_secret - customer_id - endpoint_url - mmpp type: object response_map_import_floorplans: items: $ref: '#/components/schemas/response_map_import_floorplan' type: array uniqueItems: true map_wayfinding_path: additionalProperties: false description: JSON blob for wayfinding (using Dijkstra’s algorithm) properties: coordinate: examples: - actual type: string nodes: $ref: '#/components/schemas/map_wayfinding_path_nodes' 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 response_map_import_aps: items: $ref: '#/components/schemas/response_map_import_ap' type: array uniqueItems: true response_http400: additionalProperties: false properties: detail: examples: - 'JSON parse error - Expecting value: line 5 column 8 (char 56)' type: string type: object map_site_replace_file: additionalProperties: false properties: file: contentMediaType: application/octet-stream type: string json: $ref: '#/components/schemas/map_site_replace_file_json' required: - file type: object response_map_import_floorplan: additionalProperties: false properties: action: type: string id: $ref: '#/components/schemas/id' map_id: format: uuid type: string name: type: string reason: type: string required: - id - name - action - map_id type: object map: description: Map properties: created_time: $ref: '#/components/schemas/created_time' flags: additionalProperties: type: integer description: Name/val pair objects for location engine to use examples: - assetHoldTime: 5 storeTime: 10 readOnly: true type: object for_site: readOnly: true type: boolean geofences: $ref: '#/components/schemas/map_geofences' group_idx: description: maps grouping, typically used for floor, optional examples: - 1 type: integer group_name: description: maps grouping, optional examples: - East Wing type: string height: description: When type=image, height of the image map examples: - 1500 type: integer height_m: format: double type: number id: $ref: '#/components/schemas/id' latlng_br: $ref: '#/components/schemas/latlng_br' latlng_tl: $ref: '#/components/schemas/latlng_tl' locked: default: false description: Whether this map is considered locked down type: boolean modified_time: $ref: '#/components/schemas/modified_time' name: description: The name of the map examples: - Mist Office type: string occupancy_limit: type: integer org_id: $ref: '#/components/schemas/org_id' orientation: default: 0 description: Orientation of the map, 0 means up is north, 90 means up is west examples: - 30 maximum: 359 minimum: 0 type: integer origin_x: description: User-annotated X origin, pixels examples: - 35 type: integer origin_y: description: User-annotated Y origin, pixels examples: - 60 type: integer ppm: description: When type=image, pixels per meter examples: - 40.94 type: number site_id: $ref: '#/components/schemas/site_id' sitesurvey_path: $ref: '#/components/schemas/map_sitesurvey_path' thumbnail_url: description: When type=image, the url for the thumbnail image / preview examples: - https://url/to/image.png readOnly: true type: string type: $ref: '#/components/schemas/map_type' url: description: When type=image, the url examples: - https://url/to/image.png readOnly: true type: string view: $ref: '#/components/schemas/map_view' wall_path: $ref: '#/components/schemas/map_wall_path' wayfinding: $ref: '#/components/schemas/map_wayfinding' wayfinding_path: $ref: '#/components/schemas/map_wayfinding_path' width: description: When type=image, width of the image map examples: - 1250 type: integer width_m: format: double type: number type: object modified_time: description: When the object has been modified for the last time, in epoch format: double readOnly: true type: number map_site_replace_file_json_transform: additionalProperties: false description: If `transform` is provided, all the locations of the objects on the map (AP, Zone, Vbeacon, Beacon) will be transformed as well (relative to the new Map) properties: rotation: default: 0 description: Whether to rotate the replacing image, in degrees type: number scale: default: 1 description: Whether to scale the replacing image examples: - 0.98 type: number x: default: 0 description: Where the (0, 0) of the new image is relative to the original map examples: - 3.16 format: double type: number y: default: 0 description: Where the (0, 0) of the new image is relative to the original map examples: - 12 format: double type: number type: object responses: SetDevicesMap: content: application/json: examples: Example: $ref: '#/components/examples/SetDevicesMapExample' schema: $ref: '#/components/schemas/response_set_devices_map' application/vnd.api+json: examples: Example: $ref: '#/components/examples/SetDevicesMapExample' schema: $ref: '#/components/schemas/response_set_devices_map' description: OK MapsArray: content: application/json: examples: Example: $ref: '#/components/examples/MapsArrayExample' schema: $ref: '#/components/schemas/maps' application/vnd.api+json: examples: Example: $ref: '#/components/examples/MapsArrayExample' schema: $ref: '#/components/schemas/maps' description: OK 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 OK: 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 MapImport: content: application/json: examples: Assigned And Placed: $ref: '#/components/examples/MapImportAssignedAndPlaced' Assigned Named And Placed: $ref: '#/components/examples/MapImportAssignedNamedAndPlaced' Placed: $ref: '#/components/examples/MapImportPlaced' schema: $ref: '#/components/schemas/response_map_import' application/vnd.api+json: examples: Assigned And Placed: $ref: '#/components/examples/MapImportAssignedAndPlaced' Assigned Named And Placed: $ref: '#/components/examples/MapImportAssignedNamedAndPlaced' Placed: $ref: '#/components/examples/MapImportPlaced' schema: $ref: '#/components/schemas/response_map_import' 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 Map: content: application/json: schema: $ref: '#/components/schemas/map' application/vnd.api+json: schema: $ref: '#/components/schemas/map' 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 examples: HTTP403Example: value: detail: You do not have permission to perform this action. MapImportAssignedNamedAndPlaced: value: aps: - action: assigned-named-placed floorplan_id: 6f4bf402-45f9-2a56-6c8b-7f83d3bc98e9 mac: 5c5b35000001 map_id: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 orientation: 45 floorplans: - action: imported id: cbdb7f0b-3be0-4872-88f9-58790b509c23 map_id: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 name: map1 site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b summary: num_ap_assigned: 1 num_inv_assigned: 1 num_map_assigned: 1 SetDevicesMapExample: value: locked: - 5c5b35584a6f moved: - 5c5b35000001 HTTP429Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold MapImportPlaced: value: aps: - action: placed floorplan_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 height: 3 mac: 5c5b35000001 map_id: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 orientation: 45 floorplans: - action: imported id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 map_id: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 name: map1 site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b summary: num_ap_assigned: 1 num_inv_assigned: 1 num_map_assigned: 1 HTTP400Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' MapsArrayExample: value: - created_time: 0 flags: {} group_idx: 1 group_name: East Wing height: 0 height_m: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 latlng_br: lat: string lng: string latlng_tl: lat: string lng: string locked: true modified_time: 0 name: string occupancy_limit: 0 org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 orientation: 0 origin_x: 0 origin_y: 0 ppm: 0 site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 sitesurvey_path: - coordinate: string id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string nodes: - edges: N2: string name: string position: x: 0 y: 0 thumbnail_url: string type: image url: string view: roadmap wall_path: coordinate: string nodes: - edges: N2: string name: string position: x: 0 y: 0 wayfinding: micello: account_key: string default_level_id: 0 map_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 snap_to_path: true wayfinding_path: coordinate: string nodes: - edges: N2: string name: string position: x: 0 y: 0 width: 0 width_m: 0 HTTP401Example: value: detail: Authentication credentials were not provided. MapImportAssignedAndPlaced: value: aps: - action: assigned-placed floorplan_id: 6f4bf402-45f9-2a56-6c8b-7f83d3bc98e9 height: 3 mac: 5c5b35000001 map_id: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 orientation: 45 floorplans: - action: imported id: cbdb7f0b-3be0-4872-88f9-58790b509c23 map_id: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 name: map1 site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b summary: num_ap_assigned: 1 num_inv_assigned: 1 num_map_assigned: 1 parameters: map_id: in: path name: map_id required: true schema: examples: - 000000ab-00ab-00ab-00ab-0000000000ab format: uuid type: string page: in: query name: page schema: default: 1 minimum: 1 type: integer 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