Inventory Service (3.1.0)

Download OpenAPI specification:Download

This is the spec that defines the API provided by the Inventory/Asset Service, which is used by multiple services to access network configuration/state data

Authentication

bearerAuth

Security Scheme Type HTTP
HTTP Authorization Scheme bearer
Bearer format "JWT"

Started

This API will be called when very first time the user logs in

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "devices_count": 2,
  • "show_user_creation_window": false
}

Replace

replaceSwitch

Replace the switch as part of an RMA. This will replace the asset information of the new switch in the Inventory.

Authorizations:
query Parameters
ip_address
required
string

IP Addresses of the device to be replaced.

config_backup_id
string

UUID of config backup

Responses

Response samples

Content type
application/json
{
  • "href": "href",
  • "uuid": "id"
}

Switch replace

rma

delet RMA ID.

Authorizations:
query Parameters
key
string

IP Addresses of the device or RMA uuid to deleted.

Responses

Response samples

Content type
application/json
{
  • "result": 0,
  • "userKey": "1111-1111-1111",
  • "error": "uuid not found"
}

Switch replace History list

getRMAHistorys

Get Switch replace History list

Authorizations:
query Parameters
device_ip
string

Ip of the entry for which RMA history is fetched

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Switch Replace Details

getRMADetail

Get RMA Detail

Authorizations:
query Parameters
rma_id
required
string

RMA Id of the entry for which detail is fetched

Responses

Response samples

Content type
application/json
{
  • "dr_id": "1111-1111-1111",
  • "device-ip": "1.1.1.1",
  • "status": "Success",
  • "StartTime": "12:03:24,12/2/2020"
}

TpvmUpgrade

getMultiTpvmUpgradeStatus

Get the status of the TPVM upgrade execution.

Authorizations:
query Parameters
ip_address
string

IP Addresses of the devices

execution_id
string

Execution ID. Get the tpvm upgrade execution status for device by execution ID.

Responses

Response samples

Content type
application/json
{
  • "overall_status": "Completed",
  • "items": [
    ]
}

getTpvmUpgradeStatus Deprecated

Get the status of the TPVM upgrade execution.

Authorizations:
query Parameters
ip_address
string

IP Address of the device

execution_id
string

Execution ID. Get the tpvm upgrade execution status for device by execution ID.

Responses

Response samples

Content type
application/json
{
  • "switch_data": {
    },
  • "start_time": "2000-01-23T04:42:16.000Z",
  • "last_update_time": "2000-01-23T04:56:07.000Z",
  • "update_state": "Completed",
  • "id": 1,
  • "target_tpvm_version": "4.2.1",
  • "status": "TPVM Upgrade Completed",
  • "detailed_status": "None",
  • "failed_state": "device-validation-failed",
  • "upgrade_type": "incremental upgrade"
}

executeTpvmUpgrade

Execute TPVM upgrade on the switch.

Authorizations:
query Parameters
ip_address
required
string

IP Addresses of the device.

firmware_host
required
string

IP address of a registered firmware host.

tpvm_image
required
string

TPVM image path and filename located on the firmware host.

trusted_peer_sudo_user
string

TPVM trusted peer sudo user configuration to be reconfigured after the TPVM has been upgraded. Default sudo user is "extreme" if not specified along with the trusted peer password.

trusted_peer_password
string

TPVM trusted peer password configuration to be reconfigured after the TPVM has been upgraded.

Responses

Response samples

Content type
application/json
{
  • "href": "href",
  • "uuid": "id"
}

TpvmList

getTpvmList

Get the tpvm list

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Switch Setting

getSwitchSetting

Authorizations:
query Parameters
ip_address
required
string

IP Addresses of the device to be retrieved.

Responses

Response samples

Content type
application/json
{
  • "device-ip": "10.20.30.40",
  • "error": null,
  • "device-settings": {
    }
}

updateSwitchSetting

Authorizations:
Request Body schema: application/json

Update Switch Settings.

ip_address
required
string
required
Array of objects (DeviceParameter)

Responses

Request samples

Content type
application/json
{
  • "ip_address": "10.20.30.40",
  • "keyval": [
    ]
}

Response samples

Content type
application/json
{
  • "device-ip": "10.20.30.40",
  • "error": null,
  • "device-settings": {
    }
}

Switches Setting

updateSwitchesSetting

Authorizations:
Request Body schema: application/json

Update Switches Settings.

ip_addresses
string
fabric_name
string
required
Array of objects (DeviceParameter)

Responses

Request samples

Content type
application/json
{
  • "ip_address": "10.20.30.40-41",
  • "fabric_name": "fabric1",
  • "keyval": [
    ]
}

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Drift and reconcile

driftAndReconcile

Trigger drift and reconcile for inventory, fabric and tenant.

Authorizations:
query Parameters
ip_address
required
string

IP Addresses of the device to be retrieved.

reconcile
required
boolean
Default: false

Value true implies efa drift with devices will be reconciled

Responses

Response samples

Content type
application/json
{
  • "href": "href",
  • "uuid": "id"
}

driftAndReconcile

delete drift and reconcile ID.

Authorizations:
query Parameters
key
string

IP Addresses of the device or drift and reconcile uuid to deleted.

Responses

Response samples

Content type
application/json
{
  • "result": 0,
  • "userKey": "1111-1111-1111",
  • "error": "uuid not found"
}

driftAndReconcile

Trigger drift and reconcile for inventory, fabric and tenant.

Authorizations:
query Parameters
ip_address
required
Array of strings non-empty unique

IP Addresses of the device to be retrieved.

reconcile
required
boolean
Default: false

Value true implies efa drift with devices will be reconciled

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

switch health status

switchHealthStatus

current health status for the switch.

Authorizations:
query Parameters
ip_address
required
string

IP Addresses of the device to be retrieved.

Responses

Response samples

Content type
application/json
{
  • "switchHealth": "disabled",
  • "drUUID": "Id",
  • "href": "/v1/inventory/drift_reconcile/detail",
  • "heartBeatMissCounter": 2,
  • "heartBeatMissThreshold": 2,
  • "healthCheckInterval": "5m",
  • "maintenanceMode": "enabled"
}

Config Replay

StartConfigReplay

Config Replay to device.

Authorizations:
query Parameters
ip_address
required
string

IP Addresses of the device to be replayed.

cb_id
string

ConfigBackup Id of the config to be applied

ss_id
string

Snapshot Id of the config to be applied

startup_config
boolean

Copy the config to startup config.

no_reboot
boolean

Don't reboot the device.

Responses

Response samples

Content type
application/json
{
  • "href": "href",
  • "uuid": "id"
}

ConfigReplay

Delete Config Replay ID.

Authorizations:
query Parameters
key
string

IP Addresses of the device or config Replay uuid to deleted.

Responses

Response samples

Content type
application/json
{
  • "result": 0,
  • "userKey": "1111-1111-1111",
  • "error": "uuid not found"
}

Config Backup

StartConfigBackup

Config Backup from device.

Authorizations:
query Parameters
ip_address
required
string

IP Addresses of the device to be retrieved.

Responses

Response samples

Content type
application/json
{
  • "href": "href",
  • "uuid": "id"
}

ConfigBackup

Delete Config Backup ID.

Authorizations:
query Parameters
key
string

IP Addresses of the device or config backup uuid to deleted.

Responses

Response samples

Content type
application/json
{
  • "result": 0,
  • "userKey": "1111-1111-1111",
  • "error": "uuid not found"
}

Register

registerSwitches

Register multiple switches with the inventory service

Authorizations:
Request Body schema: application/json

Register Switches.

Array ()
device_ips
required
Array of strings
username
required
string
location
string
password
required
string
lacp_system_priority
integer
maintmode
boolean

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

registerSwitches

Register switches with the inventory service

Authorizations:
Request Body schema: application/json

Register a new Switch.

device_ips
required
Array of strings
username
required
string
location
string
password
required
string
lacp_system_priority
integer
maintmode
boolean

Responses

Request samples

Content type
application/json
{
  • "password": "password",
  • "device_ips": [
    ],
  • "username": "username",
  • "maintmode": true
}

Response samples

Content type
application/json
[
  • {
    }
]

Switches

getSwitches

Get All switches in the specified fabric.

Authorizations:
query Parameters
fabric_name
string

