openapi: 3.2.0 info: title: Mist Orgs Stats - BGP Peers API description: '> Version: **2607.1.1** > > Date: **August 17, 2026** NOTE: Some important API changes will be introduced.' contact: name: Thomas Munzer email: tmunzer@juniper.net version: 2607.1.1 servers: - url: https://api.mist.com variables: {} - url: https://api.gc1.mist.com variables: {} - url: https://api.ac2.mist.com variables: {} - url: https://api.gc2.mist.com variables: {} - url: https://api.gc4.mist.com variables: {} - url: https://api.eu.mist.com variables: {} - url: https://api.gc3.mist.com variables: {} - url: https://api.ac6.mist.com variables: {} - url: https://api.gc6.mist.com variables: {} - url: https://api.ac5.mist.com variables: {} - url: https://api.gc5.mist.com variables: {} - url: https://api.gc7.mist.com variables: {} security: - apiToken: [] - csrfToken: [] tags: - name: Orgs Stats - BGP Peers description: API Calls to retrieve statistics about the BGP Peers (WAN Assurance) paths: /api/v1/orgs/{org_id}/stats/bgp_peers/count: parameters: [] get: tags: - Orgs Stats - BGP Peers summary: countOrgBgpStats description: Count by Distinct Attributes of Org BGP Stats operationId: countOrgBgpStats parameters: - name: org_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: state in: query description: Filter peer results by state style: form explode: true schema: type: string examples: - established - name: distinct in: query description: Field used to group this count response style: form explode: true schema: type: string examples: - site_id - name: limit in: query description: Maximum number of results to return per page style: form explode: true schema: minimum: 0 type: integer contentEncoding: int32 default: 100 responses: '200': description: Result of Count headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_count' - description: Distinct count response for time-bounded search results examples: - distinct: string end: 0 limit: 0 results: - count: 0 property: string start: 0 total: 0 contentMediaType: application/json examples: Example: value: distinct: string end: 0 limit: 0 results: - count: 0 property: string start: 0 total: 0 application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_count' - description: Distinct count response for time-bounded search results examples: - distinct: string end: 0 limit: 0 results: - count: 0 property: string start: 0 total: 0 contentMediaType: application/vnd.api+json examples: Example: value: distinct: string end: 0 limit: 0 results: - count: 0 property: string start: 0 total: 0 '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/orgs/{org_id}/stats/bgp_peers/search: parameters: [] get: tags: - Orgs Stats - BGP Peers summary: searchOrgBgpStats description: Search Org BGP Stats operationId: searchOrgBgpStats parameters: - name: org_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: mac in: query description: Filter results by MAC address. Accepts multiple comma-separated values. style: form explode: true schema: type: string examples: - 5c5b53010101,5c5b53020202 - name: neighbor_mac in: query description: Filter peer results by neighbor MAC address style: form explode: true schema: type: string - name: site_id in: query description: Filter results by site identifier style: form explode: true schema: type: string - name: vrf_name in: query description: Filter peer results by VRF name. Accepts multiple comma-separated values. style: form explode: true schema: type: string examples: - default,vpn_OrgOverlay - name: limit in: query description: Maximum number of results to return per page style: form explode: true schema: minimum: 0 type: integer contentEncoding: int32 default: 100 - name: start in: query description: Lower bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d` or `-1w` style: form explode: true schema: type: string - name: end in: query description: Upper bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d`, `-2h`, or `now` style: form explode: true schema: type: string - name: duration in: query description: Time range duration for the query, using relative units such as `10m`, `7d`, or `2w` style: form explode: true schema: type: string default: 1d examples: - 10m - name: sort in: query description: On which field the list should be sorted, -prefix represents DESC order style: form explode: true schema: type: string default: timestamp examples: - -site_id - name: search_after in: query 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. style: form explode: true schema: type: string responses: '200': description: Example response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_search_bgps' - description: Paginated response for BGP peer statistics search results examples: - 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 contentMediaType: application/json examples: Example: 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 application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_search_bgps' - description: Paginated response for BGP peer statistics search results examples: - 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 contentMediaType: application/vnd.api+json examples: Example: 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 '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false components: schemas: response_http403: title: response_http403 type: object properties: detail: type: string description: Human-readable explanation of the permission error examples: - You do not have permission to perform this action. description: Standard HTTP 403 permission error response count_result: title: count_result required: - count type: object properties: count: type: integer description: Number of matching items for the distinct value or values in this result contentEncoding: int32 additionalProperties: type: string description: Count result row with the matching distinct field values response_http400: title: response_http400 type: object properties: detail: type: string description: Human-readable explanation of the bad request error examples: - 'JSON parse error - Expecting value: line 5 column 8 (char 56)' description: Standard HTTP 400 bad request error response bgp_stats_state1: title: bgp_stats_state1 enum: - active - connect - established - idle - open_config - open_sent type: string description: 'Current state of the BGP session. enum: `active`, `connect`, `established`, `idle`, `open_config`, `open_sent`.' examples: - established bgp_stats: title: bgp_stats type: object properties: evpn_overlay: type: boolean description: If this is created for evpn overlay for_overlay: type: boolean description: If this is created for overlay local_as: anyOf: - type: string - maximum: 4294967294 minimum: 1 type: integer contentEncoding: int32 description: Local Autonomous System (AS) number used by this BGP session examples: - '65000' mac: type: string description: Router MAC address for the device reporting this BGP peer examples: - 020001c04668 model: type: string description: Device model reporting this BGP peer statistic neighbor: type: string description: IP address of the BGP neighbor examples: - 15.8.3.5 neighbor_as: anyOf: - type: string - maximum: 4294967294 minimum: 1 type: integer contentEncoding: int32 description: Autonomous System (AS) number of the BGP neighbor examples: - '65000' neighbor_mac: type: string description: MAC address of the BGP neighbor when it is another device in the same organization examples: - 020001c04600 node: type: string description: HA node reporting this BGP peer, such as node0 or node1 examples: - node0 org_id: type: string description: Owning organization identifier for this BGP peer statistic contentEncoding: uuid readOnly: true examples: - a97c1b22-a4e9-411e-9bfd-d8695a0f9e61 rx_pkts: type: - integer - 'null' description: Packets received from this BGP neighbor contentEncoding: int64 readOnly: true examples: - 57770567 rx_routes: type: integer description: Number of received routes contentEncoding: int32 examples: - 60 site_id: type: string description: Site identifier associated with this BGP peer statistic contentEncoding: uuid readOnly: true examples: - 441a1214-6928-442a-8e92-e1d34b8ec6a6 state: allOf: - $ref: '#/components/schemas/bgp_stats_state1' - description: 'Current state of the BGP session. enum: `active`, `connect`, `established`, `idle`, `open_config`, `open_sent`.' examples: - established timestamp: type: number description: Time when these BGP peer stats were sampled readOnly: true tx_pkts: type: - integer - 'null' description: Packets sent to this BGP neighbor contentEncoding: int64 readOnly: true examples: - 812204062 tx_routes: type: integer description: Number of routes advertised to this BGP neighbor contentEncoding: int32 examples: - 60 up: type: boolean description: Whether the BGP session is currently up uptime: type: integer description: Number of seconds the BGP session has been up contentEncoding: int32 examples: - 31355 vrf_name: type: string description: VRF name associated with this BGP session examples: - default description: BGP peer statistics reported by a network device response_http404: title: response_http404 type: object properties: id: type: string description: Missing resource identifier, when the API includes one description: Standard HTTP 404 not found error response response_http401: title: response_http401 type: object properties: detail: type: string description: Human-readable explanation of the authentication error examples: - Authentication credentials were not provided. description: Standard HTTP 401 authentication error response response_http429: title: response_http429 type: object properties: detail: type: string 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 description: Standard HTTP 429 rate limit error response response_count: title: response_count required: - distinct - end - limit - results - start - total type: object properties: distinct: type: string description: Field used to group the count results end: type: integer description: Search window end timestamp for the count request, in epoch seconds contentEncoding: int32 limit: type: integer description: Maximum number of distinct count results requested contentEncoding: int32 results: uniqueItems: true type: array items: $ref: '#/components/schemas/count_result' description: Count results grouped by the distinct field start: type: integer description: Search window start timestamp for the count request, in epoch seconds contentEncoding: int32 total: type: integer description: Number of distinct result buckets returned contentEncoding: int32 description: Distinct count response for time-bounded search results response_search_bgps: title: response_search_bgps type: object properties: end: type: number description: Epoch timestamp, in seconds, for the end of the BGP statistics search window limit: type: integer description: Maximum number of BGP peer statistics records returned in this page contentEncoding: int32 next: type: string description: URL for retrieving the next page of BGP peer statistics results results: type: array items: $ref: '#/components/schemas/bgp_stats' description: BGP peer statistics records matching the search filters start: type: number description: Epoch timestamp, in seconds, for the start of the BGP statistics search window total: type: integer description: Number of BGP peer statistics records matching the search filters across all pages contentEncoding: int32 description: Paginated response for BGP peer statistics search results securitySchemes: apiToken: type: apiKey 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." name: Authorization in: header csrfToken: type: apiKey description: 'Session-based authentication for browser or login/password flows. After a successful [Login]($e/Admins%20Login/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.' name: X-CSRFToken in: header