Mist Sites Stats - BGP Peers API
API Calls to retrieve BGP Peers statistics of the Site Wen Edge Gateways at the Site level
API Calls to retrieve BGP Peers statistics of the Site Wen Edge Gateways at the Site 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 Sites Stats - BGP Peers 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 BGP Peers statistics of the Site Wen Edge Gateways at the Site level
name: Sites Stats - BGP Peers
paths:
/api/v1/sites/{site_id}/stats/bgp_peers/count:
parameters:
- $ref: '#/components/parameters/site_id'
get:
description: Count BGP peer statistics for a site, optionally grouped by the `distinct` field and filtered by peer state. Use [Count Org BGP Stats](/#operations/countOrgBgpStats) to count BGP peer statistics across the organization.
operationId: countSiteBgpStats
parameters:
- description: Filter peer results by state
in: query
name: state
schema:
examples:
- established
type: string
- description: Field used to group this count response
in: query
name: distinct
schema:
examples:
- site_id
type: string
- $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: countSiteBgpStats
tags:
- Sites Stats - BGP Peers
/api/v1/sites/{site_id}/stats/bgp_peers/search:
parameters:
- $ref: '#/components/parameters/site_id'
get:
description: Search BGP peer statistics for a site with filters for device, neighbor, VRF, and time range. Use [Search Org BGP Stats](/#operations/searchOrgBgpStats) to search BGP peer statistics across the organization.
operationId: searchSiteBgpStats
parameters:
- description: Filter results by MAC address
in: query
name: mac
schema:
type: string
- description: Filter peer results by neighbor MAC address
in: query
name: neighbor_mac
schema:
type: string
- description: Filter peer results by VRF name
in: query
name: vrf_name
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/BgpStatsArraySearch'
'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: searchSiteBgpStats
tags:
- Sites Stats - BGP Peers
components:
schemas:
timestamp:
description: Epoch timestamp, in seconds
format: double
readOnly: true
type: number
org_id:
description: Unique identifier of a Mist organization
examples:
- a97c1b22-a4e9-411e-9bfd-d8695a0f9e61
format: uuid
readOnly: true
type: string
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_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_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
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
tx_pkts:
description: Amount of packets sent since connection
examples:
- 812204062
format: int64
readOnly: true
type:
- integer
- 'null'
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
bgp_stats:
additionalProperties: false
description: BGP peer statistics reported by a network device
properties:
evpn_overlay:
description: If this is created for evpn overlay
type: boolean
for_overlay:
description: If this is created for overlay
type: boolean
local_as:
$ref: '#/components/schemas/bgp_as'
description: Local Autonomous System (AS) number used by this BGP session
mac:
description: Router MAC address for the device reporting this BGP peer
examples:
- 020001c04668
type: string
model:
description: Device model reporting this BGP peer statistic
type: string
neighbor:
description: IP address of the BGP neighbor
examples:
- 15.8.3.5
type: string
neighbor_as:
$ref: '#/components/schemas/bgp_as'
description: Autonomous System (AS) number of the BGP neighbor
neighbor_mac:
description: MAC address of the BGP neighbor when it is another device in the same organization
examples:
- 020001c04600
type: string
node:
description: HA node reporting this BGP peer, such as node0 or node1
examples:
- node0
type: string
org_id:
$ref: '#/components/schemas/org_id'
description: Owning organization identifier for this BGP peer statistic
rx_pkts:
$ref: '#/components/schemas/rx_pkts'
description: Packets received from this BGP neighbor
rx_routes:
description: Number of received routes
examples:
- 60
type: integer
site_id:
$ref: '#/components/schemas/site_id'
description: Site identifier associated with this BGP peer statistic
state:
$ref: '#/components/schemas/bgp_stats_state'
description: Current state of the BGP session
timestamp:
$ref: '#/components/schemas/timestamp'
description: Time when these BGP peer stats were sampled
tx_pkts:
$ref: '#/components/schemas/tx_pkts'
description: Packets sent to this BGP neighbor
tx_routes:
description: Number of routes advertised to this BGP neighbor
examples:
- 60
type: integer
up:
description: Whether the BGP session is currently up
type: boolean
uptime:
description: Number of seconds the BGP session has been up
examples:
- 31355
type: integer
vrf_name:
description: VRF name associated with this BGP session
examples:
- default
type: string
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
bgp_stats_state:
description: 'enum: `active`, `connect`, `established`, `idle`, `open_config`, `open_sent`'
enum:
- active
- connect
- established
- idle
- open_config
- open_sent
examples:
- established
type: string
site_id:
description: Unique identifier of a Mist site
examples:
- 441a1214-6928-442a-8e92-e1d34b8ec6a6
format: uuid
readOnly: true
type: string
response_search_bgps:
additionalProperties: false
description: Paginated response for BGP peer statistics search results
properties:
end:
description: Epoch timestamp, in seconds, for the end of the BGP statistics search window
type: number
limit:
description: Maximum number of BGP peer statistics records returned in this page
type: integer
next:
description: URL for retrieving the next page of BGP peer statistics results
type: string
results:
$ref: '#/components/schemas/response_bgp_search_list_results'
description: BGP peer statistics records matching the search filters
start:
description: Epoch timestamp, in seconds, for the start of the BGP statistics search window
type: number
total:
description: Number of BGP peer statistics records matching the search filters across all pages
type: integer
type: object
rx_pkts:
description: Amount of packets received since connection
examples:
- 57770567
format: int64
readOnly: true
type:
- integer
- 'null'
bgp_as:
anyOf:
- type: string
- maximum: 4294967294
minimum: 1
type: integer
description: BGP AS, value in range 1-4294967294. Can be a Variable (e.g. `{{bgp_as}}` )
examples:
- 65000
response_bgp_search_list_results:
description: BGP statistics records returned by a search response
items:
$ref: '#/components/schemas/bgp_stats'
type: array
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
responses:
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
BgpStatsArraySearch:
content:
application/json:
examples:
Example:
$ref: '#/components/examples/BgpStatsArraySearchExample'
schema:
$ref: '#/components/schemas/response_search_bgps'
application/vnd.api+json:
examples:
Example:
$ref: '#/components/examples/BgpStatsArraySearchExample'
schema:
$ref: '#/components/schemas/response_search_bgps'
description: Example response
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:
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
site_id:
in: path
name: site_id
required: true
schema:
examples:
- 000000ab-00ab-00ab-00ab-0000000000ab
format: uuid
type: string
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:
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)'
BgpStatsArraySearchExample:
value:
end: 0
limit: 0
results:
- evpn_overlay: true
for_overlay: true
local_as: 65000
mac: 020001c04668
neighbor: 15.8.3.5
neighbor_as: 65000
neighbor_mac: 020001c04600
node: node0
org_id: 0c160b7f-1027-4cd1-923b-744534c4b070
rx_pkts: 63366
rx_routes: 60
site_id: 725a8d34-a126-4f2c-b990-d1219421cb75
state: established
timestamp: 1666251056.07
tx_pkts: 1735
tx_routes: 60
up: true
uptime: 31355
vrf_name: default
start: 0
total: 0
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.
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