Only devices which are associated to the fabric name specified as returned.

device_ids
Array of integers non-empty unique

Database Ids of switches to be fetched

device_ips
Array of strings non-empty unique

IPs of the devices to be fetched

orphan
boolean

This is a standalone parameter, which is used to return devices not associated to any fabric. fabric_name/device_ids/device_ips/role cannot be specified with this parameter

role
string
Enum: "Leaf" "Spine" "SuperSpine" "BorderLeaf" "SuperSuperSpine"

Only devices with the specified role are returned. This parameter works in conjunction with fabric_name parameter and is not expected by itself

object

{"group_by":"role"} Responses grouped by role {"filter":[{"name":"name","value":"10.37.128.71"},{"name":"role',"value":"NPB"}] Responses filtered by name="10.37.128.71" and role="NPB" {"fuzzy":"adm"} Responses searched using fuzzy search "adm"

object

{"sort_by":"asc|desc"} Responses grouped id in ascending or descending order {"offset" : "lt:30"} Responses filtered id less then 30 {"page_size":20} Responses searched with limit of 20 entriess

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

updateSwitches

Update All switches in the specified fabric.

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IP Addresses of the device(s) to be updated.

fabric_name
string

Update devices which are associated to the fabric name.

username
string

Update username and password for the devices.

password
string

Update username and password for the devices.

location
string

Update location for the devices.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

deleteSwitches

Delete the specified devices from the inventory.

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IP Addresses of the device to be deleted.

fabric_name
string

Fabric name. Devices in this fabric will be deleted.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

manageSwitchesConfig

Manage the running-config on the specified devices.

Authorizations:
Request Body schema: application/json

Managed the running-config for devices in the fabric or specified devices.

device_ips
Array of strings

IP Addresses of the devices for managing the running-config.

fabric_name
string

Name of the fabric

persist_local
boolean
Default: true

Save the running-config to the startup-config on the specified devices.

Responses

Request samples

Content type
application/json
{
  • "fabric_name": "fabric_name",
  • "device_ips": [
    ],
  • "persist_local": true
}

Response samples

Content type
application/json
{
  • "items": [
    ]
}

executeSwitchesCli

Execute CLI commands on the specified devices.

Authorizations:
Request Body schema: application/json

Execute CLI commands on the devices in the fabric or specified devices.

device_ips
Array of strings

IP Addresses of the devices to execute the CLI command.

fabric_name
string

Name of the fabric

role
string
Enum: "Spine" "Leaf" "Super Spine" "Border Leaf" "Standalone"

role of the device

commands
string

CLI commands to be executed on the device.

config
boolean
Default: false

Specifies if the command is to be executed on config-term or exec-mode of the device.

Responses

Request samples

Content type
application/json
{
  • "fabric_name": "default",
  • "role": "Spine",
  • "device_ips": [
    ],
  • "config": false,
  • "commands": "show version"
}

Response samples

Content type
application/json
{
  • "items": [
    ]
}

executeReloadCli

Execute reload CLI command on the specified devices.

Authorizations:
Request Body schema: application/json

Execute reload CLI command on specified devices.

device_ips
Array of strings

IP Addresses of the devices to execute the reload CLI command.

fabric_name
string

Name of fabric

Responses

Request samples

Content type
application/json
{
  • "device_ips": [
    ],
  • "fabric_name": "default"
}

Response samples

Content type
application/json
{
  • "items": [
    ]
}

FirmwareDownload

getFirmwareDownloadStatus

Get the status of the firmware download execution.

Authorizations:
query Parameters
fabric_name
string

Fabric name. Get the firmware download execution status for devices in the given fabric.

execution_id
string

Execution ID(s). Get the firmware download execution status for devices in the fabric by a comma separated list of execution IDs.

prepared_list_name
string

Prepared list name. Get the firmware download execution status for devices in the given prepare list.

Responses

Response samples

Content type
application/json
{
  • "overall_status": "Completed",
  • "items": [
    ]
}

executeFirmwareDownload

Execute firmware download on the prepared switches.

Authorizations:
query Parameters
fabric_name
string

Fabric name. Execute the firmware download for prepared devices in the given fabric.

prepared_list_name
string

Prepared list name. Execute the firmware download for prepared devices in the given prepared list.

group_execution
string

Group Execution option in Firmware Download.

no_auto_commit
boolean

Configure auto commit for Firmware Download.

no_maint_mode
boolean

Configure Maintainance mode in Firmware Download.

drc
boolean

Configure a drift reconciliation operation performed after Firmware Download.

no_activate
boolean

Configure Activation in Firmware Download.

Responses

Response samples

Content type
application/json
{
  • "execution_task": {
    }
}

commmitFirmwareDownload

Execute firmware download commit on the switches.

Authorizations:
Request Body schema: application/json

IPs of the devices to be prepared for a firmware download.

device_ips
Array of strings
fabric
string
prepared_list_name
string

Responses

Request samples

Content type
application/json
{
  • "fabric": "fabric",
  • "device_ips": [
    ]
}

Response samples

Content type
application/json
{
  • "items": [
    ]
}

restoreFirmwareDownload

Execute firmware download restore on the switches.

Authorizations:
Request Body schema: application/json

IPs of the devices to be prepared for a firmware download.

device_ips
Array of strings
fabric
string
prepared_list_name
string

Responses

Request samples

Content type
application/json
{
  • "fabric": "fabric",
  • "device_ips": [
    ]
}

Response samples

Content type
application/json
{
  • "execution_task": {
    },
  • "items": [
    ]
}

activateFirmwareDownload

Execute firmware download activate on the switches.

Authorizations:
Request Body schema: application/json

IPs of the devices to be activated for a firmware download activation.

device_ips
Array of strings
fabric
string
prepared_list_name
string

Responses

Request samples

Content type
application/json
{
  • "fabric": "fabric",
  • "device_ips": [
    ]
}

Response samples

Content type
application/json
{
  • "items": [
    ]
}

getPreparedSwitches

Get the prepared devices ready for a firmware download operation.

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IPs of the devices to be fetched

fabric_name
string

Fabric name. Prepared devices in this fabric to be fetched.

prepared_list_name
string

Prepared list name. Prepared devices in this prepred list to be fetched.

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

addPreparedSwitches

Prepare the devices for a firmware download operation.

Authorizations:
query Parameters
force
boolean

Configure force option in prepare request to skip all validations

Request Body schema: application/json

IPs of the devices to be prepared for a firmware download.

device_ips
Array of strings
group_name
integer
fabric
string
prepared_list_name
string
firmware_host
required
string
firmware_directory
required
string

Responses

Request samples

Content type
application/json
{
  • "fabric": "fabric",
  • "device_ips": [
    ],
  • "firmware_host": "firmware_host",
  • "firmware_directory": "firmware_directory"
}

Response samples

Content type
application/json
{
  • "items": [
    ]
}

removePreparedSwitches

Un-prepare the devices from a firmware download operation.

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IP Addresses of the devices to be unprepared from a firmware download operation.

fabric_name
string

Fabric name. Devices in this fabric will be un-prepared.

group_name
integer

Group name. Devices in this Group will be un-prepared.

prepared_list_name
string

Prepared list name. Devices will be un-prepared from the prepared list.

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

firmwarePrepareExecuteActivate

Prepare the devices, download the firmware and activate the firmware on the devices.

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IPs of the devices to be fetched

no_activate
boolean

Configure Activation in Firmware Download.

prepared_list_name
string

Prepared list name. Execute the firmware download for prepared devices in the given prepared list.

Request Body schema: application/json

Firmware host details and IPs of the devices to be prepared for a firmware download.

device_ips
Array of strings
group_name
integer
fabric
string
prepared_list_name
string
firmware_host
required
string
firmware_directory
required
string

Responses

Request samples

Content type
application/json
{
  • "fabric": "fabric",
  • "device_ips": [
    ],
  • "firmware_host": "firmware_host",
  • "firmware_directory": "firmware_directory"
}

Response samples

Content type
application/json
{
  • "items": [
    ]
}

FabricServiceData

fabricServiceData

Populate Fabric service specific data in Inventory service

Authorizations:
Request Body schema: application/json

Fabric service data fabric_type, device_rack.

Array of objects (Fabric service specefic data)

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "reason": "string"
}

SupportSave

DeviceSupportSave

Capture the supportsave data from device(s) and return the file name in the response

Authorizations:
Request Body schema: application/json

SupportSave for devices

fabric
string

Fabric name to take SS of rall devices in the fabric

device-ips
string

Device IP's of switches to collect support save from

fabric-all
boolean

true/false to take Support save of all devices

Responses

Request samples

Content type
application/json
{
  • "fabric": "default",
  • "device-ips": "10.24.131.3,162.101.21.2,192.24.32.204",
  • "fabric-all": true
}

Response samples

Content type
application/json
{
  • "deviceSSResponse": [
    ]
}

DeviceTacacs

getDeviceTacacsConfigs

This API will return all TACACS configuration existing on the device

Authorizations:
query Parameters
device_ip
required
string

device ip

Responses

Response samples

Content type
application/json
{
  • "tacacsInfos": [
    ]
}

createDeviceTacacsConfig

This API will create the TACACS configuration on the device

Authorizations:
Request Body schema: application/json

TACACS configuration on the given device

device_ip
required
string

Device IP address

device_id
uint

Device ID

id
integer <int64>
name
required
string

TACACS configuration host name

secret_key
string

TACACS secret key

vrf_name
string

TACACS VRF name

port
integer

TACACS port number

Responses

Request samples

Content type
application/json
{
  • "device_ip": "string",
  • "device_id": null,
  • "id": 1,
  • "name": "TACACS_Config1",
  • "secret_key": "secret",
  • "vrf_name": "mgmt-vrf",
  • "port": 49
}

Response samples

Content type
application/json
{
  • "device_ip": "string",
  • "device_id": null,
  • "id": 1,
  • "name": "TACACS_Config1",
  • "secret_key": "secret",
  • "vrf_name": "mgmt-vrf",
  • "port": 49
}

updateDeviceTacacsConfig

This API will update the TACACS configuration on the device

Authorizations:
Request Body schema: application/json

TACACS configuration on the given device

device_ip
required
string

Device IP address

device_id
uint

Device ID

id
integer <int64>
name
required
string

TACACS configuration host name

secret_key
string

TACACS secret key

vrf_name
string

TACACS VRF name

port
integer

TACACS port number

Responses

Request samples

Content type
application/json
{
  • "device_ip": "string",
  • "device_id": null,
  • "id": 1,
  • "name": "TACACS_Config1",
  • "secret_key": "secret",
  • "vrf_name": "mgmt-vrf",
  • "port": 49
}

Response samples

Content type
application/json
{
  • "device_ip": "string",
  • "device_id": null,
  • "id": 1,
  • "name": "TACACS_Config1",
  • "secret_key": "secret",
  • "vrf_name": "mgmt-vrf",
  • "port": 49
}

deleteDeviceTacacsConfig

This API will delete TACACS config from device

Authorizations:
Request Body schema: application/json

TACACS configuration on the given device

device_ip
required
string

Device IP address

device_id
uint

Device ID

id
integer <int64>
name
required
string

TACACS configuration host name

secret_key
string

TACACS secret key

vrf_name
string

TACACS VRF name

port
integer

TACACS port number

Responses

Request samples

Content type
application/json
{
  • "device_ip": "string",
  • "device_id": null,
  • "id": 1,
  • "name": "TACACS_Config1",
  • "secret_key": "secret",
  • "vrf_name": "mgmt-vrf",
  • "port": 49
}

Response samples

Content type
application/json
{
  • "device_ip": "string",
  • "device_id": null,
  • "id": 1,
  • "name": "TACACS_Config1",
  • "secret_key": "secret",
  • "vrf_name": "mgmt-vrf",
  • "port": 49
}

DeviceTacacsConfig

getDeviceTacacsConfig

This API will return TACACS configuration by host name and device IP address

Authorizations:
query Parameters
device_ip
required
string

device ip

name
required
string

TACACS host name

Responses

Response samples

Content type
application/json
{
  • "device_ip": "string",
  • "device_id": null,
  • "id": 1,
  • "name": "TACACS_Config1",
  • "secret_key": "secret",
  • "vrf_name": "mgmt-vrf",
  • "port": 49
}

AAAConfig

getAAAConfig

This API will return the AAA configuration existing on the device

Authorizations:
query Parameters
device_ip
required
string

device ip

Responses

Response samples

Content type
application/json
{
  • "device_ip": "string",
  • "device_id": null,
  • "id": 1,
  • "type": "local",
  • "local_auth_fallback": true
}

createAAAConfig

This API will create the AAA configuration on the device

Authorizations:
Request Body schema: application/json

AAA configuration on the given device

device_ip
required
string

Device IP address

device_id
uint

Device ID

id
integer <int64>
type
string

AAA authentication type (tacacs+, local, default)

local_auth_fallback
bool

Local authentication fallback option

Responses

Request samples

Content type
application/json
{
  • "device_ip": "string",
  • "device_id": null,
  • "id": 1,
  • "type": "local",
  • "local_auth_fallback": true
}

Response samples

Content type
application/json
{
  • "device_ip": "string",
  • "device_id": null,
  • "id": 1,
  • "type": "local",
  • "local_auth_fallback": true
}

updateAAAConfig

This API will update the AAA configuration on the device

Authorizations:
Request Body schema: application/json

AAA configuration on the given device

device_ip
required
string

Device IP address

device_id
uint

Device ID

id
integer <int64>
type
string

AAA authentication type (tacacs+, local, default)

local_auth_fallback
bool

Local authentication fallback option

Responses

Request samples

Content type
application/json
{
  • "device_ip": "string",
  • "device_id": null,
  • "id": 1,
  • "type": "local",
  • "local_auth_fallback": true
}

Response samples

Content type
application/json
{
  • "device_ip": "string",
  • "device_id": null,
  • "id": 1,
  • "type": "local",
  • "local_auth_fallback": true
}

deleteAAAConfig

This API will delete AAA config from device

Authorizations:
Request Body schema: application/json

AAA configuration on the given device

device_ip
required
string

Device IP address

device_id
uint

Device ID

id
integer <int64>
type
string

AAA authentication type (tacacs+, local, default)

local_auth_fallback
bool

Local authentication fallback option

Responses

Request samples

Content type
application/json
{
  • "device_ip": "string",
  • "device_id": null,
  • "id": 1,
  • "type": "local",
  • "local_auth_fallback": true
}

Response samples

Content type
application/json
{
  • "device_ip": "string",
  • "device_id": null,
  • "id": 1,
  • "type": "local",
  • "local_auth_fallback": true
}

Interfaces

getInterfaces

Get only the interfaces with the specific parameters for the specified switch

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IP address of the device for which the interfaces are being fetched for

device_ids
Array of integers non-empty unique

IP address of the device for which the interfaces are being fetched for

type
required
string
Default: "All"
Enum: "All" "Physical" "Loopback" "VE" "PO"

Interface types. All, Ethernet interfaces, Loopback interfaces only, VE interfaces only or Port channels only

admin_state
required
string
Default: "All"
Enum: "Up" "Down" "All"

Interface's admin state. up, down, all values only for admin state

rme
boolean

Interface's RME. enabled or not

oper_state
required
string
Default: "All"
Enum: "Up" "Down" "All"

Interface's oper state(Line protocol state). up, down, all values only for admin state

fabric_intf_role
string
Enum: "fabric" "edge"

Fabric interface role , it can be either fabric or edge, Fabric means it will returns interfaces connected to other fabric devices otherwise it is edge ports. This parameter must be given in conjunction with device_ips or device_ids

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Change Interface Port Admin State

Down/Up interfaces with the specific parameters for the specified switch

Authorizations:
Request Body schema: application/json

Register a new Switch.

ip_address
required
Array of strings non-empty unique
intfNames
required
Array of strings non-empty unique
adminState
required
string
Enum: "up" "down"
intfType
string
Default: "Eth"
Enum: "Eth" "VE" "PO"

Responses

Request samples

Content type
application/json
{
  • "intfType": "Eth",
  • "adminState": "up",
  • "ip_address": "ip_address",
  • "intfNames": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Create Breakout Interface Port

Create Breakout interfaces port with the specific parameters for the specified switch

Authorizations:
Request Body schema: application/json

Breakout break Port into multiple interfaces.

ip_address
required
Array of strings non-empty unique
intfNames
required
Array of strings non-empty unique

Interface Port Names

intfType
string
Default: "Eth"
Enum: "Eth" "VE" "PO"
mode
required
string
Enum: "4x10g" "4x25g"

Port breakout mode

Responses

Request samples

Content type
application/json
{
  • "mode": "4x10g",
  • "intfType": "Eth",
  • "ip_address": "ip_address",
  • "intfNames": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Remove Breakout of Interface Port

Remove Breakout of interfaces port with the specific parameters for the specified switch

Authorizations:
Request Body schema: application/json

Removes Breakout of interfaces of the Switch.

ip_address
Array of strings unique
intfNames
required
Array of strings unique

Interface Port Names

intfType
string
Default: "Eth"
Enum: "Eth" "VE" "PO"

Responses

Request samples

Content type
application/json
{
  • "ip_address": [
    ],
  • "intfNames": [
    ],
  • "intfType": "Eth"
}

Response samples

Content type
application/json
[
  • {
    }
]

List Breakout Interface Port

List Breakout interfaces port with the specific parameters for the specified switch

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IP Addresses of the device(s) to List Breakout Ports.

fabric_name
string

List Breakout Ports of devices which are associated to the fabric name.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Change Interface Port Speed

Change interfaces port speed with the specific parameters for the specified switch

Authorizations:
Request Body schema: application/json

Change Port speed of interfaces of the Switch.

ip_address
required
Array of strings non-empty unique
intfNames
required
Array of strings non-empty unique

Interface Port Names

speed
required
string
Enum: "100Mbps" "1Gbps" "10Gbps" "25Gbps" "40Gbps" "100Gbps" "1GbpsAN" "AUTO"

Port Speed

intfType
string
Default: "Eth"
Enum: "Eth" "VE" "PO"

Interface Type

Responses

Request samples

Content type
application/json
{
  • "intfType": "Eth",
  • "ip_address": "ip_address",
  • "intfNames": [
    ],
  • "speed": "100Mbps"
}

Response samples

Content type
application/json
[
  • {
    }
]

Change Interface Port MTU

Set L2Mtu, IPv4Mtu and IPv6Mtu to interfaces with the specific parameters for the specified switch

Authorizations:
Request Body schema: application/json

Set L2Mtu, IPv4Mtu and IPv6Mtu to device interfaces.

ip_address
required
Array of strings non-empty unique
intfNames
required
Array of strings non-empty unique

Interface Port Names

intfType
string
Default: "Eth"
Enum: "Eth" "VE" "PO"

Interface Type

mtu
integer

L2 Mtu of interface

ip_mtu
integer

IPv4 Mtu of interface

ipv6_mtu
integer

IPv6 Mtu of interface

Responses

Request samples

Content type
application/json
{
  • "ip_address": [
    ],
  • "intfNames": [
    ],
  • "intfType": "Eth",
  • "mtu": 1600,
  • "ip_mtu": 1600,
  • "ipv6_mtu": 1600
}

Response samples

Content type
application/json
[
  • {
    }
]

Remove Interface Port MTU

Remove L2Mtu, IPv4Mtu and IPv6Mtu from interfaces with the specific parameters for the specified switch

Authorizations:
Request Body schema: application/json

Remove L2Mtu, IPv4Mtu and IPv6Mtu from device interfaces.

ip_address
required
Array of strings non-empty unique
intfNames
required
Array of strings non-empty unique

Interface Port Names

intfType
string
Default: "Eth"
Enum: "Eth" "VE" "PO"

Interface Type

mtu
boolean

Remove this Mtu from interface

ip_mtu
boolean

Remove this IPv4 Mtu from interface

ipv6_mtu
boolean

Remove IPv6 Mtu from interface

Responses

Request samples

Content type
application/json
{
  • "ip_address": [
    ],
  • "intfNames": [
    ],
  • "intfType": "Eth",
  • "mtu": true,
  • "ip_mtu": true,
  • "ipv6_mtu": false
}

Response samples

Content type
application/json
[
  • {
    }
]

Change Interface Port Forward Error Correction (FEC)

Change interfaces port FEC with the specific parameters for the specified switch

Authorizations:
Request Body schema: application/json

Change Port FEC of interfaces of the Switch.

ip_address
required
Array of strings non-empty unique
intfNames
required
Array of strings non-empty unique

Interface Port Names

mode
required
string
Enum: "fc-fec" "rs-fec" "auto" "disabled"

Port FEC mode

intfType
string
Default: "Eth"
Enum: "Eth" "VE" "PO"

Interface Type

Responses

Request samples

Content type
application/json
{
  • "intfType": "Eth",
  • "ip_address": "ip_address",
  • "intfNames": [
    ],
  • "mode": "fc-fec"
}

Response samples

Content type
application/json
[
  • {
    }
]

Remove Port Forward Error Correction (FEC) from Interface Port

Remove Port FEC of interfaces port with the specific parameters for the specified switch

Authorizations:
Request Body schema: application/json

Removes Port FEC of interfaces of the Switch.

ip_address
Array of strings unique
intfNames
required
Array of strings unique

Interface Port Names

intfType
string
Default: "Eth"
Enum: "Eth" "VE" "PO"

Interface Type

Responses

Request samples

Content type
application/json
{
  • "intfType": "Eth",
  • "ip_address": "ip_address",
  • "intfNames": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Change Interface Port Dampening

Change interfaces port dampening with the specific parameters for the specified switch

Authorizations:
Request Body schema: application/json

Change Port Dampening of interfaces of the Switch.

ip_address
required
Array of strings non-empty unique
intfNames
required
Array of strings non-empty unique

Interface Port Names

toggleThreshold
integer

Port Dampening toggle threshold

samplingTime
integer

Port Dampening sampling time

waitTime
integer

Port Dampening wait time

Responses

Request samples

Content type
application/json
{
  • "ip_address": "ip_address",
  • "intfNames": [
    ],
  • "toggleThreshold": 1,
  • "samplingTime": 1,
  • "waitTime": 1
}

Response samples

Content type
application/json
[
  • {
    }
]

Remove Port Dampening from Interface Port

Remove Port Dampening of interfaces port with the specific parameters for the specified switch

Authorizations:
Request Body schema: application/json

Removes Port Dampening of interfaces of the Switch.

ip_address
Array of strings unique
intfNames
required
Array of strings unique

Interface Port Names

Responses

Request samples

Content type
application/json
{
  • "ip_address": "ip_address",
  • "intfNames": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Change Interface Port Redundant management Ethernet (RME)

Enable RME on interfaces with the specific parameters for the specified switch

Authorizations:
Request Body schema: application/json

Change RME status of interfaces of the Switch.

ip_address
required
Array of strings non-empty unique
intfNames
required
string

Interface Port Name

EnableRME
boolean

Port RME toggle threshold

Responses

Request samples

Content type
application/json
{
  • "ip_address": [
    ],
  • "intfNames": "0/31",
  • "EnableRME": true
}

Response samples

Content type
application/json
[
  • {
    }
]

Port Channels

getPortChannels

Get only the POs with the specific parameters for the specified switches

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IP address of the device for which the port channels are being fetched for

device_ids
Array of integers non-empty unique

IP address of the device for which the port channels are being fetched for

po_numbers
Array of integers non-empty unique

Numbers of the Port Channels to be fetched

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

LLDP data

getLldpData

Get LLDP data for a given input param

Authorizations:
query Parameters
remote_macs
Array of strings non-empty unique

fetch the lldp data for remote interface MACs in hhhh.hhhh.hhhh format

device_ips
Array of strings non-empty unique

fetch the lldp data for device ips in hhh.hhh.hhh.hhh format

neighbor_type
string
Default: "all"
Enum: "all" "edge" "fabric"

fetch all, edge or fabric lldp neighbors as a filter.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

VLANS

getVLANs

Get VLANS for the specified switches

Authorizations:
query Parameters
device_ip
string

IP address of the device for which the VLANs are being fetched for

device_id
integer

Device IDs for which the VLANs are being fetched for

vlan_ids
Array of integers non-empty unique

VLAN IDs to be fetched

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Mirror Sessions

getMirrorSessions

Get Mirror Sessions for the specified switches

Authorizations:
query Parameters
device_ip
string

IP address of the device for which the Mirror Sessions are being fetched for

device_id
integer

Device IDs for which the Mirror Sessions are being fetched for

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Drift Reconcile History list

getDriftReconcileHistorys

Get Drift Reconcile History list

Authorizations:
query Parameters
device_ip
string

Ip of the entry for which Drift-Reconcile history is fetched

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Drift Reconcile Details

getDriftReconcileDetail

Get Drift Reconcile Detail

Authorizations:
query Parameters
dr_id
required
string

DriftReconcile Id of the entry for which detail is fetched

Responses

Response samples

Content type
application/json
{
  • "dr_id": "1111-1111-1111",
  • "device-ip": "1.1.1.1",
  • "status": "Success",
  • "Reason": "Manual",
  • "StartTime": "12:03:24,12/2/2020"
}

Config Backup History list

getConfigBackupHistorys

Get Config Backup History list

Authorizations:
query Parameters
device_ip
string

Ip of the entry for which Config-Backup history is fetched

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Config Backup Details

getConfigBackupDetail

Get Config Backup Detail

Authorizations:
query Parameters
cb_id
required
string

ConfigBackup Id of the entry for which detail is fetched

show_config
boolean

Show complete configuration text

Responses

Response samples

Content type
application/json
{
  • "cb_id": "1111-1111-1111",
  • "device-ip": "1.1.1.1",
  • "status": "Success",
  • "Reason": "Manual",
  • "StartTime": "12:03:24,12/2/2020"
}

Config Replay History list

getConfigReplayHistorys

Get Config Replay History list

Authorizations:
query Parameters
device_ip
string

Ip of the entry for which Config-Replay history is fetched

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Config Replay Details

getConfigReplayDetail

Get Config Replay Detail

Authorizations:
query Parameters
cr_id
required
string

ConfigReplay Id of the entry for which detail is fetched

Responses

Response samples

Content type
application/json
{
  • "cr_id": "1111-1111-1111",
  • "device-ip": "1.1.1.1",
  • "cb_id": "2222-3333-2233",
  • "status": "Success",
  • "Reason": "Manual",
  • "StartTime": "12:03:24,12/2/2020"
}

VE Interface

getVEs

Get only the VEs with the specific parameters for the specified switches

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IP address of the device for which the VEs are being fetched for

device_ids
Array of integers non-empty unique

IP address of the device for which the VEs are being fetched for

ve_ids
Array of integers non-empty unique

IDs of the VEs to be fetched

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Router BGP

getRouterBgp

Get only the Router BGP with the specific parameters for the specified switch

Authorizations:
query Parameters
device_ip
string

IP address of the device for which the Router BGP are being fetched for

device_id
integer

IP address of the device for which the Router BGP are being fetched for

Responses

Response samples

Content type
application/json
{
  • "af_ip": [
    ],
  • "peer_group": [
    ],
  • "router_bgp": {
    },
  • "af_evpn": {
    }
}

MCT

getMCTManagementCluster

Get only the MCT cluster node details with the specific parameters for the specified switch

Authorizations:
query Parameters
device_ip
string

IP address of the device for which the cluster members are being fetched for

device_id
integer

ID of the device for which the cluster member are being fetched for

node_ids
Array of integers non-empty unique

IDs of the cluster nodes to be fetched. This is optional parameter along with device_id or device_ip

ids
Array of integers non-empty unique

IDs of the nodes to be fetched

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

getMCTClusterConfiguration

Get the MCT cluster configuration with the specific parameters for the specified switch

Authorizations:
query Parameters
device_ip
string

IP address of the device for which the cluster members are being fetched for

device_id
integer

Device ID of the device for which the cluster member are being fetched for

cluster_ids
Array of integers non-empty unique

cluster ID for which the configuration to be fetched. This is optional parameter along with device_ip or device_id

ids
Array of integers non-empty unique

IDs of the cluster client members to be fetched

Responses

Response samples

Content type
application/json
[
  • {
    }
]

getMCTClusterClients

Get the MCT cluster client details with the specific parameters for the specified switch

Authorizations:
query Parameters
device_ip
string

IP address of the device for which the cluster members are being fetched for

device_id
integer

ID of the device for which the cluster member are being fetched for

client_ids
Array of integers non-empty unique

cluster client ID for which the members to be fetched

cluster_id
integer

ID of the cluster for which the clients to be fetched

ids
Array of integers non-empty unique

IDs of the cluster client members to be fetched

Responses

Response samples

Content type
application/json
[
  • {
    }
]

LIF

getLIF

Get only the LIFs details with the specific parameters for the specified switch

Authorizations:
query Parameters
device_ip
string

IP address of the device for which the lifs are being fetched for

device_id
integer

IP address of the device for which the lifs are being fetched for

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

EVPN

getEVPNInstance

Get only the EVPN Instance details along with Bridge Domain, VLAN mapping with the specific parameters for the specified switch

Authorizations:
query Parameters
device_ip
string

IP address of the device for which the evpn instance are being fetched for

device_id
integer

Device ID for which the evpn instance are being fetched for

Responses

Response samples

Content type
application/json
{
  • "evpn": {
    },
  • "vlans": [
    ],
  • "route_target": [
    ],
  • "id": 1,
  • "bridge_domains": [
    ]
}

Pseudowire Profile

getPseudowireProfile

Get the Pseudowire Profile details with the specific parameters for the specified switch

Authorizations:
query Parameters
device_ip
string

IP address of the device for which the Pseudowire Profile details are being fetched for

device_id
integer

IP address of the device for which the Pseudowire Profile details are being fetched for

pseudowire_profiles
Array of strings non-empty unique

Pseudowire Profiles that users want to specifically query. This will be in conjunction with the device_id or device_ip

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Bridge Domain

getBridgeDomain

Get only the EVPN Instance details along with Bridge Domain mapping with the specific parameters for the specified switch

Authorizations:
query Parameters
device_ip
string

IP address of the device for which the BD details are being fetched for

device_id
integer

IP address of the device for which the BD details are being fetched for

bridge_domains
Array of integers non-empty unique

Bridge domains that users want to specifically query. This will be in conjunction with the device_id or device_ip

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Overlay Gateway

getOverlayGateway

Get only the Overlay Gateway details along with Bridge Domain to VNI mappinps and VLAN to VNI mapping with the specific parameters for the specified switch

Authorizations:
query Parameters
device_ip
string

IP address of the device for which the overlay gateway details are being fetched for

device_id
integer

Device ID for which the overlay gateway details are being fetched for

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Tunnels

getTunnel

Get only the Tunnel details with the specific parameters for the specified switch

Authorizations:
query Parameters
device_ip
string

IP address of the device for which the tunnel details are being fetched for

device_id
integer

IP address of the device for which the tunnel details are being fetched for

ids
Array of integers non-empty unique

IDs of the tunnel details to be fetched

tunnel_numbers
Array of integers non-empty unique

Tunnel Numbers of the tunnel details to be fetched

Responses

Response samples

Content type
application/json
{
  • "tunnels": [
    ],
  • "ip_address": "ip_address"
}

VRF

getVRF

Get only the VRF details with the specific parameters for the specified switch

Authorizations:
query Parameters
device_ip
string

IP address of the device for which the VRF details are being fetched for

device_id
integer

IP address of the device for which the VRF details are being fetched for

ids
Array of integers non-empty unique

IDs of the VRF details to be fetched

vrfs
Array of strings non-empty unique

VRF names of the VRF details to be fetched. This will be in conjunction with device_ip or device_id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

VRRP

getVRRP

Get only the VRRP details with the specific parameters for the specified switch

Authorizations:
query Parameters
device_ip
string

IP address of the device for which the VRF details are being fetched for

device_id
integer

IP address of the device for which the VRF details are being fetched for

int_type
string
Enum: "ethernet" "ve"

Interface Type to fetch VRRP details for. This works in conjunction with device_id or device_ip and int_name

int_name
string

Interface Name to fetch VRRP details for. This works in conjunction with device_id or device_ip and int_type

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Router PIM

getRouterPim

Get only the Router Pim with the specific parameters for the specified switch

Authorizations:
query Parameters
device_ip
string

IP address of the device for which the Router PIM are being fetched for

device_id
integer

Device ID for which the Router PIM are being fetched for

Responses

Response samples

Content type
application/json
{
  • "pim": [
    ]
}

IP Prefix-List

getIPPrefixList

Get only the IP Prefix List with the specific parameters for the specified switch

Authorizations:
query Parameters
device_ip
string

IP address of the device for which the IP Prefix List is being fetched for

device_id
integer

Device ID for which the IP Prefix List is being fetched for

prefixlist_name
string

IP Prefix List name that is being fetched. This will be in conjunction with device_ip or device_id

Responses

Response samples

Content type
application/json
{
  • "ipprefix-list": [
    ]
}

Route map

getRouteMap

Get only the Route map with the specific parameters for the specified switch

Authorizations:
query Parameters
device_ip
string

IP address of the device for which the Route Map is being fetched for

device_id
integer

Device ID for which the Route Map is being fetched for

routemap_name
string

Route Map name that is being fetched. This will be in conjunction with device_ip or device_id

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Community list

getCommunityList

Get the community list with specific parameters for the specified switch

Authorizations:
query Parameters
device_ip
string

IP address of the device for which the community list is being fetched

device_id
integer

Device ID for which the community list is being fetched

communitylist_name
string

Community list name that is being fetched. This will be in conjunction with device_ip or device_id

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Extended community list

getExtCommunityList

Get the extended community list with specific parameters for the specified switch

Authorizations:
query Parameters
device_ip
string

IP address of the device for which the extended community list is being fetched

device_id
integer

Device ID for which the extended community list is being fetched

extcommunitylist_name
string

Extended community list name that is being fetched. This will be in conjunction with device_ip or device_id

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Trouble Shooting

getExecutionDetail

Get the detailed output of the given execution ID

Authorizations:
query Parameters
id
required
string

Detailed output of the given execution ID

Responses

Response samples

Content type
application/json
{
  • "start_time": "2000-01-23T04:56:07.000Z",
  • "end_time": "2000-01-23T04:56:07.000Z",
  • "id": "id",
  • "logs": "logs",
  • "URL": "/v1/inventory/switches",
  • "status": "Failed, Succeeded"
}

getExecutionList

Get the list of all the previous executions

Authorizations:
query Parameters
limit
required
integer
Default: 10

Limit the number of executions that will be sent in the response. Default is 10

status
string
Default: "all"

Filter the executions based on the status(failed/succeeded/all)

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

GetRunningConfig

Get the list of all CLIs in Running Config

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Key Value

getKeyValueList

Returns a list of all key value pairs.

Authorizations:
query Parameters
prefix
string

Only return values which name starts with the provided prefix.

decrypt
boolean

Decrypt secrets and display plain text

limit
integer
Default: 100

Number of keys to get

Responses

Response samples

Content type
application/json
{
  • "ref": "core.local"
}

getValueForKey

Get a specific key vale pair based on key_name.

Authorizations:
path Parameters
name
required
string

Key Name

query Parameters
decrypt
boolean

Decrypt secrets and display plain text.

Responses

Response samples

Content type
application/json
{
  • "name": "name",
  • "secret": true,
  • "value": "value"
}

updateValueForKey

Create a new key value pair or update an existing one.

Authorizations:
path Parameters
name
required
string

Key Name.

Request Body schema: application/json

Key Value pair content.

name
required
string

Key Name.

value
required
string

Key's value.

secret
boolean

Encrypt value before saving the value.

Responses

Request samples

Content type
application/json
{
  • "name": "name",
  • "secret": true,
  • "value": "value"
}

Response samples

Content type
application/json
{
  • "name": "name",
  • "secret": true,
  • "value": "value"
}

deleteKey

Delete a Key.

Authorizations:
path Parameters
name
required
string

Key Name.

Responses

Response samples

Content type
application/json
{
  • "message": "Device is already registered in inventory",
  • "code": 101
}

FirmwareHosts

getFirmwareHosts

Get all firmware hosts.

Authorizations:
query Parameters
host_ips
Array of strings non-empty unique

IPs of the firmware hosts to be fetched

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

FirmwareHost

getFirmwareHost

Get only specified firmware host details. The firmware host can be identified by IP Address

Authorizations:
query Parameters
ip_address
required
string

IP Address of the firmware host

Responses

Response samples

Content type
application/json
{
  • "protocol": "scp",
  • "id": 1,
  • "ip_address": "10.24.39.224",
  • "status": {
    }
}

registerFirmwareHost

Register firmware host with the inventory service

Authorizations:
Request Body schema: application/json

Register a new firmware host.

ip_address
required
string
protocol
required
string
username
required
string
password
required
string

Responses

Request samples

Content type
application/json
{
  • "protocol": "ftp,scp",
  • "password": "password",
  • "ip_address": "ip_address",
  • "username": "username"
}

Response samples

Content type
application/json
{
  • "protocol": "scp",
  • "id": 1,
  • "ip_address": "10.24.39.224",
  • "status": {
    }
}

deleteFirmwareHost

Delete the specified firmware host from the inventory.

Authorizations:
query Parameters
ip_address
required
string

IP Addresses of the firmware host to be deleted.

Responses

Response samples

Content type
application/json
{
  • "protocol": "scp",
  • "id": 1,
  • "ip_address": "10.24.39.224",
  • "status": {
    }
}

updateFirmwareHost

Update the specified firmware host details in the inventory.

Authorizations:
path Parameters
ip_address
required
string

IP Address of the firmware host to be updated.

Request Body schema: application/json

Update firmware host if credentials changes provide new username and password

ip_address
required
string
protocol
required
string
username
required
string
password
required
string

Responses

Request samples

Content type
application/json
{
  • "protocol": "ftp,scp",
  • "password": "password",
  • "ip_address": "ip_address",
  • "username": "username"
}

Response samples

Content type
application/json
{
  • "protocol": "scp",
  • "id": 1,
  • "ip_address": "10.24.39.224",
  • "status": {
    }
}

DeviceDetails

Get device discovery interval time & device details

Get device discovery interval time for specific switch or switches in fabric

Authorizations:
query Parameters
fabric_name
string

Only devices which are associated to the fabric name specified as returned.

device_ips
string

Device IP's of switches to be fetched

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Change device discovery interval time

Change device discovery interval time for specific switch or switches in fabric

Authorizations:
Request Body schema: application/json

Change Port speed of interfaces of the Switch.

ip_address
string

IP address of the device

fabric_name
string

Name of the fabric

min
integer

Device discovery time in minutes

hour
integer

Device discovery time in minutes

Responses

Request samples

Content type
application/json
{
  • "ip_address": "10.25.225.165",
  • "fabric_name": "default",
  • "min": 30,
  • "hour": 2
}

Response samples

Content type
application/json
{
  • "items": [
    ]
}

DevicesLockStatus

Get devices lock statuses

Get devices lock statuses

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

UnlockExistingLock

Force Unlock Current Locks.

Force Unlock Current Locks.

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IP Addresses of the device(s) to be forcefully remove locks.

fabric_name
string

Forcefully Update Fwdl status of devices which are associated to the fabric name.

service_lock
boolean
Default: false

Value true implies service lock need to be removed

Responses

Response samples

Content type
application/json
[
  • {
    }
]

ServiceLockStatus

getServiceLockStatus

Get the service Lock status from Inventory service.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "ServiceName": "string",
  • "Status": "string",
  • "Error": "string"
}

Debug

deviceConfigDriftReconcile

This API helps user to generate the config-drift between efa intended and device configuration. If reconcile flag is set then drifted configuration will be reconciled on the device.

Authorizations:
query Parameters
ip_address
required
string

IP Addresses of the device for which config drift will be generated.

reconcile
required
boolean
Default: false

Value true implies efa drift with devices will be reconciled

Responses

Response samples

Content type
application/json
{
  • "mgmt-ip": "10.10.10.10",
  • "reconciliation-status": [
    ],
  • "config-drift": {
    }
}

GetFwdlInProgressDevices

Get FWDL In progress devices

Get FWDL In progress devices

Authorizations:

Responses

Response samples

Content type
application/json
[
  • {
    }
]

ForceRemovalFromFwdl

Force Removal from Fwdl status

Force Removal from Fwdl status.

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IP Addresses of the device(s) to be forcefully updated the fwdl status.

fabric_name
string

Forcefully Update Fwdl status of devices which are associated to the fabric name.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Certificates

Install Certificates

Install certificates

Authorizations:
Request Body schema: application/json

Install certificates on switches

device_ips
Array of strings
fabric_name
string

Name of fabric for certificate installation

certificateType
string
Enum: "https" "token"

Type of certificate to be installed, either https or token

https_certificate
string

Path of custom HTTPS Certificate(in pem format) to be installed on the device

https_key
string

Path of custom HTTPS Key(in pem format) to be installed on the device

force
boolean

Forceful update of certificate even if already present

Responses

Request samples

Content type
application/json
{
  • "device_ips": [
    ],
  • "certificateType": "https",
  • "force": false
}

Response samples

Content type
application/json
[
  • {
    }
]

Device State Change History list

GetDSCHistorys

Get Device State Change History list

Authorizations:
query Parameters
device_ip
string

Ip of the device for which DSC history is fetched

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Device State Change Details

getDeviceState

Get Device Current State

Authorizations:
query Parameters
device_ip
string

Ip of the entry for which Device State is fetched

Responses

Response samples

Content type
application/json
{
  • "device-ip": "1.1.1.1",
  • "admin_state_action": "up",
  • "oper_state": "up",
  • "switch_health_status": "enable"
}

getDSCDetail

Get DSC Detail

Authorizations:
query Parameters
dsc_id
required
string

DSC Id of the entry for which detail is fetched

Responses

Response samples

Content type
application/json
{
  • "dr_id": "1111-1111-1111",
  • "device-ip": "1.1.1.1",
  • "admin_state_action": "up",
  • "status": "Success",
  • "Fabric_status": "Success",
  • "Tenant_status": "Success",
  • "Policy_status": "Success",
  • "maintenance_mode_enable_status": "Success",
  • "StartTime": "12:03:24,12/2/2020"
}

Device state

deviceState

Trigger device state update as up or down.

Authorizations:
query Parameters
ip_address
required
string

IP Address of the device to be retrieved.

state
required
string

State of the device to changed.

Responses

Response samples

Content type
application/json
{
  • "href": "href",
  • "uuid": "id"
}

Device State

deleteDscDetails

delet DSC ID.

Authorizations:
query Parameters
key
string

IP Addresses of the device or DSC uuid to deleted.

Responses

Response samples

Content type
application/json
{
  • "result": 0,
  • "userKey": "1111-1111-1111",
  • "error": "uuid not found"
}

Health

getHealth

Get the health of the Inventory service.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "Service": "string",
  • "MessageBus": "string"
}

Restore

Restore finished

Restore finished

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

NtpServers

getNtpServers

Get NTP servers for a list of devices

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IP addresses of the devices

fabric_name
string

Fabric name. Get the NTP servers for all the devices in the given fabric.

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

NtpServer

createNtpServer

Create NTP server

Authorizations:
Request Body schema: application/json

Create a NTP server

device_ips
Array of strings unique

IP address of devices

fabric_name
string

Name of the fabric

object (Server information)

Responses

Request samples

Content type
application/json
{
  • "fabric_name": "default",
  • "device_ips": [
    ],
  • "server": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

deleteNtpServer

Delete NTP Server

Authorizations:
query Parameters
server_ip
required
string

IP address of the NTP server

device_ips
Array of strings non-empty unique

IP addresses of the devices where NTP server needs to be deleted

fabric_name
string

Fabric name. Delete the NTP server for prepared devices in the given fabric.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

NtpDisable

getNtpDisable

Get NTP disable for a list of devices

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IP addresses of the devices

fabric_name
string

Fabric name. Get the NTP disable for all the devices in the given fabric.

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

ntpDisable

Ntp disable server on the switches.

Authorizations:
Request Body schema: application/json

IPs of the devices to disable ntp serve.

device_ips
Array of strings
fabric_name
string

Name of the fabric

object (Disable information)

Responses

Request samples

Content type
application/json
{
  • "fabric_name": "default",
  • "device_ips": "10.10.10.10 20.20.20.20",
  • "disable": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

SNMP communities

getSnmpCommunities

Get SNMP communities for a list of devices

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IP addresses of the devices

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

SnmpCommunity

createSnmpCommunity

Create SNMP community

Authorizations:
Request Body schema: application/json

Create a SNMP community

device_ips
Array of strings unique

IP address of devices

object (SNMP community and group information)

Responses

Request samples

Content type
application/json
{
  • "device_ips": [
    ],
  • "community": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

deleteSnmpCommunity

Delete SNMP community

Authorizations:
query Parameters
name
required
string

Name of the SNMP community

device_ips
Array of strings non-empty unique

IP addresses of the devices where SNMP community needs to be deleted

Responses

Response samples

Content type
application/json
[
  • {
    }
]

SNMP users

getSnmpUsers

Get SNMP users for a list of devices

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IP addresses of the devices

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

SnmpUser

createSnmpUser

Create SNMP user

Authorizations:
Request Body schema: application/json

Create a SNMP user

device_ips
Array of strings unique

IP address of devices

object (SNMP user and group information)

Responses

Request samples

Content type
application/json
{
  • "device_ips": [
    ],
  • "user": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

deleteSnmpUser

Delete SNMP user

Authorizations:
query Parameters
name
required
string

Name of the SNMP user

device_ips
Array of strings non-empty unique

IP addresses of the devices where SNMP user needs to be deleted

Responses

Response samples

Content type
application/json
[
  • {
    }
]

SNMP hosts

getSnmpHosts

Get SNMP hosts for a list of devices

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IP addresses of the devices

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

SnmpHost

createSnmpHost

Create SNMP host

Authorizations:
Request Body schema: application/json

Create a SNMP host

device_ips
Array of strings unique

IP address of devices

object (SNMP host information)

Responses

Request samples

Content type
application/json
{
  • "device_ips": [
    ],
  • "host": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

deleteSnmpHost

Delete SNMP host

Authorizations:
query Parameters
host_ip
required
string

IP address of of the SNMP host. Can be IPv4/IPv6/FQDN.

community
string

Snmp Community name associated with host

user
string

Snmp user name associated with host

device_ips
Array of strings non-empty unique

IP addresses of the devices where SNMP host needs to be deleted

Responses

Response samples

Content type
application/json
[
  • {
    }
]

SNMP groups

getSnmpGroups

Get SNMP groups for a list of devices

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IP addresses of the devices

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

SNMP views

getSnmpViews

Get SNMP views for a list of devices

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IP addresses of the devices

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

createSnmpView

Create SNMP view

Authorizations:
Request Body schema: application/json

Create a SNMP view

device_ips
Array of strings unique

IP address of devices

object (SNMP view information)

Responses

Request samples

Content type
application/json
{
  • "device_ips": [
    ],
  • "view": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

deleteSnmpView

Delete SNMP view

Authorizations:
query Parameters
name
required
string

Name of the SNMP view

device_ips
Array of strings non-empty unique

IP addresses of the devices where SNMP view needs to be deleted

oid
string

MIB tree OID of the SNMP view

Responses

Response samples

Content type
application/json
[
  • {
    }
]

lockservice

lockservice

Get the lock from other services for given process name and device ip if given.

Authorizations:
Request Body schema: application/json

process-name for which lock is required

process_name
required
string
ip_address
string

Responses

Request samples

Content type
application/json
{
  • "process_name": "BackUp",
  • "ip_address": null
}

Response samples

Content type
application/json
[
  • {
    }
]

unlockservice

unlockservice

unlock other services for given process name and device ip if given.

Authorizations:
Request Body schema: application/json

process-name for which unlock is required

process_name
required
string
ip_address
string

Responses

Request samples

Content type
application/json
{
  • "process_name": "BackUp",
  • "ip_address": null
}

Response samples

Content type
application/json
[
  • {
    }
]

Device timezone

getDeviceTimezone

Get timezone for a list of devices

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IP addresses of the devices

fabric_name
string

Fabric name. Get the timezone for all the devices in the given fabric.

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

setTimeZone

Set Device timezone

Authorizations:
Request Body schema: application/json

Set timezone for device

device_ips
Array of strings unique

IP address of devices

fabric_name
string

Name of the fabric

timezone
string

Device Timezone

Responses

Request samples

Content type
application/json
{
  • "fabric_name": "default",
  • "device_ips": [
    ],
  • "timezone": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Device Timezone

unsetDeviceTimezone

Unset Device Timezone

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IP addresses of the devices where timezone needs to be unset

fabric_name
string

Fabric name where timezone for all the devices in the given fabric needs to be unset.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Supported device timezones

getSupportedDeviceTimezones

Get supported timezones

Authorizations:

Responses

Response samples

Content type
application/json
[
  • "string"
]

Bindings

getBindings

Get bindings such as prefix-list, route-map etc for BGP Peers/ Interfaces

Authorizations:
query Parameters
device_ips
required
Array of strings non-empty unique

List of devices for which the bindings need to be fetched. Example 1.1.1.1,2.2.2.2

name_of_instance
required
string

Name of the instance that needs to be fetched

type_of_instance
required
string
Enum: "route-map" "prefix-list"

Type of instances such as prefix-list, route-map etc.

Responses

Response samples

Content type
application/json
{
  • "Device": [
    ]
}

Switch Clear

routeAllSwitchClear

RouteAll Switch Clear.

Authorizations:
Request Body schema: application/json

Execute reload CLI command on specified devices.

device_ips
Array of strings

IP Addresses of the devices to execute the reload CLI command.

fabric_name
string

Name of fabric

ipv4_only
boolean

Clear only ipv4 routes

ipv6_only
boolean

Clear only ipv6 routes

Responses

Request samples

Content type
application/json
{
  • "device_ips": [
    ],
  • "fabric_name": "default",
  • "ipv4_only": false,
  • "ipv6_only": false
}

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Threshold Monitor

getThresholdMonitors

Get Threshold Monitor configuration for a list of devices

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IP addresses of the devices

fabric_name
string

Fabric name. Get the Threshold Monitor configuration for all the devices in the given fabric.

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

setThresholdMonitor

Set Threshold Monitor

Authorizations:
Request Body schema: application/json

Set Threshold Monitor for device

fabric_name
string

Name of the fabric

device_ip
Array of strings unique

IP address of devices

monitor_type
string

Threshold Monitor type

actions
string

Threshold Monitor actions to be taken

high_limit
integer

Threshold Monitor high limit to trigger action

low_limit
integer

Threshold Monitor low limit to trigger action

count
integer

Threshold Monitor maximum event count

interval
integer

Threshold Monitor interval

retry
integer

Threshold Monitor polling interval retry count

Responses

Request samples

Content type
application/json
{
  • "fabric_name": "default",
  • "device_ip": [
    ],
  • "monitor_type": "cpu",
  • "actions": "snmp",
  • "high_limit": 90,
  • "low_limit": 10,
  • "count": 3,
  • "interval": 90,
  • "retry": 5
}

Response samples

Content type
application/json
[
  • {
    }
]

unsetThresholdMonitor

Unset Threshold Monitor

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IP addresses of the devices where Threshold Monitor needs to be unset

fabric_name
string

Fabric name where Threshold Monitor for all the devices in the given fabric needs to be unset.

monitor_type
string

Type of Threshold Monitor for all the devices to be unset.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Deployment Locations

Add a New Deployment Locations

This depicts locations informations to be added where deployment resides

Authorizations:
Request Body schema: application/json

Location Data

Array of objects (Post Location Request)

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Update a New Deployment Locations

This depicts locations informations to be updated where deployment resides

Authorizations:
Request Body schema: application/json

Location Data

location_name
required
string

name of the location

region_name
required
string

region name for the location

country_name
string

country name

longitude
required
string

longitude information

latitude
required
string

latitude information

address
string

location address

city
string

city name

state
string

state name

zip_code
string

zip code

deployment_type
Array of strings

deployment types supported on that location

Responses

Request samples

Content type
application/json
{
  • "location_name": "ny dc",
  • "region_name": "nora",
  • "country_name": "india",
  • "longitude": "74.0060° w",
  • "latitude": "40.7128° n",
  • "address": "806 lexington avenue, e 62nd st",
  • "city": "new york",
  • "state": "new york",
  • "zip_code": "10001",
  • "deployment_type": [
    ]
}

Response samples

Content type
application/json
{
  • "location_name": "ny dc",
  • "location_id": 1,
  • "region_name": "nora",
  • "country_name": "US",
  • "longitude": "74.0060° w",
  • "latitude": "40.7128° n",
  • "address": "806 lexington avenue, e 62nd st",
  • "city": "new york",
  • "state": "new york",
  • "zip_code": "10001",
  • "deployment_type": [
    ]
}

Fetch locations details

Fetch all locations details

Authorizations:
query Parameters
object

{"group_by":"role"} Responses grouped by role {"filter":[{"name":"name","value":"Tenant1"},{"name":"role',"value":"Admin"}] Responses filtered by name="Tenant1" and role="Admin" {"fuzzy":"adm"} Responses searched using fuzzy search "adm"

object

{"sort_by":"asc|desc"} Responses grouped id in ascending or descending order {"offset" : "lt:30"} Responses filtered id less then 30 {"page_size":20} Responses searched with limit of 20 entriess

Responses

Response samples

Content type
application/json
{
  • "paginationResponse": {
    },
  • "locations": [
    ]
}

This API will delete the location information

Authorizations:
Request Body schema: application/json
Array of objects (Delete Location Request)

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Download Locations in CSV file

Fetch all locations details in CSV file

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "message": "Device is already registered in inventory",
  • "code": 101
}

Secure Settings

getSecureSettings

Display device security settings

Authorizations:
query Parameters
device_ip
Array of strings >= 0 items unique

IP addresses of the device

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

updateSecureSettings

Update secure settings

Authorizations:
Request Body schema: application/json

Update device security settings

min_tls_version
string

Minimum TLS version

mac_algorithm
string

Comma separated list of MAC algorithms

key_exchange_algorithm
string

Comma separated list of Key-Exchange algorithms

cipher
string

Comma separated list of ciphers

telnet
boolean

Enable or disable telnet on mgmt-vrf

max_password_age
integer

Maximum number of days before password expiry

force_default_password_change
boolean

Force a change in the default password

object (Generic switch operation response)

Responses

Request samples

Content type
application/json
{
  • "fabric_name": "default",
  • "device_ips": [
    ],
  • "min_tls_version": 1.2,
  • "mac_algorithm": "hmac-sha2-512,hmac-sha2-256,hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com",
  • "key_exchange_algorithm": "curve25519-sha256,curve25519-sha256@libssh.org",
  • "cipher": "non-cbc",
  • "telnet": true,
  • "max_password_age": 365,
  • "force_default_password_change": true
}

Response samples

Content type
application/json
{
  • "result": "Failed",
  • "reason": "Invalid Interface name provided"
}

resetSecureSettings

Reset secure settings

Authorizations:
Request Body schema: application/json

Reset device security settings

min_tls_version
boolean

Reset minimum TLS version to the default value

mac_algorithm
boolean

Reset list of MAC algorithms to the default values

key_exchange_algorithm
boolean

Reset the list of Key-Exchange algorithms to the default values

cipher
boolean

Reset the list of ciphers to the default values

telnet
boolean

Reset telnet on mgmt-vrf to the default value of disable

max_password_age
boolean

Reset the maximum number of days before password expiry to the default value

force_default_password_change
boolean

Force a change in the default password

Responses

Request samples

Content type
application/json
{
  • "min_tls_version": true,
  • "mac_algorithm": true,
  • "key_exchange_algorithm": true,
  • "cipher": true,
  • "telnet": true,
  • "max_password_age": true,
  • "force_default_password_change": true
}

Response samples

Content type
application/json
{
  • "result": "Failed",
  • "reason": "Invalid Interface name provided"
}

enableSecureSettings

Enable secure settings

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "result": "Failed",
  • "reason": "Invalid Interface name provided"
}

disableSecureSettings

Disable secure settings

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "result": "Failed",
  • "reason": "Invalid Interface name provided"
}

applySecureSettings

Apply secure settings

Authorizations:
query Parameters
device_ips
Array of strings non-empty unique

IP addresses of the devices for the application of secure settings

fabric_name
string

Fabric name for the application of secure settings

Responses

Response samples

Content type
application/json
[
  • {
    }
]