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 Stats - Assets 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: API Calls to retrieve statistics about the Assets at the Org level
name: Orgs Stats - Assets
paths:
/api/v1/orgs/{org_id}/stats/assets:
parameters:
- $ref: '#/components/parameters/org_id'
get:
description: Get List of Org Assets Stats
operationId: listOrgAssetsStats
parameters:
- $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/end'
- $ref: '#/components/parameters/duration'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/page'
responses:
'200':
$ref: '#/components/responses/AssetsArrayStats'
'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: listOrgAssetsStats
tags:
- Orgs Stats - Assets
/api/v1/orgs/{org_id}/stats/assets/count:
parameters:
- $ref: '#/components/parameters/org_id'
get:
description: Count by Distinct Attributes of Org Assets
operationId: countOrgAssetsByDistanceField
parameters:
- in: query
name: distinct
schema:
$ref: '#/components/schemas/org_asset_count_distinct'
- $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: countOrgAssetsByDistanceField
tags:
- Orgs Stats - Assets
/api/v1/orgs/{org_id}/stats/assets/search:
parameters:
- $ref: '#/components/parameters/org_id'
get:
description: Search for Org Assets
operationId: searchOrgAssets
parameters:
- in: query
name: site_id
schema:
type: string
- in: query
name: mac
schema:
type: string
- in: query
name: device_name
schema:
type: string
- in: query
name: name
schema:
type: string
- in: query
name: map_id
schema:
type: string
- in: query
name: ibeacon_uuid
schema:
type: string
- in: query
name: ibeacon_major
schema:
type: string
- in: query
name: ibeacon_minor
schema:
type: string
- in: query
name: eddystone_uid_namespace
schema:
type: string
- in: query
name: eddystone_uid_instance
schema:
type: string
- in: query
name: eddystone_url
schema:
type: string
- in: query
name: ap_mac
schema:
type: string
- in: query
name: beam
schema:
type: integer
- in: query
name: rssi
schema:
type: integer
- $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/AssetsArrayStatsSearch'
'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: searchOrgAssets
tags:
- Orgs Stats - Assets
components:
schemas:
id:
description: Unique ID of the object instance in the Mist Organization
examples:
- 53f10664-3ce8-4c27-b382-0ef66432349f
format: uuid
readOnly: true
type: string
response_count:
additionalProperties: false
properties:
distinct:
type: string
end:
type: integer
limit:
type: integer
results:
$ref: '#/components/schemas/count_results'
start:
type: integer
total:
type: integer
required:
- distinct
- end
- limit
- results
- start
- total
type: object
stats_asset_service_packet:
additionalProperties: false
description: Service data advertisement from a BLE asset
properties:
data:
description: Service data payload (hex encoded)
examples:
- '640'
type: string
last_rx_time:
description: Unix timestamp when this service data was last received
examples:
- 1645855923
type: integer
rx_cnt:
description: Total number of times this service data was received
examples:
- 213065
type: integer
uuid:
description: Service UUID
examples:
- 00003e10-0000-1000-8000-00805f9b34fb
type: string
type: object
response_http403:
additionalProperties: false
properties:
detail:
examples:
- You do not have permission to perform this action.
type: string
type: object
stats_asset:
additionalProperties: false
description: Asset statistics
properties:
_ttl:
description: Time-to-live in seconds; how long this asset data is valid in cache
type: integer
battery_voltage:
description: Battery voltage, in mV
examples:
- 2970
type: number
beam:
examples:
- 6
type: integer
by:
description: Source type
examples:
- asset
type: string
device_id:
description: Device ID of the loudest AP
examples:
- 00000000-0000-0000-1000-5c5b35000001
format: uuid
readOnly: true
type: string
device_name:
examples:
- a
type: string
duration:
examples:
- 120
type: integer
eddystone_uid_instance:
examples:
- 5c5b35000001
type: string
eddystone_uid_namespace:
examples:
- 2818e3868dec25629ede
type: string
eddystone_url_url:
examples:
- https://www.abc.com
type: string
ibeacon_major:
$ref: '#/components/schemas/ibeacon_major'
ibeacon_minor:
$ref: '#/components/schemas/ibeacon_minor'
ibeacon_uuid:
$ref: '#/components/schemas/ibeacon_uuid'
id:
$ref: '#/components/schemas/id'
last_seen:
$ref: '#/components/schemas/last_seen'
mac:
description: Bluetooth MAC
examples:
- 6fa474be7ae5
type: string
manufacture:
description: Manufacturer name resolved from company ID
type: string
map_id:
description: Map where the device belongs to
examples:
- c45be59f-854d-4ef7-b782-dcd6309c84a9
format: uuid
type: string
mfg_company_id:
description: BLE manufacturer company ID from advertisement
examples:
- 935
type: integer
mfg_data:
description: Manufacturer-specific data (hex encoded)
examples:
- 648520a1020000
type: string
name:
description: Name / label of the device
examples:
- 6fa474be7ae5
type: string
rssi:
description: Signal strength (RSSI) of the loudest AP in dBm
examples:
- -60
type: integer
rssizones:
$ref: '#/components/schemas/asset_rssi_zones'
service_packets:
$ref: '#/components/schemas/stats_asset_service_packets'
temperature:
examples:
- 23
type: number
x:
description: X in pixel
examples:
- 280.19918140310193
format: double
type: number
y:
description: Y in pixel
examples:
- 420.2987721046529
format: double
type: number
zones:
$ref: '#/components/schemas/asset_zones'
required:
- mac
type: object
response_stats_assets:
additionalProperties: false
properties:
end:
type: integer
limit:
type: integer
next:
type: string
results:
$ref: '#/components/schemas/stats_assets'
start:
type: integer
total:
type: integer
required:
- start
- end
- limit
- total
- results
type: object
stats_asset_service_packets:
description: List of all service data advertisements (maximum length of 10)
items:
$ref: '#/components/schemas/stats_asset_service_packet'
maxItems: 10
type: array
asset_rssi_zone:
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/id'
since:
type: number
type: object
count_results:
items:
$ref: '#/components/schemas/count_result'
type: array
uniqueItems: true
ibeacon_uuid:
examples:
- f3f17139-704a-f03a-2786-0400279e37c3
format: uuid
type:
- string
- 'null'
count_result:
additionalProperties:
type: string
properties:
count:
type: integer
required:
- count
type: object
asset_zones:
description: Only send this for individual asset stat
items:
$ref: '#/components/schemas/asset_zone'
type: array
last_seen:
description: Last seen timestamp
examples:
- 1470417522
format: double
readOnly: true
type:
- number
- 'null'
response_http404:
additionalProperties: false
properties:
id:
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
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
asset_zone:
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/id'
since:
type: number
type: object
org_asset_count_distinct:
description: 'enum: `ibeacon_major`, `ibeacon_minor`, `ibeacon_uuid`, `mac`, `map_id`, `site_id`'
enum:
- ibeacon_major
- ibeacon_minor
- ibeacon_uuid
- mac
- map_id
- site_id
type: string
stats_assets:
items:
$ref: '#/components/schemas/stats_asset'
type: array
ibeacon_major:
description: Major number for iBeacon
examples:
- 1234
maximum: 65535
minimum: 1
type:
- integer
- 'null'
ibeacon_minor:
description: Minor number for iBeacon
examples:
- 1234
maximum: 65535
minimum: 1
type:
- integer
- 'null'
asset_rssi_zones:
description: Only send this for individual asset stat
items:
$ref: '#/components/schemas/asset_rssi_zone'
type: array
response_http401:
additionalProperties: false
properties:
detail:
examples:
- Authentication credentials were not provided.
type: string
type: object
examples:
CountExample:
value:
distinct: string
end: 0
limit: 0
results:
- count: 0
property: string
start: 0
total: 0
AssetsArrayStatsExample:
value:
- _ttl: 86400
battery_voltage: 3370
by: asset
device_id: 00000000-0000-0000-1000-5c5b35000001
device_name: BLE Device
eddystone_uid_instance: 5c5b35000001
eddystone_uid_namespace: 2818e3868dec25629ede
eddystone_url_url: https://www.abc.com
ibeacon_major: 13
ibeacon_minor: 138
ibeacon_uuid: f3f17139-704a-f03a-2786-0400279e37c3
id: 845a23bf-bed9-e43c-4c86-6fa474be7ae5
last_seen: 1480716946
mac: 4a0222000e31
manufacture: Asset Manufacturer Name
map_id: 63eda950-c6da-11e4-a628-60f81dd250cc
mfg_company_id: 935
mfg_data: 648520a1020000
name: Asset Name
rssi: -45
rssizones:
- id: 478f6eca-6276-4993-bfeb-5bcbbbbacf08
since: 0
service_packets:
- data: '640'
last_rx_time: 1645855923
rx_cnt: 213065
uuid: 00003e10-0000-1000-8000-00805f9b34fb
temperature: 23.5
x: 51.0
y: 29.0
zones:
- id: 477f6eca-6276-4993-bfeb-5ccbbbbadf08
since: 0
AssetsArrayStatsSearchExample:
value:
end: 0
limit: 0
next: string
results:
- battery_voltage: 0
eddystone_uid_instance: string
eddystone_uid_namespace: string
eddystone_url_url: string
ibeacon_major: 1
ibeacon_minor: 1
ibeacon_uuid: 1f89bc00-d0af-481b-82fe-a6629259a39f
last_seen: 0
mac: string
map_id: 09d2b626-2e4e-45ef-a3c4-e6aeb6c83db1
name: string
rssizones:
- id: 476f6eca-6276-4993-bfeb-5dcbbbbaef08
since: 0
x: 0
y: 0
zones:
- id: 475f6eca-6276-4993-bfeb-5ecbbbbf6f08
since: 0
start: 0
total: 0
HTTP400Example:
value:
detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
HTTP403Example:
value:
detail: You do not have permission to perform this action.
HTTP429Example:
value:
detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
HTTP401Example:
value:
detail: Authentication credentials were not provided.
responses:
AssetsArrayStats:
content:
application/json:
examples:
Example:
$ref: '#/components/examples/AssetsArrayStatsExample'
schema:
$ref: '#/components/schemas/stats_assets'
application/vnd.api+json:
examples:
Example:
$ref: '#/components/examples/AssetsArrayStatsExample'
schema:
$ref: '#/components/schemas/stats_assets'
description: OK
AssetsArrayStatsSearch:
content:
application/json:
examples:
Example:
$ref: '#/components/examples/AssetsArrayStatsSearchExample'
schema:
$ref: '#/components/schemas/response_stats_assets'
application/vnd.api+json:
examples:
Example:
$ref: '#/components/examples/AssetsArrayStatsSearchExample'
schema:
$ref: '#/components/schemas/response_stats_assets'
description: OK
HTTP404:
content:
application/json:
schema:
$ref: '#/components/schemas/response_http404'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/response_http404'
description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist
HTTP429:
content:
application/json:
examples:
Example:
$ref: '#/components/examples/HTTP429Example'
schema:
$ref: '#/components/schemas/response_http429'
application/vnd.api+json:
examples:
Example:
$ref: '#/components/examples/HTTP429Example'
schema:
$ref: '#/components/schemas/response_http429'
description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
HTTP403:
content:
application/json:
examples:
Example:
$ref: '#/components/examples/HTTP403Example'
schema:
$ref: '#/components/schemas/response_http403'
application/vnd.api+json:
examples:
Example:
$ref: '#/components/examples/HTTP403Example'
schema:
$ref: '#/components/schemas/response_http403'
description: Permission Denied
HTTP400:
content:
application/json:
examples:
Example:
$ref: '#/components/examples/HTTP400Example'
schema:
$ref: '#/components/schemas/response_http400'
application/vnd.api+json:
examples:
Example:
$ref: '#/components/examples/HTTP400Example'
schema:
$ref: '#/components/schemas/response_http400'
description: Bad Syntax
HTTP401:
content:
application/json:
examples:
Example:
$ref: '#/components/examples/HTTP401Example'
schema:
$ref: '#/components/schemas/response_http401'
application/vnd.api+json:
examples:
Example:
$ref: '#/components/examples/HTTP401Example'
schema:
$ref: '#/components/schemas/response_http401'
description: Unauthorized
Count:
content:
application/json:
examples:
Example:
$ref: '#/components/examples/CountExample'
schema:
$ref: '#/components/schemas/response_count'
application/vnd.api+json:
examples:
Example:
$ref: '#/components/examples/CountExample'
schema:
$ref: '#/components/schemas/response_count'
description: Result of Count
parameters:
org_id:
in: path
name: org_id
required: true
schema:
examples:
- 000000ab-00ab-00ab-00ab-0000000000ab
format: uuid
type: string
start:
description: Start time (epoch timestamp in seconds, or relative string like "-1d", "-1w")
in: query
name: start
schema:
type: string
sort:
description: On which field the list should be sorted, -prefix represents DESC order
in: query
name: sort
schema:
default: timestamp
examples:
- -site_id
type: string
duration:
description: Duration like 7d, 2w
in: query
name: duration
schema:
default: 1d
examples:
- 10m
type: string
search_after:
description: Pagination cursor for retrieving subsequent pages of results. This value is automatically populated by Mist in the `next` URL from the previous response and should not be manually constructed.
in: query
name: search_after
schema:
type: string
page:
in: query
name: page
schema:
default: 1
minimum: 1
type: integer
end:
description: End time (epoch timestamp in seconds, or relative string like "-1d", "-2h", "now")
in: query
name: end
schema:
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