Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Juniper Mist AI Sites EVPN Topologies API

EVPN allows an alternative but more efficient LAN architecture utilizing VxLAN / MP-BGP - separating control plane (MAC / IP Learning) from forwarding plane.In our implementation, following the steps to deploy EVPN topologies in a Site

Juniper Mist AI Sites EVPN Topologies API is one of 211 APIs that Juniper Mist AI publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Sites EVPN Topologies. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 5 operations across 2 paths, and defines 65 schemas. It is described by OpenAPI 3.1.0, at version 2604.1.1.

Requests are made against 12 base URLs: https://api.mist.com, https://api.gc1.mist.com, https://api.ac2.mist.com, https://api.gc2.mist.com, https://api.gc4.mist.com, https://api.eu.mist.com, https://api.gc3.mist.com, https://api.ac6.mist.com, https://api.gc6.mist.com, https://api.ac5.mist.com, https://api.gc5.mist.com, https://api.gc7.mist.com.

5 operations 2 paths 65 schemas 1 DELETE2 GET1 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
2604.1.1
Base URL
https://api.mist.com/api/v1
Authentication
API Key, HTTP Basic, API Key
License
Resource Areas
1

Authentication & Security 3

Juniper Mist AI Sites EVPN Topologies API declares 3 security schemes for authenticating requests. An API key is passed in the header as Authorization (apiToken). It accepts HTTP basic authentication (basicAuth). An API key is passed in the header as X-CSRFToken (csrfToken). By default, every request must be authenticated.

  • apiToken — 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 equa…
  • basicAuth — While our current UI uses Session / Cookie-based authentication, it’s also possible to do Basic Auth.
  • csrfToken — This protects the website against [Cross Site Request Forgery](https://en.wikipedia.org/wiki/Cross-siterequestforgery), all the POST / PUT / DELETE APIs needs…

Paths & Operations 5

Across 2 paths, the API surfaces 5 operations — 1 DELETE, 2 GET, 1 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

Sites EVPN Topologies 5

EVPN allows an alternative but more efficient LAN architecture utilizing VxLAN / MP-BGP - separating control plane (MAC / IP Learning) from forwarding plane. In our implementation…

GET
/api/v1/sites/{site_id}/evpn_topologies
listSiteEvpnTopologies
listSiteEvpnTopologies 3 params → 200400401403404429
POST
/api/v1/sites/{site_id}/evpn_topologies
createSiteEvpnTopology
createSiteEvpnTopology 1 param body → 200400401403404429
DELETE
/api/v1/sites/{site_id}/evpn_topologies/{evpn_topology_id}
deleteSiteEvpnTopology
deleteSiteEvpnTopology 2 params → 200400401403404429
GET
/api/v1/sites/{site_id}/evpn_topologies/{evpn_topology_id}
getSiteEvpnTopology
getSiteEvpnTopology 2 params → 200400401403404429
PUT
/api/v1/sites/{site_id}/evpn_topologies/{evpn_topology_id}
updateSiteEvpnTopology
updateSiteEvpnTopology 2 params body → 200400401403404429

Schemas 65

The contract defines 65 schemas that model the data the API accepts and returns. The most detailed are switch_port_usage (45 properties), junos_port_config (18 properties), evpn_topology_switch (17 properties), evpn_options (13 properties). Each schema is shown below with its type and property counts.

evpn_options_overlay
object
1 property
switch_port_usage_reauth_interval
Only if mode!=dynamic and portauth=dot1x reauthentication interval range (min: 10, max: 65535, default: 3600). Set to 0 to disable reauthentication (no-reauthe…
strings
array
junos_port_config_duplex
string
enum: auto, full, half
evpn_topology_switch_config_other_ip_configs
object
Additional IP Addresses configured on the switch. Property key is the port network name
switch_port_usage_mtu
Only if mode!=dynamic media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation. The default value is 1514.
evpn_topology_switch_uplinks
array
evpn_options_vs_instances
object
Optional, for EX9200 only to segregate virtual-switches
evpn_topologies_response
array
switch_port_usage_networks
array
Only if mode==trunk, the list of network/vlans
evpn_topology_switch_esilaglinks
array
evpn_topology_switches
array
switch_port_usage_mac_auth_protocol
string
Only if mode!=dynamic and enablemacauth ==true. This type is ignored if mistnac is enabled. enum: eap-md5, eap-peap, pap
evpn_topology_switch_downlink_ips
array
evpn_topology_switch_pods
array
By default, core switches are assumed to be connecting all pods. if you want to limit the pods, you can specify pods.
response_http401
object
1 property
evpn_topology_switch_suggested_uplinks
array
evpn_topology_switch_downlinks
array
switch_port_usage_dynamic_rule_equals_any
array
Use equalsany to match any item in a list
evpn_topology_switch_suggested_esilaglinks
array
junos_port_config
object
Switch port config
18 properties 1 required
vlan_id_with_variable
evpn_options
object
EVPN Options
13 properties
switch_port_usage_dynamic_rules
array
Only if mode==dynamic
junos_port_config_speed
string
enum: 100m, 10m, 1g, 2.5g, 5g, 10g, 25g, 40g, 100g,auto
switch_port_usage_mac_limit
Only if mode!=dynamic, max number of mac addresses, default is 0 for unlimited, otherwise range is 1 to 16383 (upper bound constrained by platform)
switch_port_usage_speed
string
Only if mode!=dynamic, Port speed, default is auto to automatically negotiate speed enum: 100m, 10m, 1g, 2.5g, 5g, 10g, 25g, 40g, 100g,auto
evpn_topology
object
11 properties 1 required
switch_port_usage_dynamic_rule
object
6 properties 1 required
created_time
number
When the object has been created, in epoch
switch_port_usage
object
Junos port usages
45 properties
evpn_topology_response
object
10 properties
evpn_topology_switch
object
17 properties 2 required
switch_port_usage_dynamic_rule_src
string
enum: linkpeermac, lldpchassisid, lldphardwarerevision, lldpmanufacturername, lldpoui, lldpserialnumber, lldpsystemdescription, lldpsystemname, radiusdynamicfi…
switch_port_usage_dynamic_vlan_networks
array
Only if mode!=dynamic and portauth==dot1x, if dynamic vlan is used, specify the possible networks/vlans RADIUS can return
wired_port_config
object
Property key is the port name or range (e.g. "ge-0/0/0-10")
evpn_topology_switch_config_vrf_config
object
1 property
switch_port_usages
object
Property key is the port usage name. Defines the profiles of port configuration configured on the switch
response_http429
object
1 property
junos_other_ip_config
object
Optional, if it's required to have switch's L3 presence on a network/vlan
7 properties
org_id
string
ip_type6
string
enum: autoconf, dhcp, disabled, static
evpn_topology_switch_configs
object
Property key is the switch mac
evpn_topology_switch_config
object
7 properties
id
string
Unique ID of the object instance in the Mist Organization
switch_port_usage_dynamic_reset_default_when
string
Only if mode==dynamic Control when the DPC port should be changed to the default port usage. enum: linkdown, none (let the DPC port keep at the current port us…
response_http403
object
1 property
evpn_options_routed_at
string
optional, where virtual-gateway should reside. enum: core, distribution, edge
switch_port_usage_mode
string
mode==dynamic must only be used if the port usage name is dynamic. enum: access, dynamic, inet, trunk
ip_type
string
enum: dhcp, static
evpn_options_underlay
object
4 properties
switch_port_usage_duplex
string
Only if mode!=dynamic. Link connection mode. enum: auto, full, half
site_id
string
evpn_topology_switch_suggested_downlinks
array
response_http404
object
1 property
switch_networks
object
Property key is network name
evpn_topology_switch_role
string
use role==none to remove a switch from the topology. enum: access, collapsed-core, core, distribution, esilag-access, none
switch_network
object
A network represents a network segment. It can either represent a VLAN (then usually ties to a L3 subnet), optionally associate it with a subnet which can late…
7 properties 1 required
response_http400
object
1 property
switch_port_usage_storm_control
object
Switch storm control. Only if mode!=dynamic
6 properties
poe_priority
string
PoE priority. enum: low, high
switch_port_usage_dot1x
stringnull
Only if mode!=dynamic. If dot1x is desired, set to dot1x. enum: dot1x
evpn_options_vs_instance
object
1 property
evpn_topology_switch_config_dhcpd_config
object
1 property
modified_time
number
When the object has been modified for the last time, in epoch

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

mist-ai-sites-evpn-topologies-api-openapi.yml Raw ↑

Other APIs Juniper Mist AI publishes across the network.

Juniper Mist WebSocket Streaming API
Juniper Mist Webhooks API
Juniper Mist AI Admins API
Juniper Mist AI Admins Login API
Juniper Mist AI Admins Login - OAuth2 API
Juniper Mist AI Admins Logout API
Juniper Mist AI Admins Lookup API
Juniper Mist AI Admins Recover Password API
Juniper Mist AI Constants Definitions API
Juniper Mist AI Constants Events API
Juniper Mist AI Constants Models API
Juniper Mist AI Installer API