OrgsEVPN Topologies

listOrgEvpnTopologies

GET
/api/v1/orgs/{org_id}/evpn_topologies

List EVPN topology records in the organization, optionally filtering for org-level, site-level, or all topologies with for_site.

Authorization

Authorization<token>

Preferred authentication method for automation and integrations. Send the API token in the HTTP Authorization header.

Format: Authorization: Token {apitoken}

Notes:

  • An API token generated for a specific admin has the same privileges as that admin
  • An API token is automatically removed if it is not used for more than 90 days
  • SSO admins cannot generate admin API tokens. Use organization API tokens when scoped Org/Site privileges are needed.

In: header

Path Parameters

org_id*string
Formatuuid

Query Parameters

for_site?string

Filter for org/site level EVPN topologies. enum: any, false, true

Default"any"

Value in

  • "any"
  • "false"
  • "true"
limit?integer

Maximum number of results to return per page

Range0 <= value
Default100
page?integer

Select the page number to return when using page-based pagination; starts at 1

Range1 <= value
Default1

Response Body

curl -X GET "https://example.com/api/v1/orgs/000000ab-00ab-00ab-00ab-0000000000ab/evpn_topologies"
[  {    "created_time": 1736421230,    "evpn_options": {      "auto_loopback_subnet": "172.16.192.0/24",      "auto_loopback_subnet6": "fd33:ab00:2::/64",      "auto_router_id_subnet": "172.16.254.0/23",      "core_as_border": true,      "overlay": {        "as": 65000      },      "per_vlan_vga_v4_mac": false,      "routed_at": "core",      "underlay": {        "as_base": 65001,        "subnet": "10.255.240.0/20",        "use_ipv6": false      }    },    "for_site": false,    "id": "764fb173-94f9-447c-8454-def62e5a999f",    "modified_time": 1736421230,    "name": "tert",    "org_id": "3a2627d7-bfbc-45af-b85d-8841581c6d63",    "pod_names": {      "1": "Pod 1"    },    "site_id": "00000000-0000-0000-0000-000000000000"  }]

searchOrgSystemEvents GET

Search organization system event records with time range, sorting, and pagination controls.

createOrgEvpnTopology POST

While all the `evpn_id` / `downlink_ips` can be specified by hand, the easiest way is to call the `build_vpn_topology` API, allowing you to examine the diff, and update it yourself. You can also simply call it with `overwrite=true` which will apply the updates for you. **Notes:** 1. You can use `core` / `distribution` / `access` to create a CLOS topology 2. You can also use `core` / `distribution` to form a 2-tier EVPN topology where ESI-Lag is configured distribution to connect to access switches 3. In a small/medium campus, `collapsed-core` can be used where core switches are the inter-connected to do EVPN 4. The API uses a few pre-defined parameters and best-practices to generate the configs. It can be customized by using `evpn_options` in Site Setting / Network Template. (e.g. a different subnet for the underlay) #### Collapsed Core In a small-medium campus, EVPN can also be enabled only at the core switches (up to 4) by assigning all participating switches with `collapsed-core role`. When there are more than 2 switches, a ring-like topology will be formed. #### ESI-Lag If the access switches does not have EVPN support, you can take advantage of EVPN by setting up ESI-Lag on distribution switches #### Leaf / Access / Collapsed-Core For leaf nodes in a EVPN topology, you’d have to configure the IPs for networks that would participate in EVPN. Optionally, VRFs to isolate traffic from one tenant versus another