Extreme API with Python
Table Of Contents
- 1 Preface
- 2 Introduction
- 3 EXOS APIs
- 4 VOSS API
- 5 XMC API
- 6 ExtremeCloud IQ API
- 7 Extreme Campus Controller API
Extreme API with Python
Page | 49
Part no.9036931-00 Rev AA February 2021
Default 1 ---------------------------------------------- ANY 0 /0 VR-Default
interco 4094 10.1.1.2 /24 -f------------------------ ANY 1 /1 VR-Default
Mgmt 4095 192.168.56.121 /24 -------------------------- ANY 1 /1 VR-Mgmt
VLAN_0054 54 ---------------------------------------------- ANY 0 /0 VR-Default
Zaphod 42 ---------------------------------------------- ANY 0 /0 VR-Default
-----------------------------------------------------------------------------------------------
Flags : (B) BFD Enabled, (c) 802.1ad customer VLAN, (C) EAPS Control VLAN,
[…]
Total number of VLAN(s) : 5
The same logic applies to any datastore and allows you to manage switches in a programmatic way,
using an open standard.
3.2.2 JSON-RPC API
The JSON-RPC API offers another way to interact with EXOS switches. To see documentation, visit this
link:
HTTPS://documentation.extremenetworks.com/app_notes/MMI/121152_MMI_Application_Re
lease_Notes.pdf
This document also exists in html:
HTTPS://api.extremenetworks.com/EXOS/ClientApplications/JSONRPC/
Note: This capability was introduced with EXOS 21.1 and requires that the web server be enabled. This is
the default behavior for EXOS.
You can also find information and examples of JSON-RPC on the Extreme Networks github:
HTTPS://github.com/extremenetworks/EXOS_Apps/tree/master/JSONRPC
3.2.2.1 JSON-RPC Overview
JSON-RPC is a Remote Procedure CALL (RPC) returning JSON formatted information. It allows you to
send CLI commands, run scripts remotely, or run a Python application via HTTP and receive a response
formatted in JSON.
The main benefits are ease-of-use, and the lack of a requirement for strict data modeling on the system.
Using JSON-RPC with EXOS allows you to send any valid CLI command, meaning that all features are
accessible immediately.
3.2.2.2 EXOS JSON-RPC
The EXOS JSON-RPC implementation supports both HTTPS and HTTP protocols. It requires basic
authentication (login and password) but supports a token for subsequent requests. The token is added
as a cookie in the request header. The duration of the token defaults to 86400 seconds, which is 1 day.










