Mist Orgs Stats - Assets API
API Calls to retrieve statistics about the Assets at the Org level
API Calls to retrieve statistics about the Assets at the Org level
openapi: 3.1.0
info:
contact:
email: tmunzer@juniper.net
name: Thomas Munzer
description: '> Version: **2606.1.1**
>
> Date: **July 10, 2026**
<div class="notification"> NOTE:<br>Some important API changes will be introduced. Please make sure to read the <a href="https://www.juniper.net/documentation/us/en/software/mist/api/http/guides/important-api-changes">announcements</a> </div>
---
## 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: 2606.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: []
- 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: List BLE asset location and advertisement statistics for the organization over an optional time window, including map coordinates, RSSI, zones, and iBeacon or Eddystone fields.
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 organization asset statistics grouped by a distinct asset attribute, such as MAC address, site, map, iBeacon UUID, iBeacon major, or iBeacon minor.
operationId: countOrgAssetsByDistanceField
parameters:
- description: 'Field used to group this count response. enum: `ibeacon_major`, `ibeacon_minor`, `ibeacon_uuid`, `mac`, `map_id`, `site_id`'
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 BLE asset statistics with filters for site, MAC address, asset name, map, iBeacon or Eddystone identifiers, reporting AP MAC address, RSSI, beam, and time range. Supports pagination and sorting.
operationId: searchOrgAssets
parameters:
- description: Filter results by site identifier
in: query
name: site_id
schema:
type: string
- description: Filter results by MAC address. Accepts multiple comma-separated values.
in: query
name: mac
schema:
examples:
- 5c5b53010101,5c5b53020202
type: string
- description: Filter asset results by reporting device name
in: query
name: device_name
schema:
type: string
- description: Filter results by name. Accepts multiple comma-separated values.
in: query
name: name
schema:
examples:
- name-a,name-b
type: string
- description: Filter results by map identifier
in: query
name: map_id
schema:
type: string
- description: Filter asset results by iBeacon UUID. Accepts multiple comma-separated values.
in: query
name: ibeacon_uuid
schema:
examples:
- 00000000-0000-0000-0000-000000000001,00000000-0000-0000-0000-000000000002
type: string
- description: Filter asset results by iBeacon major value. Accepts multiple comma-separated values.
in: query
name: ibeacon_major
schema:
examples:
- 59788,902
type: string
- description: Filter asset results by iBeacon minor value. Accepts multiple comma-separated values.
in: query
name: ibeacon_minor
schema:
examples:
- 8385,4432
type: string
- description: Filter asset results by Eddystone UID namespace
in: query
name: eddystone_uid_namespace
schema:
type: string
- description: Filter asset results by Eddystone UID instance
in: query
name: eddystone_uid_instance
schema:
type: string
- description: Filter asset results by Eddystone URL
in: query
name: eddystone_url
schema:
type: string
- description: Filter asset results by reporting AP MAC address. Accepts multiple comma-separated values.
in: query
name: ap_mac
schema:
examples:
- 5c5b53010101,5c5b53020202
type: string
- description: Filter asset results by beam value. Accepts multiple comma-separated integer values.
in: query
name: beam
schema:
examples:
- 2,6
type: integer
- description: Filter asset results by RSSI value. Accepts multiple comma-separated integer values.
in: query
name: rssi
schema:
examples:
- -69,-74
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:
stats_assets:
description: Asset statistics returned by the request
items:
$ref: '#/components/schemas/stats_asset'
type: array
stats_asset:
additionalProperties: false
description: BLE asset location and advertisement statistics
properties:
_ttl:
description: Time-to-live in seconds; how long this asset data is valid in cache
type: integer
battery_percent:
description: Estimated battery level (1–100%); currently supported for Aruba/HPE asset tags
examples:
- 50
type: integer
battery_voltage:
description: Battery voltage, in mV
examples:
- 2970
type: number
beam:
description: BLE beam number where the asset was observed
examples:
- 6
type: integer
by:
description: Observation source type for the asset statistic
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:
description: Display name of the loudest AP observing the asset
examples:
- a
type: string
duration:
description: Length of the current asset observation, in seconds
examples:
- 120
type: integer
eddystone_uid_instance:
description: Eddystone-UID instance value advertised by the asset
examples:
- 5c5b35000001
type: string
eddystone_uid_namespace:
description: Eddystone-UID namespace value advertised by the asset
examples:
- 2818e3868dec25629ede
type: string
eddystone_url_url:
description: URL value advertised by the asset through Eddystone-URL
examples:
- https://www.abc.com
type: string
ibeacon_major:
$ref: '#/components/schemas/ibeacon_major'
description: iBeacon major value advertised by the asset
ibeacon_minor:
$ref: '#/components/schemas/ibeacon_minor'
description: iBeacon minor value advertised by the asset
ibeacon_uuid:
$ref: '#/components/schemas/ibeacon_uuid'
description: iBeacon UUID advertised by the asset
id:
$ref: '#/components/schemas/id'
description: Unique identifier for the asset statistic
last_seen:
$ref: '#/components/schemas/last_seen'
description: Time when the BLE asset was last observed, in epoch seconds
mac:
description: Bluetooth MAC address for the asset
examples:
- 6fa474be7ae5
type: string
manufacture:
description: Vendor name resolved from the BLE manufacturer 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: Display label for the BLE asset
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'
description: RSSI zones currently containing this asset
service_packets:
$ref: '#/components/schemas/stats_asset_service_packets'
description: Service data advertisements observed from this asset
temperature:
description: Reported temperature value from the BLE asset
examples:
- 23
type: number
x:
description: Map X coordinate of the asset location, in pixels
examples:
- 280.19918140310193
format: double
type: number
y:
description: Map Y coordinate of the asset location, in pixels
examples:
- 420.2987721046529
format: double
type: number
zones:
$ref: '#/components/schemas/asset_zones'
description: Map zones currently containing this asset
required:
- mac
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: BLE service UUID advertised by the asset service packet
examples:
- 00003e10-0000-1000-8000-00805f9b34fb
type: string
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
asset_zones:
description: Only send this for individual asset stat
items:
$ref: '#/components/schemas/asset_zone'
type: array
response_http429:
additionalProperties: false
description: Standard HTTP 429 rate limit error response
properties:
detail:
description: Human-readable explanation of the rate limit error
examples:
- Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
type: string
type: object
response_http401:
additionalProperties: false
description: Standard HTTP 401 authentication error response
properties:
detail:
description: Human-readable explanation of the authentication error
examples:
- Authentication credentials were not provided.
type: string
type: object
response_http403:
additionalProperties: false
description: Standard HTTP 403 permission error response
properties:
detail:
description: Human-readable explanation of the permission error
examples:
- You do not have permission to perform this action.
type: string
type: object
ibeacon_minor:
description: Minor number for iBeacon
examples:
- 1234
maximum: 65535
minimum: 1
type:
- integer
- 'null'
asset_rssi_zone:
additionalProperties: false
description: RSSI zone membership for an individual asset statistic
properties:
id:
$ref: '#/components/schemas/id'
description: Unique identifier of the RSSI zone
since:
description: Timestamp when the asset entered this RSSI zone
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
count_results:
description: List of count result rows
items:
$ref: '#/components/schemas/count_result'
type: array
uniqueItems: true
response_http400:
additionalProperties: false
description: Standard HTTP 400 bad request error response
properties:
detail:
description: Human-readable explanation of the bad request error
examples:
- 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
type: string
type: object
last_seen:
description: Timestamp indicating when the entity was last seen
examples:
- 1470417522
format: double
readOnly: true
type:
- number
- 'null'
asset_zone:
additionalProperties: false
description: Map zone membership for an individual asset statistic
properties:
id:
$ref: '#/components/schemas/id'
description: Unique identifier of the zone
since:
description: Timestamp when the asset entered this zone
type: number
type: object
asset_rssi_zones:
description: Only send this for individual asset stat
items:
$ref: '#/components/schemas/asset_rssi_zone'
type: array
count_result:
additionalProperties:
type: string
description: Count result row with the matching distinct field values
properties:
count:
description: Number of matching items for the distinct value or values in this result
type: integer
required:
- count
type: object
response_count:
additionalProperties: false
description: Distinct count response for time-bounded search results
properties:
distinct:
description: Field used to group the count results
type: string
end:
description: Search window end timestamp for the count request, in epoch seconds
type: integer
limit:
description: Maximum number of distinct count results requested
type: integer
results:
$ref: '#/components/schemas/count_results'
description: Count results grouped by the distinct field
start:
description: Search window start timestamp for the count request, in epoch seconds
type: integer
total:
description: Number of distinct result buckets returned
type: integer
required:
- distinct
- end
- limit
- results
- start
- total
type: object
response_stats_assets:
additionalProperties: false
description: Paginated response for asset statistics search results
properties:
end:
description: Epoch timestamp, in seconds, for the end of the asset statistics search window
type: integer
limit:
description: Maximum number of asset statistics records returned in this page
type: integer
next:
description: URL for retrieving the next page of asset statistics results
type: string
results:
$ref: '#/components/schemas/stats_assets'
description: Asset statistics records matching the search filters
start:
description: Epoch timestamp, in seconds, for the start of the asset statistics search window
type: integer
total:
description: Number of asset statistics records matching the search filters across all pages
type: integer
required:
- start
- end
- limit
- total
- results
type: object
ibeacon_uuid:
description: iBeacon UUID value, or null when no iBeacon UUID is configured
examples:
- f3f17139-704a-f03a-2786-0400279e37c3
format: uuid
type:
- string
- 'null'
ibeacon_major:
description: Major number for iBeacon
examples:
- 1234
maximum: 65535
minimum: 1
type:
- integer
- 'null'
response_http404:
additionalProperties: false
description: Standard HTTP 404 not found error response
properties:
id:
description: Missing resource identifier, when the API includes one
type: string
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
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
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
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
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
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
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
parameters:
org_id:
in: path
name: org_id
required: true
schema:
examples:
- 000000ab-00ab-00ab-00ab-0000000000ab
format: uuid
type: string
start:
description: Lower bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d` or `-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: Time range duration for the query, using relative units such as `10m`, `7d`, or `2w`
in: query
name: duration
schema:
default: 1d
examples:
- 10m
type: string
limit:
description: Maximum number of results to return per page
in: query
name: limit
schema:
default: 100
minimum: 0
type: integer
page:
description: Select the page number to return when using page-based pagination; starts at `1`
in: query
name: page
schema:
default: 1
minimum: 1
type: integer
end:
description: Upper bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d`, `-2h`, or `now`
in: query
name: end
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
examples:
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
CountExample:
value:
distinct: string
end: 0
limit: 0
results:
- count: 0
property: string
start: 0
total: 0
HTTP403Example:
value:
detail: You do not have permission to perform this action.
HTTP400Example:
value:
detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
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.
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
securitySchemes:
apiToken:
description: "Preferred authentication method for automation and integrations. Send the API token in the HTTP `Authorization` header.\n\n**Format**:\n `Authorization: Token {apitoken}`\n\n**Notes**:\n* An API token generated for a specific admin has the same privileges as that admin\n* An API token is automatically removed if it is not used for more than 90 days\n* SSO admins cannot generate admin API tokens. Use organization API tokens when scoped Org/Site privileges are needed."
in: header
name: Authorization
type: apiKey
csrfToken:
description: 'Session-based authentication for browser or login/password flows. After a successful [Login](/#operations/login) request, Mist returns a `csrftoken` cookie. Send that value in the `X-CSRFToken` header on later API requests that use the login session.
**Format**:
```
X-CSRFToken: vwvBuq9qkqaKh7lu8tNc0gkvBfEaLAmx
```
For automation, API Token authentication is preferred.'
in: header
name: X-CSRFToken
type: apiKey