ExtremeCloud IQ Controller :: REST API Gateway (1.55.1)

Download OpenAPI specification:Download

Introduction

The ExtremeCloud IQ Controller REST API Gateway provides a single entry point between the external requesting clients and the multiple internal APIs that help install, access, manage, and extend applications that are supported by the ExtremeCloud IQ Controller platform. The Gateway API is based on RESTful principles and uses standard HTTP methods for requests and responses. API request and response bodies are formatted in JavaScript Object Notation (JSON).

You can use any language or library that can submit REST API requests and process JSON to query the Gateway API . Examples of languages and libraries that can build REST clients include:

  • For Java, the Jersey library provides the reference implementation of JAX-RS, a Java standard for RESTful web services. The implementation includes a client library that can run directly on the JVM.
  • For Python, the Requests and JSON libraries facilitate REST API applications.
  • For .Net, the core language provides facilities for submitting HTTP requests, and .Net libraries include a serializer for JSON.
  • For the Linux shell, Wget and cURL can execute REST API calls. Linux shell utilities, like awk and grep, can parse and process JSON.

You can also use tools like Postman, an easy-to-use Chrome extension for making HTTP requests.
Note: To submit API calls, your RESTful API consuming program needs to have logged in using credentials granting at least read permissions. Any administrator account can be used with the REST API but only user accounts with Full admin credentials can make configuration changes through the REST API.

Authentication and Authorization

The ExtremeCloud IQ Controller REST API Gateway supports the HTTP bearer authentication scheme in conjuntion with the OAuth 2.0 protocol to provide secure authorized access to the API. OAuth is an authorization framework that enables web, mobile, and desktop applications to access protected resources. Bearer authentication (aka token authentication) involves security tokens called bearer tokens. To begin, pass your client login credentials within a POST request to the management/v1/oauth2/token endpoint with the following JSON data and structure:

{
   "grantType": "password",
   "userId": "adminUserId",
   "password": "adminPassword",
   "scope": "..."
}

In exchange for these credentials, the ExtremeCloud IQ Controller authorization server issues tokens called bearer tokens that you need to include in the Authorization header when making subsequent REST API calls. Below is a sample response to the token request:

{
    "access_token": "f06f6f285e364e59fd317bd74da9e837",
    "token_type": "Bearer",
    "expires_in": 7200,
    "idle_timeout": 604800,
    "refresh_token": "3e33d8f724e69024811f1cf5869dbaf7",
    "adminRole": "FULL"
}

Note: Access tokens have a finite lifetime. The expires_in field in the response indicates the lifetime, in seconds, of the access token. For example, a value of 7200 indicates that the access token expires in two hours from the time the response was generated. The API endpoint issues a HTTP 401 Unauthorized status code when it detects an expired token.

bearerAuth

Security Scheme Type HTTP
HTTP Authorization Scheme bearer

API Request Components

To construct a REST API request, combine the following components:

Component Description
The HTTP method
  • GET: Retrieve data from the server
  • DELETE: Delete a resource from the server
  • POST: Create a new resource on the server
  • PUT: Update an existing resource on the server
The base URL of the API https://{IP_Address}:5825 where {IP_Address} is the IP address of your ExtremeCloud IQ Controller server instance.
The URI to the resource The resource to create, update, query, or delete. For example, /management/v1/accesscontrol.
Path parameters These variables are part of the full URL path and are used to point to a specific resource within a collection. For example, /v1/controllers/{sn}, where {sn} is the path parameter and is substituted with an actual value when making the API call.
Query string parameters For most REST GET calls, you can specify one or more optional query parameters on the request URI to filter, limit the size of, and sort the data in an API response. Query string parameters appear after a question mark (?) in the endpoint. Each parameter is listed one right after the other with an ampersand (&) separating them. The order of the query string parameters does not matter.
HTTP request headers The following HTTP headers are supported:
  • Accept: Required for operations with a response body, syntax is Accept: application/json
  • Content-Type: Required for operations with a request body, syntax is Content-Type: application/json
  • Authorization: Required to pass Bearer token for all API calls
JSON request body Required for most POST and PUT requests.

When you POST or PUT data to the REST API server, set the Content-Type header to application/json. It can also be useful to set the following request headers:

  • accept: application/json
  • accept-encoding: gzip,deflate,br
  • accept-language: en-US,en;q=0.8,und;q=0.6

Response Codes

The ExtremeCloud IQ Controller REST API Gateway returns standard HTTP response codes in addition to JSON-based error messages in the response body to help you identify the source of a problem:

HTTP Code Description
200 OK The request was successful
201 Created The resource was created successfully
204 No Content Success with no response body
400 Bad Request The operation failed because the request is syntactically incorrect or violated schema
401 Unauthorized The authentication credentials are invalid or the user is not authorized to use the API
404 Not Found The server did not find the specified resource that matches the request URL
405 Method Not Allowed The API does not support the requested HTTP method

Versioning

The ExtremeCloud IQ Controller API follows the semantic versioning specification (Major.Minor.Patch). The Major version will be updated whenever we introduce breaking changes. The Minor and Patch versions will be incremented when we add functionality and backward-compatible updates.

AccessControlManager

Create and manage access control list information.

Retrieve access control information

Returns a list of access control information

Authorizations:
query Parameters
apserialnum
string

The AP serial number that is used to find the site. Returns the ACL list for the site. If a parameter is not provided, the global list is returned.

Responses

200

AccessControlMacList details. The list is empty if the customer does not have access control defined.

default

Error response

get /v1/accesscontrol

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/accesscontrol

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "macMode": 1,
  • "macList":
    [
    ]
}

Update access control information

Update an existing access control list of MAC addresses for a customer.

Authorizations:
query Parameters
apserialnum
string

The AP serial number that is used to find the site. Returns the ACL list for the site. If a parameter is not provided, the global list is returned.

Request Body schema: application/json

AccessControlMacList instance with parameters to be configured

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
macMode
required
number
Deprecated

A flag to indicate the access list mode. This attribute cannot be null and must be an integer value. Valid values are 1 - Deny List or 2- Allow List.

mode
string (AclMode)
Enum: "Allow" "Deny"

Allow: Allow ACL list Deny: Deny ACL list

macList
required
Array of strings

List of deny/allow listed MAC addresses. If in Allow List mode, only devices on the list are allowed on the network. If in Deny List mode, devices on the list are not allowed on network. Whenever a change between allow/deny happens this list is emptied.

Responses

200

Newly created access control list of MAC addresses

default

Error response

put /v1/accesscontrol

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/accesscontrol

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "macMode": 1,
  • "macList":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "macMode": 1,
  • "macList":
    [
    ]
}

Create access control list

Create an access control list of MAC addresses for a customer.

Authorizations:
Request Body schema: application/json

AccessControlMacList instance with parameters to be configured

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
macMode
required
number
Deprecated

A flag to indicate the access list mode. This attribute cannot be null and must be an integer value. Valid values are 1 - Deny List or 2- Allow List.

mode
string (AclMode)
Enum: "Allow" "Deny"

Allow: Allow ACL list Deny: Deny ACL list

macList
required
Array of strings

List of deny/allow listed MAC addresses. If in Allow List mode, only devices on the list are allowed on the network. If in Deny List mode, devices on the list are not allowed on network. Whenever a change between allow/deny happens this list is emptied.

Responses

201

Newly created access control list of MAC addresses

default

Error response

post /v1/accesscontrol

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/accesscontrol

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "macMode": 1,
  • "macList":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "macMode": 1,
  • "macList":
    [
    ]
}

Remove access control list

Deletes an access control MAC list for a customer.

Authorizations:
Request Body schema: application/json

AccessControlMacList instance with parameters to be configured

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
macMode
required
number
Deprecated

A flag to indicate the access list mode. This attribute cannot be null and must be an integer value. Valid values are 1 - Deny List or 2- Allow List.

mode
string (AclMode)
Enum: "Allow" "Deny"

Allow: Allow ACL list Deny: Deny ACL list

macList
required
Array of strings

List of deny/allow listed MAC addresses. If in Allow List mode, only devices on the list are allowed on the network. If in Deny List mode, devices on the list are not allowed on network. Whenever a change between allow/deny happens this list is emptied.

Responses

200

Access control list deleted successfully

default

Error response

delete /v1/accesscontrol

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/accesscontrol

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "macMode": 1,
  • "macList":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "macMode": 1,
  • "macList":
    [
    ]
}

NSightManager

Retrieve and manage NSight server configuration.

Get configuration of NSight server

Authorizations:

Responses

200

Configuration of NSight server

default

Error response

get /v1/nsightconfig

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/nsightconfig

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ip": "192.168.3.10",
  • "https": true
}

Update configuration of NSight server

Authorizations:
Request Body schema: application/json
ip
required
string <ipv4>

IP address of NSight server

https
required
boolean

Indicates if HTTPS should be used to communicate to the NSight server.

Responses

200

NSight server configuration updated successfully

default

Error response

put /v1/nsightconfig

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/nsightconfig

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ip": "192.168.3.10",
  • "https": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ip": "192.168.3.10",
  • "https": true
}

AccessPointManager

Create and manage access points.

Get list of all access points

Get the list of all access points for a customer.

Authorizations:
query Parameters
brief
boolean
Default: true

If present and true, response includes AP basic ("brief") configuration and operational information.

inventory
boolean
Default: false

If present and true, response includes AP inventory information. It can be combined with the "brief" parameter.

country
string (Country)
Enum: "AFGHANISTAN" "ALBANIA" "ALGERIA" "AMERICAN_SAMOA" "ANDORRA" "ANGOLA" "ANGUILLA" "ANTARCTICA" "ANTIGUA_BARBUDA" "ARGENTINA" "ARMENIA" "ARUBA" "AUSTRALIA" "AUSTRIA" "AZERBAIJAN" "BAHAMAS" "BAHRAIN" "BANGLADESH" "BARBADOS" "BELARUS" "BELGIUM" "BELIZE" "BENIN" "BERMUDA" "BHUTAN" "BOLIVIA" "BOSNIA_HERZEGOVINA" "BOTSWANA" "BOUVET_ISLAND" "BRAZIL" "BRITISH_INDIAN_OCEAN_TERRITORY" "BRUNEI_DARUSSALAM" "BULGARIA" "BURKINA_FASO" "BURUNDI" "CAMBODIA" "CAMEROON" "CANADA" "CAPE_VERDE" "CAYMAN_ISLANDS" "CENTRAL_AFRICAN_REPUBLIC" "CHAD" "CHILE" "CHINA" "CHRISTMAS_ISLAND" "COCOS_KEELING_ISLANDS" "COLOMBIA" "COMOROS" "CONGO" "CONGO_THE_DRC" "COOK_ISLANDS" "COSTA_RICA" "IVORY_COAST" "CROATIA" "CUBA" "CURACAO" "CYPRUS" "CZECH" "DENMARK" "DJIBOUTI" "DOMINICA" "DOMINICAN" "EAST_TIMOR" "ECUADOR" "EGYPT" "EL_SALVADOR" "EQUATORIAL_GUINEA" "ERITREA" "ESTONIA" "ETHIOPIA" "FALKLAND_ISLANDS_MALVINAS" "FAEROE_ISLANDS" "FIJI" "FINLAND" "FRANCE" "FRANCE_METROPOLITAN" "FRENCH_GUIANA" "FRENCH_POLYNESIA" "FRENCH_SOUTHERN_TERRITORIES" "GABON" "GAMBIA" "GEORGIA" "GERMANY" "GHANA" "GIBRALTAR" "GREECE" "GREENLAND" "GRENADA" "GUADELOUPE" "GUAM" "GUATEMALA" "GUINEA" "GUINEA_BISSAU" "GUYANA" "HAITI" "HEARD_AND_MC_DONALD_ISLANDS" "VATICAN" "HONDURAS" "HONG_KONG" "HUNGARY" "ICELAND" "INDIA" "INDONESIA" "IRAN" "IRAQ" "IRELAND" "ISRAEL" "ITALY" "JAMAICA" "JAPAN" "JORDAN" "KAZAKHSTAN" "KENYA" "KIRIBATI" "KOREA_NORTH" "KOREA" "KOSOVO" "KUWAIT" "KYRGYZSTAN" "LAOS" "LATVIA" "LEBANON" "LESOTHO" "LIBERIA" "LIBYA" "LIECHTENSTEIN" "LITHUANIA" "LUXEMBOURG" "MACAU" "MACAULL" "MACEDONIA" "MADAGASCAR" "MALAWI" "MALAYSIA" "MALDIVES" "MALI" "MALTA" "MARSHALL_ISLANDS" "MARTINIQUE" "MAURITANIA" "MAURITIUS" "MAYOTTE" "MEXICO" "MICRONESIA_FEDERATED_STATES_OF" "MOLDOVA_REPUBLIC_OF" "MONACO" "MONGOLIA" "MONTENEGRO" "MONTSERRAT" "MOROCCO" "MOZAMIBIQUE" "MYANMAR_BURMA" "NAMIBIA" "NAURU" "NEPAL" "NETHERLANDS" "NEW_CALEDONIA" "NEW_ZEALAND" "NICARAGUA" "NIGER" "NIGERIA" "NIUE" "NORFOLK_ISLAND" "NORTHERN_MARIANA_ISLANDS" "NORWAY" "OMAN" "PAKISTAN" "PALAU" "PANAMA" "PAPUA_NEW_GUINEA" "PARAGUAY" "PERU" "PHILIPPINES" "PITCAIRN" "POLAND" "PORTUGAL" "PUERTO_RICO" "QATAR" "REUNION" "ROMANIA" "RUSSIA" "RWANDA" "SAINT_KITTS_AND_NEVIS" "SAINT_LUCIA" "SAINT_VINCENT_AND_THE_GRENADINES" "SAMOA" "SAN_MARINO" "SAO_TOME_AND_PRINCIPE" "SAUDI_ARABIA" "SENEGAL" "SERBIA" "SERBIA_MONTENEGRO" "SEYCHELLES" "SIERRA_LEONE" "SINGAPORE" "SLOVAKIA" "SLOVENIA" "SOLOMON_ISLANDS" "SOMALIA" "SOUTH_AFRICA" "SOUTH_GEORGIA_AND_SOUTH_SS" "SOUTH_SUDAN" "SPAIN" "SRI_LANKA" "ST_HELENA" "ST_PIERRE_AND_MIQUELON" "SUDAN" "SURINAME" "SVALBARD_AND_JAN_MAYEN_ISLANDS" "SWAZILAND" "SWEDEN" "SWITZERLAND" "SYRIA" "TAIWAN" "TAJIKISTAN" "TANZANIA_UNITED_REPUBLIC_OF" "THAILAND" "TOGO" "TOKELAU" "TONGA" "TRINIDAD_AND_TOBAGO" "TUNISIA" "TURKEY" "TURKMENISTAN" "TURKS_AND_CAICOS_ISLANDS" "TUVALU" "UGANDA" "UKRAINE" "UAE" "UNITED_KINGDOM" "UNITED_STATES" "URUGUAY" "US_MINOR_ISLANDS" "UZBEKISTAN" "VANUATU" "VENEZUELA" "VIETNAM" "VIRGIN_ISLANDS_BRITISH" "VIRGIN_ISLANDS_US" "WALLIS_AND_FUTUNA_ISLANDS" "WESTERN_SAHARA" "YEMEN" "ZAMBIA" "ZIMBABWE" "DEBUG" "DEMO" "NETHERLANDS_ANTILLES"
Example: country=UNITED_STATES

Filter APs based on the country code. AP models that are not certified for this country are omitted from the response.

serviceId
string <uuid>

Get all the APs based with the service.

feature
string

Get all the APs that support a given feature.

Responses

200

List containing basic and/or inventory information for all the access points

default

Error response

get /v1/aps

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get filtered list of all access points

Filter the list of access points based on the query.

Authorizations:
query Parameters
query
string

Query string to filter the AP list.

requestedColumns
Array of strings

Columns list to show.

Responses

200

Filtered AP list with the requested columns

default

Error response

get /v1/aps/query

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/query

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get filtered list of all access points

Filter the list of access points base on the query.

Authorizations:
query Parameters
query
string

Query string to filter the AP list

columnsVisualize
Array of strings

Columns list to return

Responses

200

Filtered APs list with the requested visualize columns

default

Error response

get /v1/aps/query/visualize

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/query/visualize

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "deviceSerialNo": "1740W-2030400000",
  • "timeStamp": 1554476614000,
  • "channelWidth":
    [
    ],
  • "entitlementStatus": 0,
  • "bandAndChannel":
    {
    },
  • "activeAlerts": [ ],
  • "wirelessProtocols":
    [
    ],
  • "wiredClientCount": 0,
  • "hwType": "AP-7612-680B30-WR",
  • "deviceHealth":
    {
    },
  • "qualityMetric": null,
  • "currentPowerLevel":
    {
    },
  • "swVersion": "5.9.3.2-002R",
  • "ipAddress": "10.47.75.108",
  • "location": "DevelopmentLab7",
  • "macAddress": "B8:50:01:3B:3E:1C",
  • "camIpAddress": null,
  • "ethPowerStatus": null,
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topUsersByThroughput":
    [
    ],
  • "worstUsersByThroughput":
    [
    ],
  • "worstClientsByUsage":
    [
    ],
  • "topClientsByUsage":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "rfQuality":
    [
    ],
  • "channelUtilization2_4":
    [
    ],
  • "channelUtilization5":
    [
    ],
  • "noisePerRadio":
    [
    ],
  • "ratioOfCurrentUsersToBand":
    [
    ],
  • "topClientsBySnr":
    [
    ],
  • "worstClientsBySnr":
    [
    ],
  • "topClientsByRetries":
    [
    ],
  • "worstClientsByRetries":
    [
    ],
  • "baseliningAPRFQI":
    [
    ],
  • "baseliningAPRss":
    [
    ],
  • "baseliningAPTxRate":
    [
    ],
  • "baseliningAPRxRate":
    [
    ],
  • "baseliningAPRetries":
    [
    ],
  • "baseliningAPCochannel":
    [
    ],
  • "baseliningAPClientData":
    [
    ],
  • "baseliningAPInterference":
    [
    ],
  • "baseliningAPCochannel_5":
    [
    ],
  • "baseliningAPClientData_5":
    [
    ],
  • "baseliningAPInterference_5":
    [
    ],
  • "apQoE":
    [
    ]
}

Return the columns list for /v1/aps/query and /v1/aps/query/visualize

Return the optional columns list.

Authorizations:
query Parameters
suggestValues
boolean
Default: true

Scan for suggested values for columns

Responses

200

Return the optional columns list.

default

Error response

get /v1/aps/query/columns

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/query/columns

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ipAddress":
    {
    },
  • "softwareVersion":
    {
    }
}

Get service IDs that are assigned to the primary BSSID. Removing these services can cause a radio reset.

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000

Valid access point serial number

Responses

200

List of primary BSSIDs per radio

default

Error response

get /v1/aps/{apSerialNumber}/bssid0

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/{apSerialNumber}/bssid0

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get access point adoption rules. XCA 4.56 uses the new resource path "/v1/devices/adoptionrules" path. (Deprecated) Deprecated

Authorizations:

Responses

200

Adoption rules for the access point

default

Error response

get /v1/aps/adoptionrules

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/adoptionrules

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Update access point adoption rules. XCA 4.56 uses the new resource path "/v1/devices/adoptionrules" path. (Deprecated) Deprecated

Authorizations:
Request Body schema: application/json

The list of access point adoption rules

Array
custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
ipAddress
string
cidr
number [ 0 .. 32 ]
hostname
string
model
string
serial
string
siteId
required
string
devGrName
required
string

Responses

204

Status of the operation.

default

Error response

put /v1/aps/adoptionrules

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/adoptionrules

Request samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "ipAddress": "0.0.0.0",
  • "cidr": 0,
  • "hostname": "aaa",
  • "model": "aaa",
  • "serial": "",
  • "siteId": "eaab6b13-865d-4475-a26f-d3d95b6e0812",
  • "devGrName": "DG-3935-Blackstone"
}

Get access point balance mode Deprecated

Authorizations:

Responses

200

The access point balance mode

default

Error response

get /v1/aps/apbalance

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/apbalance

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "balanceNewAps": true
}

Update the access point balance mode Deprecated

Authorizations:
query Parameters
mode
integer <int32>

The access point balance mode to set

Responses

200

The updated access point balance mode

default

Error response

put /v1/aps/apbalance

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/apbalance

Response samples

Content type
application/json
Copy
Expand all Collapse all
0

Create new access point

Authorizations:
query Parameters
apName
string

A non-empty string containing the name of the new access point to be created

description
string

A user-supplied string describing this access point. Its contents can be completely arbitrary. It can be null or empty.

hardwaretype
string
serialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: serialNumber=1730Y-1007800000

Valid access point serial number for the access point to be created

complianceRegion
string

Valid complianceRegion taken from /v1/aps/hardwaretypes

Responses

200

The newly created AccessPointElement

default

Error response

post /v1/aps/create

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/create

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": true,
  • "canEdit": true,
  • "serialNumber": "1740W-2030400000",
  • "hardwareType": "AP7612-680B30-WR",
  • "platformName": "AP7612",
  • "macAddress": "B8:50:01:3B:3E:1C",
  • "apName": "ap7612-3B3E1C",
  • "softwareVersion": "5.9.3.2-002R",
  • "hostSite": "DevelopmentLab7",
  • "description": "",
  • "ethPowerStatus": null,
  • "services":
    [
    ],
  • "features":
    [
    ],
  • "ipAddress": "10.47.75.108",
  • "ipNetmask": "0.0.0.0",
  • "ipGateway": "0.0.0.0",
  • "radios":
    [
    ],
  • "ledStatus": "NORMAL",
  • "ledStatusOvr": false,
  • "supportedCountries":
    [
    ],
  • "location": "DevelopmentLab7",
  • "environment": "indoor",
  • "maintainClientSession": "disabled",
  • "apPersistence": "disabled",
  • "captureTimeout": 0,
  • "mcastAssembly": false,
  • "home": "LOCAL",
  • "approvedStatus": "APPROVED",
  • "addrAssn": true,
  • "apAntennaModels": null,
  • "iotiBeaconMajor": 0,
  • "iotiBeaconMinor": 0,
  • "iotAntennaModelId": -1,
  • "mgmtVlanId": 1,
  • "mgmtVlanIdOvr": true,
  • "mtuOvr": true,
  • "mtu": 1498,
  • "iotEnabled": false,
  • "iotAppId": "iBeaconAdvertisement",
  • "lag": false,
  • "lagOvr": false,
  • "ge2mode": "Backup",
  • "ge2modeOvr": false,
  • "usbPower": "Off",
  • "usbPowerOvr": false,
  • "psePower": "Off",
  • "psePowerOvr": false,
  • "forcePoEPlus": false,
  • "rfMgmtPolicyId": "4775b87e-ef12-44bf-9018-0b597b0f3911",
  • "iotiBeaconMajorOvr": false,
  • "iotiBeaconMinorOvr": false,
  • "iotEddistoneUrl": "",
  • "iotEddistoneUrlOvr": false,
  • "bcastForDisassoc": false,
  • "lldpEnabled": true,
  • "acList": [ ],
  • "ethMode": "ETH_DUPLEX_TYPE_FULL",
  • "ethSpeed": "speedAuto",
  • "rootPassword": null,
  • "autoTxPowerMin": true,
  • "lbsEnabled": true,
  • "iotMeasuredRssi": 0,
  • "iotMeasuredRssiOverride": false,
  • "proxied": "Local",
  • "hostname": "AP510-1234567890123456",
  • "meshpoints": [ ],
  • "bandPreference": false,
  • "roleIDs":
    [
    ],
  • "radioIfList":
    [
    ],
  • "bandSteeringServiceIds":
    [
    ],
  • "radioIfListOvr": false,
  • "cbUser": "client",
  • "cbPassword": null,
  • "faAuthKey": "testkeyvalue123",
  • "faAuthKeyOvr": true
}

Get access point with default values

Authorizations:
query Parameters
hardwareType
string

Access point hardware type

Responses

200

AccessPoint instance with the attributes set to default values

default

Error response

get /v1/aps/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": true,
  • "canEdit": true,
  • "serialNumber": "1740W-2030400000",
  • "hardwareType": "AP7612-680B30-WR",
  • "platformName": "AP7612",
  • "macAddress": "B8:50:01:3B:3E:1C",
  • "apName": "ap7612-3B3E1C",
  • "softwareVersion": "5.9.3.2-002R",
  • "hostSite": "DevelopmentLab7",
  • "description": "",
  • "ethPowerStatus": null,
  • "services":
    [
    ],
  • "features":
    [
    ],
  • "ipAddress": "10.47.75.108",
  • "ipNetmask": "0.0.0.0",
  • "ipGateway": "0.0.0.0",
  • "radios":
    [
    ],
  • "ledStatus": "NORMAL",
  • "ledStatusOvr": false,
  • "supportedCountries":
    [
    ],
  • "location": "DevelopmentLab7",
  • "environment": "indoor",
  • "maintainClientSession": "disabled",
  • "apPersistence": "disabled",
  • "captureTimeout": 0,
  • "mcastAssembly": false,
  • "home": "LOCAL",
  • "approvedStatus": "APPROVED",
  • "addrAssn": true,
  • "apAntennaModels": null,
  • "iotiBeaconMajor": 0,
  • "iotiBeaconMinor": 0,
  • "iotAntennaModelId": -1,
  • "mgmtVlanId": 1,
  • "mgmtVlanIdOvr": true,
  • "mtuOvr": true,
  • "mtu": 1498,
  • "iotEnabled": false,
  • "iotAppId": "iBeaconAdvertisement",
  • "lag": false,
  • "lagOvr": false,
  • "ge2mode": "Backup",
  • "ge2modeOvr": false,
  • "usbPower": "Off",
  • "usbPowerOvr": false,
  • "psePower": "Off",
  • "psePowerOvr": false,
  • "forcePoEPlus": false,
  • "rfMgmtPolicyId": "4775b87e-ef12-44bf-9018-0b597b0f3911",
  • "iotiBeaconMajorOvr": false,
  • "iotiBeaconMinorOvr": false,
  • "iotEddistoneUrl": "",
  • "iotEddistoneUrlOvr": false,
  • "bcastForDisassoc": false,
  • "lldpEnabled": true,
  • "acList": [ ],
  • "ethMode": "ETH_DUPLEX_TYPE_FULL",
  • "ethSpeed": "speedAuto",
  • "rootPassword": null,
  • "autoTxPowerMin": true,
  • "lbsEnabled": true,
  • "iotMeasuredRssi": 0,
  • "iotMeasuredRssiOverride": false,
  • "proxied": "Local",
  • "hostname": "AP510-1234567890123456",
  • "meshpoints": [ ],
  • "bandPreference": false,
  • "roleIDs":
    [
    ],
  • "radioIfList":
    [
    ],
  • "bandSteeringServiceIds":
    [
    ],
  • "radioIfListOvr": false,
  • "cbUser": "client",
  • "cbPassword": null,
  • "faAuthKey": "testkeyvalue123",
  • "faAuthKeyOvr": true
}

Get hardware type and display names

Authorizations:

Responses

200

Map of display name and corresponding access point hardware type

default

Error response

get /v1/aps/displaynames

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/displaynames

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "AP3915i-ROW": "Wireless AP3915i-ROW Internal",
  • "AP3916ic-FCC": "Wireless AP3916ic-FCC Internal",
  • "AP-7562-670042-IL": "AP-7562-670042-IL"
}

Get hardware type and model names

Authorizations:

Responses

200

Map of access point model name and corresponding hardware type

default

Error response

get /v1/aps/hardwaretypes

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/hardwaretypes

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Delete list of access points by their serial numbers

Authorizations:
Request Body schema: application/json

A non-empty, valid list of access point serial numbers

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
serialNumbers
required
Array of strings (SerialNumber)

A list of access point serial numbers.

Responses

200

Access points deleted successfully

default

Error response

delete /v1/aps/list

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/list

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "serialNumbers":
    [
    ],
  • "custId": "...",
  • "id": "...",
  • "canDelete": true,
  • "canEdit": true
}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Update configuration for a group of access points

Authorizations:
Request Body schema: application/json

A not empty, valid ApMultiConfigElement instance with the configured parameters

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
serialNumbers
Array of strings (SerialNumber)

Access Point serial number list

radios
Array of objects (RadioMultiConfigElement)

A list of radios used in the access points multi config
Validations : Not null and non-empty list of RadioElements

Responses

200

Access point configuration updated successfully

default

Error response

put /v1/aps/multiconfig

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/multiconfig

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "serialNumbers":
    [
    ],
  • "radios":
    [
    ]
}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Generate CSR

Authorizations:
Request Body schema: application/json
custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
serialNumbers
required
Array of strings (SerialNumber)

A list of access point serial numbers.

csr
required
object (ApCsrElement)

This POJO represents the X509 CSR required information.

Responses

200

Tar file that contains the requested APs generated certs (ApSerial.csr)

default

Error message

post /v1/aps/cert/signrequest

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/cert/signrequest

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "serialNumbers":
    [
    ],
  • "custId": "...",
  • "id": "...",
  • "canDelete": true,
  • "canEdit": true,
  • "csr":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
null

Apply certificate to APs. (Provide AP signed certificate tar).

Authorizations:
Request Body schema: application/json
password
string

Certificate password (pkcs12)

serialNumbers
required
Array of strings (SerialNumber)
filename
required
string
data
required
string

File database 64 encoded

Responses

200
default

Error message

post /v1/aps/cert/apply

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/cert/apply

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "password": "string",
  • "serialNumbers":
    [
    ],
  • "filename": "string",
  • "data": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
null

Reset certificate to default (removal)

Authorizations:
Request Body schema: application/json

A non-empty, valid list of access point serial numbers

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
serialNumbers
required
Array of strings (SerialNumber)

A list of access point serial numbers.

Responses

200

Access point certificate reset successfully

default

Error response

put /v1/aps/cert/reset

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/cert/reset

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "serialNumbers":
    [
    ],
  • "custId": "...",
  • "id": "...",
  • "canDelete": true,
  • "canEdit": true
}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get AP certificate information

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000

A non-empty, valid access point serial number

Responses

200
default

Error response

get /v1/aps/{apSerialNumber}/cert

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/{apSerialNumber}/cert

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "issuedDate": 0,
  • "expiryDate": 0,
  • "issuedBy": "string",
  • "issuedTo": "string",
  • "subjectAltName": "string",
  • "serial": "string"
}

Get access point platform names

Authorizations:

Responses

200

Map of AP platform name and corresponding platform display name

default

Error response

get /v1/aps/platforms

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/platforms

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Reboot a list of access points

Authorizations:
Request Body schema: application/json

A non-empty, valid list of access point serial numbers

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
serialNumbers
required
Array of strings (SerialNumber)

A list of access point serial numbers.

Responses

200

Access points rebooted successfully

default

Error response

put /v1/aps/reboot

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/reboot

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "serialNumbers":
    [
    ],
  • "custId": "...",
  • "id": "...",
  • "canDelete": true,
  • "canEdit": true
}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

List of access points released to ExtremeCloud IQ

Authorizations:
Request Body schema: application/json

A non-empty, valid list of access point serial numbers

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
serialNumbers
required
Array of strings (SerialNumber)

A list of access point serial numbers.

Responses

200

Access points released to ExtremeCloud IQ successfully

default

Error response

put /v1/aps/releasetocloud

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/releasetocloud

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "serialNumbers":
    [
    ],
  • "custId": "...",
  • "id": "...",
  • "canDelete": true,
  • "canEdit": true
}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Assign a list of access points to a site and device group

Authorizations:
Request Body schema: application/json
siteId
required
string <uuid>

UUID of site

deviceGroupId
required
string <uuid>

UUID of device group

serialNumbers
required
Array of strings (SerialNumber)

A list of access point serial numbers

Responses

200

Access points assigned to site and device group successfully

default

Error response

put /v1/aps/assign

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/assign

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "siteId": "26942420-6179-11e8-a0a4-c98f03226474",
  • "deviceGroupId": "f2d734e8-e399-11e9-81b4-2a2ae2dbcce4",
  • "serialNumbers":
    [
    ]
}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Set affinity for a list of access points

Authorizations:
Request Body schema: application/json
affinity
required
string (PreferredAffinity)
Default: "Any"
Enum: "Any" "Primary" "Backup"
affinityOvr
boolean
Default: true
serialNumbers
required
Array of strings (SerialNumber)

A list of access point serial numbers

Responses

200

Access points affinity set successfully

default

Error response

put /v1/aps/affinity

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/affinity

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "affinity": "Primary",
  • "affinityOvr": false,
  • "serialNumbers":
    [
    ]
}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Clone access point configuration

Authorizations:
query Parameters
from
required
string ^[[\\p{Print}&&[^\t\n\r;:&\\p{Cntrl}]]*]{11,11}$

A non-empty, valid access point serial number from which configurations should be cloned

to
required
string ^[[\\p{Print}&&[^\t\n\r;:&\\p{Cntrl}]]*]{11,11}$

A non-empty, valid access point serial number to which configurations should be cloned

Responses

200

Access point cloned successfully.

default

Error response

post /v1/aps/clone

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/clone

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get global access point registration information

Authorizations:

Responses

200

The current setting of ruOperationMode, dnsRetries, dnsDelay, and sshPassword.

default

Error response

get /v1/aps/registration

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/registration

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "ruOperationMode": 0,
  • "dnsRetries": 3,
  • "dnsDelay": 3,
  • "sshPassword": "new2day"
}

Update global access point registration information

Authorizations:
Request Body schema: application/json

Contains the following input information: ruOperationMode, dnsRetries, dnsDelay, sshPassword

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
ruOperationMode
number

ruOperationMode: defines how the controller behaves when registering new, unknown devices. During the registration process, the controllers approval of the AP serial number depends on the security mode that has been set:

Allow all APs to connect --
If the controller does not recognize the registering serial number, a new registration record is automatically created for the AP (when within the MDL license limit). The AP receives a default configuration. The default configuration can be the default template assignment. If the controller recognizes the serial number, it indicates that the registering device is pre-registered with the controller. The controller uses the existing registration record to authenticate the AP and the existing configuration record to configure the AP.

Allow only approved APs to connect (This is also known as secure mode) --
If controller does not recognize the AP, the AP registration record is created in a pending state (if within MDL limits). The administrator is required to manually approve a pending AP for it to provide active service. The pending AP receives a minimum configuration only, which allows it to maintain an active link with the controller for future state change. The AP radios are not configured or enabled. Pending APs are not eligible for configuration operations (VNS Assignment, default template, Radio parameters) until approved.

If the controller recognizes the serial number, the controller uses the existing registration record to authenticate the AP. Following successful authentication, the AP is configured according to its stored configuration record. During the initial setup of the network, Extreme Networks recommends that you select the Allow all Wireless APs to connect option.

This option is the most efficient way to get a large number of APs registered with the controller. Once the initial setup is complete, Extreme Networks recommends that you reset the security mode to the Allow only approved Wireless APs to connect option. This option ensures that no unapproved APs are allowed to connect.

The Allow all Wireless APs to connect option is selected by default.
Validations : A valid integer value, the range is 0 (Allow all APs to connect) or 1 Allow only approved APs to connect

dnsRetries
number

The number of DNS retry attempts. The number of retries is limited to 255 for the discovery. The default number of retries is 3.
Validations : A valid integer value, the range is between 1 and 255.

dnsDelay
number

The time delay between each DNS retry attempt. The default delay between retries is 3 seconds.
Validations : A valid integer value, the range is between 1 and 10 seconds.

sshPassword
string

The Secure Shell password for the device
Validations : password field

Responses

200

Access point registration information updated successfully

default

Error response

put /v1/aps/registration

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/registration

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "ruOperationMode": 0,
  • "dnsRetries": 3,
  • "dnsDelay": 3,
  • "sshPassword": "new2day"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "ruOperationMode": 0,
  • "dnsRetries": 3,
  • "dnsDelay": 3,
  • "sshPassword": "new2day"
}

Update access point state

Set the state of access points to one of the following - approved, pending, released, foreign

Authorizations:
query Parameters
ruState
string (ruState)
Enum: "approved" "foreign" "pending" "r1backgroundscan" "r2backgroundscan" "released"
Example: ruState=approved

Contains RuState value: approved, pending, released, foreign

Request Body schema: application/json

A non-empty, valid list of access point serial numbers numbers

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
serialNumbers
required
Array of strings (SerialNumber)

A list of access point serial numbers.

Responses

200

Access point states updated successfully

default

Error response

put /v1/aps/setRuState

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/setRuState

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "serialNumbers":
    [
    ],
  • "custId": "...",
  • "id": "...",
  • "canDelete": true,
  • "canEdit": true
}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Upgrade access point software version

Initiates software upgrade for a list of access points using a specific AP software version

Authorizations:
query Parameters
swVersion
string
upgradeNoServiceInterruption
boolean
Request Body schema: application/json

A non-empty, valid list of access point serial numbers numbers

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
serialNumbers
required
Array of strings (SerialNumber)

A list of access point serial numbers.

Responses

204

Access point software version updated successfully

default

Error response

put /v1/aps/swupgrade

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/swupgrade

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "serialNumbers":
    [
    ],
  • "custId": "...",
  • "id": "...",
  • "canDelete": true,
  • "canEdit": true
}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get list of software image versions

Retrieves the list of available software image versions that can be used to upgrade a list of access points

Authorizations:
Request Body schema: application/json

A non-empty, valid list of access point serial numbers numbers

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
serialNumbers
required
Array of strings (SerialNumber)

A list of access point serial numbers.

Responses

200

A list of available software image versions that can be used to upgrade a list of access points

default

Error response

put /v1/aps/swversion

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/swversion

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "serialNumbers":
    [
    ],
  • "custId": "...",
  • "id": "...",
  • "canDelete": true,
  • "canEdit": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • "5.9.3.2-002R"
]

Update access point software by specific image name

Initiates software upgrade for a list of access points using a specific access point software image name

Authorizations:
query Parameters
apImageName
string

A non-empty, valid string containing the software image name to be used for the upgrade

Request Body schema: application/json

A non-empty, valid list of access point serial numbers numbers

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
serialNumbers
required
Array of strings (SerialNumber)

A list of access point serial numbers.

Responses

200

Access point software updated successfully

default

Error response

put /v1/aps/upgrade

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/upgrade

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "serialNumbers":
    [
    ],
  • "custId": "...",
  • "id": "...",
  • "canDelete": true,
  • "canEdit": true
}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get access point upgrade image files

Authorizations:

Responses

200

List containing all the access point upgrade image files

default

Error response

get /v1/aps/upgradeimagelist

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/upgradeimagelist

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "AP7612":
    [
    ],
  • "AP3916":
    [
    ],
  • "AP3935":
    [
    ]
}

Schedule upgrade for a set of access points

Authorizations:
Request Body schema: application/json

A map containing the access point serial number and desired device version

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
utcSecondsSinceEpoc
number

The AP upgrade schedule time in UTC seconds since epoc; null for 'now'.

deviceInfo
object

Responses

200

Access point upgrade scheduled successfully

default

Error response

put /v1/aps/upgradeschedule

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/upgradeschedule

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "utcSecondsSinceEpoc": 1456337465,
  • "deviceInfo":
    {
    },
  • "custId": "...",
  • "id": "...",
  • "canDelete": true,
  • "canEdit": true
}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get reports that are based on the widget list for all access points

Authorizations:
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
widgetList
string

Responses

200
default

Error response

get /v1/aps/report

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/report

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get available widgets for the AP report (/v1/aps/{apSerialNumber}/report)

Authorizations:

Responses

200

Returns list of WidgetInfoElement

default

Error response

get /v1/aps/report/widgets

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/report/widgets

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get AP stats plus widgets data (use /v1/aps/report/widgets to get the available widgets)

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000

AP serial number

Request Body schema: application/json

A valid report request

duration
string (Duration)
Enum: "D_3h" "D_3d" "D_14d"

Report duration

widgets
Array of objects (WidgetInfoElement)

Responses

200

Returns DeviceReportElement

default

Error response

put /v1/aps/{apSerialNumber}/report

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/{apSerialNumber}/report

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "duration": "D_14d",
  • "widgets":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "deviceSerialNo": "1740W-2030400000",
  • "timeStamp": 1554476614000,
  • "channelWidth":
    [
    ],
  • "entitlementStatus": 0,
  • "bandAndChannel":
    {
    },
  • "activeAlerts": [ ],
  • "wirelessProtocols":
    [
    ],
  • "wiredClientCount": 0,
  • "hwType": "AP-7612-680B30-WR",
  • "deviceHealth":
    {
    },
  • "qualityMetric": null,
  • "currentPowerLevel":
    {
    },
  • "swVersion": "5.9.3.2-002R",
  • "ipAddress": "10.47.75.108",
  • "location": "DevelopmentLab7",
  • "macAddress": "B8:50:01:3B:3E:1C",
  • "camIpAddress": null,
  • "ethPowerStatus": null,
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topUsersByThroughput":
    [
    ],
  • "worstUsersByThroughput":
    [
    ],
  • "worstClientsByUsage":
    [
    ],
  • "topClientsByUsage":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "rfQuality":
    [
    ],
  • "channelUtilization2_4":
    [
    ],
  • "channelUtilization5":
    [
    ],
  • "noisePerRadio":
    [
    ],
  • "ratioOfCurrentUsersToBand":
    [
    ],
  • "topClientsBySnr":
    [
    ],
  • "worstClientsBySnr":
    [
    ],
  • "topClientsByRetries":
    [
    ],
  • "worstClientsByRetries":
    [
    ],
  • "baseliningAPRFQI":
    [
    ],
  • "baseliningAPRss":
    [
    ],
  • "baseliningAPTxRate":
    [
    ],
  • "baseliningAPRxRate":
    [
    ],
  • "baseliningAPRetries":
    [
    ],
  • "baseliningAPCochannel":
    [
    ],
  • "baseliningAPClientData":
    [
    ],
  • "baseliningAPInterference":
    [
    ],
  • "baseliningAPCochannel_5":
    [
    ],
  • "baseliningAPClientData_5":
    [
    ],
  • "baseliningAPInterference_5":
    [
    ],
  • "apQoE":
    [
    ]
}

Get reports that are based on the widgetList for a given access point Deprecated

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000

AP serial number

query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
widgetList
string
Example: widgetList=throughputReport|2_4,byteUtilization|5

Responses

200
default

Error response

get /v1/aps/{apSerialNumber}/report

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/{apSerialNumber}/report

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "deviceSerialNo": "1740W-2030400000",
  • "timeStamp": 1554476614000,
  • "channelWidth":
    [
    ],
  • "entitlementStatus": 0,
  • "bandAndChannel":
    {
    },
  • "activeAlerts": [ ],
  • "wirelessProtocols":
    [
    ],
  • "wiredClientCount": 0,
  • "hwType": "AP-7612-680B30-WR",
  • "deviceHealth":
    {
    },
  • "qualityMetric": null,
  • "currentPowerLevel":
    {
    },
  • "swVersion": "5.9.3.2-002R",
  • "ipAddress": "10.47.75.108",
  • "location": "DevelopmentLab7",
  • "macAddress": "B8:50:01:3B:3E:1C",
  • "camIpAddress": null,
  • "ethPowerStatus": null,
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topUsersByThroughput":
    [
    ],
  • "worstUsersByThroughput":
    [
    ],
  • "worstClientsByUsage":
    [
    ],
  • "topClientsByUsage":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "rfQuality":
    [
    ],
  • "channelUtilization2_4":
    [
    ],
  • "channelUtilization5":
    [
    ],
  • "noisePerRadio":
    [
    ],
  • "ratioOfCurrentUsersToBand":
    [
    ],
  • "topClientsBySnr":
    [
    ],
  • "worstClientsBySnr":
    [
    ],
  • "topClientsByRetries":
    [
    ],
  • "worstClientsByRetries":
    [
    ],
  • "baseliningAPRFQI":
    [
    ],
  • "baseliningAPRss":
    [
    ],
  • "baseliningAPTxRate":
    [
    ],
  • "baseliningAPRxRate":
    [
    ],
  • "baseliningAPRetries":
    [
    ],
  • "baseliningAPCochannel":
    [
    ],
  • "baseliningAPClientData":
    [
    ],
  • "baseliningAPInterference":
    [
    ],
  • "baseliningAPCochannel_5":
    [
    ],
  • "baseliningAPClientData_5":
    [
    ],
  • "baseliningAPInterference_5":
    [
    ],
  • "apQoE":
    [
    ]
}

Get access point by serial number

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000

A non-empty, valid access point serial number

Responses

200

AccessPointElement instance with the given serial number

default

Error response

get /v1/aps/{apSerialNumber}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/{apSerialNumber}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": true,
  • "canEdit": true,
  • "serialNumber": "1740W-2030400000",
  • "hardwareType": "AP7612-680B30-WR",
  • "platformName": "AP7612",
  • "macAddress": "B8:50:01:3B:3E:1C",
  • "apName": "ap7612-3B3E1C",
  • "softwareVersion": "5.9.3.2-002R",
  • "hostSite": "DevelopmentLab7",
  • "description": "",
  • "ethPowerStatus": null,
  • "services":
    [
    ],
  • "features":
    [
    ],
  • "ipAddress": "10.47.75.108",
  • "ipNetmask": "0.0.0.0",
  • "ipGateway": "0.0.0.0",
  • "radios":
    [
    ],
  • "ledStatus": "NORMAL",
  • "ledStatusOvr": false,
  • "supportedCountries":
    [
    ],
  • "location": "DevelopmentLab7",
  • "environment": "indoor",
  • "maintainClientSession": "disabled",
  • "apPersistence": "disabled",
  • "captureTimeout": 0,
  • "mcastAssembly": false,
  • "home": "LOCAL",
  • "approvedStatus": "APPROVED",
  • "addrAssn": true,
  • "apAntennaModels": null,
  • "iotiBeaconMajor": 0,
  • "iotiBeaconMinor": 0,
  • "iotAntennaModelId": -1,
  • "mgmtVlanId": 1,
  • "mgmtVlanIdOvr": true,
  • "mtuOvr": true,
  • "mtu": 1498,
  • "iotEnabled": false,
  • "iotAppId": "iBeaconAdvertisement",
  • "lag": false,
  • "lagOvr": false,
  • "ge2mode": "Backup",
  • "ge2modeOvr": false,
  • "usbPower": "Off",
  • "usbPowerOvr": false,
  • "psePower": "Off",
  • "psePowerOvr": false,
  • "forcePoEPlus": false,
  • "rfMgmtPolicyId": "4775b87e-ef12-44bf-9018-0b597b0f3911",
  • "iotiBeaconMajorOvr": false,
  • "iotiBeaconMinorOvr": false,
  • "iotEddistoneUrl": "",
  • "iotEddistoneUrlOvr": false,
  • "bcastForDisassoc": false,
  • "lldpEnabled": true,
  • "acList": [ ],
  • "ethMode": "ETH_DUPLEX_TYPE_FULL",
  • "ethSpeed": "speedAuto",
  • "rootPassword": null,
  • "autoTxPowerMin": true,
  • "lbsEnabled": true,
  • "iotMeasuredRssi": 0,
  • "iotMeasuredRssiOverride": false,
  • "proxied": "Local",
  • "hostname": "AP510-1234567890123456",
  • "meshpoints": [ ],
  • "bandPreference": false,
  • "roleIDs":
    [
    ],
  • "radioIfList":
    [
    ],
  • "bandSteeringServiceIds":
    [
    ],
  • "radioIfListOvr": false,
  • "cbUser": "client",
  • "cbPassword": null,
  • "faAuthKey": "testkeyvalue123",
  • "faAuthKeyOvr": true
}

Update access point configuration

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000
Request Body schema: application/json

A non-empty, valid AccessPointElement instance with the configured parameters. The instance must have the mandatory attributes such as serial number. It can also have optional parameters.

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
serialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$

The globally unique serial number of the device being registered. The serial number is represented as a string.

hardwareType
required
string

The model number of the device. The model number is a human readable string and is likely how the device is referred to in customer documentation and data sheets. In the case of APs, the model number provides critical information regarding the regulatory domain that the AP operates in. The model number also indicates the number of radios in the AP and their capabilities.
Validations : The hardware type value must be between 6 and 32 characters long.
Valid character set : Alphanumeric, special characters except semi-colon, colon and ampersand

apName
required
string ^[a-zA-Z0-9._ -]{1,64}$

Represents the Friendly Name of the access point. The AP Name defaults to the Serial Number. It does not have to be unique.

softwareVersion
string

Software version number installed on the access point.
Validations : There is no need for a user to enter this, so there is no need to validate it.
Valid character set : Alphanumeric, special characters except semi-colon, colon and ampersand

hostSite
string

Site to which the access point is associated
Validations : The Software version must be between 0 and 64 characters long.
Valid character set : Alphanumeric, special characters except semi-colon, colon and ampersand

description
string

A user entered string describing this AP. Its contents can be completely arbitrary. It can be null or empty.
Validations : The description must be between 0 and 255 characters long.

ipAddress
string

The IP address of one of the AP wired interfaces. This is the address of the AP on the customer network.
Validations : It must be a valid IP Address.

ipNetmask
string

The IP Netmask of one of the AP wired interfaces.
Validations : It must be a valid IP Address.

ipGateway
string

The IP Gateway address of one of the AP wired interfaces.
Validations : It must be a valid IP Address.

radios
Array of objects (RadioIndividualElement)

List of radios in the access point
Validations : Not null and non-empty list ofRadioElements

ledStatus
string (LedStatus)
Default: "NORMAL"
Enum: "OFF" "IDENTITY" "NORMAL" "SOLID"

The state the AP LEDs. Can be read or written. Default value is "normal".

ledStatusOvr
boolean
location
string

Location: A user entered string describing the location of the AP. When a client roams to an AP with a different location, Area Notification is triggered. The Area Notification feature is designed to track client locations within pre-defined areas using either the Location Engine or the AP Location field. When the clients change areas, a notification is sent. Location functionality on the AP is useful when access to Extreme Management Center OneView is not available. completely arbitrary. It can be null or empty.
Validations : The description must be between 0 and 32 characters long.

environment
string (ApEnvironment)
Enum: "indoor" "outdoor" "underseat"
maintainClientSession
string
Enum: "enabled" "disabled"

maintainClientSession: Enable/Disable, maintains client session in the event of a poll failure. Using a Bridged at AP topology, select this option if the AP should remain active when a link loss with the controller occurs. This option is enabled by default.

apPersistence
string
Enum: "enabled" "disabled"

apPersistence: Enable/Disable, restart service in the absence of controller. Using a Bridged at AP topology, select this option to ensure the AP radios continue providing service when the AP connection to the controller is lost. When enabled, this option allows the AP to start a bridged at AP VNS even in the absence of a controller.

captureTimeout
number

captureTimeout: Maximum configurable timeout for Real Capture. The Real Capture feature is used to start a real capture server on the AP. Default capture server timeout is set to 300 seconds and the maximum configurable timeout is 1 hour. While the capture session is active, the AP interface operates in promiscuous mode. From the Wireshark GUI, set the capture interface to the IP address of the selected AP, and select null authentication. Once Wireshark connects to the AP, the AP interfaces are listed as available to capture traffic. eth0 is the wired interface, wlan0 is the 5Ghz interface, and wlan1 is the 2.4Ghz interface. You can capture bi-directional traffic on eth0, wifi0, and wifi1. The capture on wifi0 and wifi1 does not include internally generated hardware packets by the capturing AP. The capturing AP does not report its own Beacons, Retransmission, Ack and 11n Block Ack. If this information is needed, perform Real Capture from a second AP that is close by. Make sure both APs are on the same wireless channel. Broadcast an SSID to activate the radios, but do not broadcast the SSID of the AP you are troubleshooting. You do not want the clients to connect to the second capturing AP.
Validations : A valid integer value, the range is between 0 and 3600 seconds

mcastAssembly
boolean

Indicate if multicast assembly is enabled

approvedStatus
string
Enum: "APPROVED" "PENDING"

approvedStatus: the approved status of the AP

addrAssn
boolean

Indicate if DHCP is enabled

apAntennaModels
Array of objects (AntennaElement)

apAntennaModels: The AP antenna models (valid only for AP with external antennas)
Validations : None

iotiBeaconMajor
number
iotiBeaconMinor
number
iotAntennaModelId
number
mgmtVlanId
number
mgmtVlanIdOvr
boolean
mtuOvr
boolean
mtu
number
iotEnabled
boolean
iotAppId
string (IoTApplicationId)
Enum: "iBeaconAdvertisement" "iBeaconScan" "eddystoneAdvertisement" "eddystoneScan" "threadGateway" "genericScan"
lag
boolean
Deprecated
lagOvr
boolean
Deprecated
ge2mode
string (Ge2Mode)
Enum: "Backup" "LAG" "Client" "Bridge"
ge2modeOvr
boolean
usbPower
string (PwrLevel)
Enum: "Off" "Auto"
usbPowerOvr
boolean
psePower
string (PwrLevel)
Enum: "Off" "Auto"
psePowerOvr
boolean
forcePoEPlus
boolean
iotiBeaconMajorOvr
boolean
iotiBeaconMinorOvr
boolean
iotEddistoneUrl
string
iotEddistoneUrlOvr
boolean
acList
Array of strings <ipv4> (InetAddress)

acList: The controller Search List (list of IP addresses) This is not configurable in V1.0, it is set to an empty list. This attribute is read-only
Validations : None

rootPassword
string

RootPassword attribute is NOT used.

iotMeasuredRssi
integer
iotMeasuredRssiOverride
boolean
sensorChListOvr
boolean
sensorChList
Array of strings

List of channels for sensor mode.

sensorModeOvr
boolean
sensorMode
string (SensorScanMode)
Enum: "Default" "Locked" "Custom"
meshpoints
Array of objects (MeshpointOverrideElement)
pollTimeout
integer [ 3 .. 600 ]
Default: 3
pollTimeoutOvr
boolean
Default: false
bandPreference
boolean
Deprecated

A flag to enable band steering.

radioIfList
Array of objects (InterfaceAssignmentElement)

List of WLAN IDs, assigned to the radio. When radioIfListOvr is true, the list can be set.

wiredIfList
Array of objects (InterfaceAssignmentElement)

List of WLAN IDs that are assigned to the wired port. When radioIfListOvr is true, the list can be set.

radioIfListOvr
boolean
Default: false

WLAN assignment Override.

cbUser
string

Client Bridge user name. Used when radioIfListOvr=true and 802.1x Client Bridge is enabled.

cbPassword
string

Client Bridge password. Used when radioIfListOvr=true and 802.1x Client Bridge is enabled. The field is write-only. GET operation will always return null for cbPassword.

faAuthKey
string ^[^\t?`"\\]{0,32}$
Default: ""

Fabric Attach authentication key. An empty string indicates that the default value is used.

faAuthKeyOvr
boolean
Default: false

If present and true, use the faAuthKey value

peapUsername
object (PeapElement)

PEAP element.

peapUsernameOvr
boolean
Default: false
peapPassword
object (PeapElement)

PEAP element.

peapPasswordOvr
boolean
Default: false
cbRssThreshold
integer [ -128 .. -40 ]
Default: -70

Client Bridge RSS threshold for reconnecting to root AP

cbRssThresholdOvr
boolean
Default: false
smartPoll
object (SmartPollElement)

Smart poll element

smartPollOvr
boolean
Default: false
bandSteeringServiceIds
Array of strings <uuid>

List of WLAN IDs with band steering enabled

affinity
string (PreferredAffinity)
Default: "Any"
Enum: "Any" "Primary" "Backup"
affinityOvr
boolean
Default: false
apLogLevel
string (ApLogLevel)
Enum: "Emergencies" "Alerts" "Critical" "Errors" "Warnings" "Notifications" "Informational" "Debugging"
apLogLevelOvr
boolean
Default: false

Responses

200

The updated AccessPointElement instance

default

Error response

put /v1/aps/{apSerialNumber}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/{apSerialNumber}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": true,
  • "canEdit": true,
  • "serialNumber": "1740W-2030400000",
  • "hardwareType": "AP7612-680B30-WR",
  • "platformName": "AP7612",
  • "macAddress": "B8:50:01:3B:3E:1C",
  • "apName": "ap7612-3B3E1C",
  • "softwareVersion": "5.9.3.2-002R",
  • "hostSite": "DevelopmentLab7",
  • "description": "",
  • "ethPowerStatus": null,
  • "services":
    [
    ],
  • "features":
    [
    ],
  • "ipAddress": "10.47.75.108",
  • "ipNetmask": "0.0.0.0",
  • "ipGateway": "0.0.0.0",
  • "radios":
    [
    ],
  • "ledStatus": "NORMAL",
  • "ledStatusOvr": false,
  • "supportedCountries":
    [
    ],
  • "location": "DevelopmentLab7",
  • "environment": "indoor",
  • "maintainClientSession": "disabled",
  • "apPersistence": "disabled",
  • "captureTimeout": 0,
  • "mcastAssembly": false,
  • "home": "LOCAL",
  • "approvedStatus": "APPROVED",
  • "addrAssn": true,
  • "apAntennaModels": null,
  • "iotiBeaconMajor": 0,
  • "iotiBeaconMinor": 0,
  • "iotAntennaModelId": -1,
  • "mgmtVlanId": 1,
  • "mgmtVlanIdOvr": true,
  • "mtuOvr": true,
  • "mtu": 1498,
  • "iotEnabled": false,
  • "iotAppId": "iBeaconAdvertisement",
  • "lag": false,
  • "lagOvr": false,
  • "ge2mode": "Backup",
  • "ge2modeOvr": false,
  • "usbPower": "Off",
  • "usbPowerOvr": false,
  • "psePower": "Off",
  • "psePowerOvr": false,
  • "forcePoEPlus": false,
  • "rfMgmtPolicyId": "4775b87e-ef12-44bf-9018-0b597b0f3911",
  • "iotiBeaconMajorOvr": false,
  • "iotiBeaconMinorOvr": false,
  • "iotEddistoneUrl": "",
  • "iotEddistoneUrlOvr": false,
  • "bcastForDisassoc": false,
  • "lldpEnabled": true,
  • "acList": [ ],
  • "ethMode": "ETH_DUPLEX_TYPE_FULL",
  • "ethSpeed": "speedAuto",
  • "rootPassword": null,
  • "autoTxPowerMin": true,
  • "lbsEnabled": true,
  • "iotMeasuredRssi": 0,
  • "iotMeasuredRssiOverride": false,
  • "proxied": "Local",
  • "hostname": "AP510-1234567890123456",
  • "meshpoints": [ ],
  • "bandPreference": false,
  • "roleIDs":
    [
    ],
  • "radioIfList":
    [
    ],
  • "bandSteeringServiceIds":
    [
    ],
  • "radioIfListOvr": false,
  • "cbUser": "client",
  • "cbPassword": null,
  • "faAuthKey": "testkeyvalue123",
  • "faAuthKeyOvr": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": true,
  • "canEdit": true,
  • "serialNumber": "1740W-2030400000",
  • "hardwareType": "AP7612-680B30-WR",
  • "platformName": "AP7612",
  • "macAddress": "B8:50:01:3B:3E:1C",
  • "apName": "ap7612-3B3E1C",
  • "softwareVersion": "5.9.3.2-002R",
  • "hostSite": "DevelopmentLab7",
  • "description": "",
  • "ethPowerStatus": null,
  • "services":
    [
    ],
  • "features":
    [
    ],
  • "ipAddress": "10.47.75.108",
  • "ipNetmask": "0.0.0.0",
  • "ipGateway": "0.0.0.0",
  • "radios":
    [
    ],
  • "ledStatus": "NORMAL",
  • "ledStatusOvr": false,
  • "supportedCountries":
    [
    ],
  • "location": "DevelopmentLab7",
  • "environment": "indoor",
  • "maintainClientSession": "disabled",
  • "apPersistence": "disabled",
  • "captureTimeout": 0,
  • "mcastAssembly": false,
  • "home": "LOCAL",
  • "approvedStatus": "APPROVED",
  • "addrAssn": true,
  • "apAntennaModels": null,
  • "iotiBeaconMajor": 0,
  • "iotiBeaconMinor": 0,
  • "iotAntennaModelId": -1,
  • "mgmtVlanId": 1,
  • "mgmtVlanIdOvr": true,
  • "mtuOvr": true,
  • "mtu": 1498,
  • "iotEnabled": false,
  • "iotAppId": "iBeaconAdvertisement",
  • "lag": false,
  • "lagOvr": false,
  • "ge2mode": "Backup",
  • "ge2modeOvr": false,
  • "usbPower": "Off",
  • "usbPowerOvr": false,
  • "psePower": "Off",
  • "psePowerOvr": false,
  • "forcePoEPlus": false,
  • "rfMgmtPolicyId": "4775b87e-ef12-44bf-9018-0b597b0f3911",
  • "iotiBeaconMajorOvr": false,
  • "iotiBeaconMinorOvr": false,
  • "iotEddistoneUrl": "",
  • "iotEddistoneUrlOvr": false,
  • "bcastForDisassoc": false,
  • "lldpEnabled": true,
  • "acList": [ ],
  • "ethMode": "ETH_DUPLEX_TYPE_FULL",
  • "ethSpeed": "speedAuto",
  • "rootPassword": null,
  • "autoTxPowerMin": true,
  • "lbsEnabled": true,
  • "iotMeasuredRssi": 0,
  • "iotMeasuredRssiOverride": false,
  • "proxied": "Local",
  • "hostname": "AP510-1234567890123456",
  • "meshpoints": [ ],
  • "bandPreference": false,
  • "roleIDs":
    [
    ],
  • "radioIfList":
    [
    ],
  • "bandSteeringServiceIds":
    [
    ],
  • "radioIfListOvr": false,
  • "cbUser": "client",
  • "cbPassword": null,
  • "faAuthKey": "testkeyvalue123",
  • "faAuthKeyOvr": true
}

Delete access point by serial number

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000

Valid serial number of the access point that needs to be deleted

Responses

200

Access point deleted successfully

default

Error response

delete /v1/aps/{apSerialNumber}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/{apSerialNumber}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get access point antenna information by serial number

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000

Valid access point serial number

query Parameters
environment
string (ApEnvironment)
Enum: "indoor" "outdoor" "underseat"
Example: environment=indoor

The environment of the configured AP. Options are Indoor or Outdoor.

Responses

200

The antenna type information for this access point instance

default

Error response

get /v1/aps/antenna/{apSerialNumber}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/antenna/{apSerialNumber}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "antennaTypesList":
    [
    ],
  • "antennaSocketList":
    [
    ],
  • "iotAntennaTypesList":
    [
    ]
}

Get trace file

Authorizations:
path Parameters
filename
required
string

Name of the file to be downloaded

Responses

200

The file associated with the given name

default

Error response

get /v1/aps/downloadtrace/{filename}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/downloadtrace/{filename}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Copy access point configuration to the default configuration

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000

Valid access point serial number

Responses

200

Access point configuration copied successfully

default

Error response

put /v1/aps/{apSerialNumber}/copytodefault

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/{apSerialNumber}/copytodefault

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Enable access point logs download

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000

Valid access point serial number

query Parameters
deleteAction
boolean

Responses

200

Access point logs download enabled successfully

default

Error response

put /v1/aps/{apSerialNumber}/logs

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/{apSerialNumber}/logs

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Enable access point real-time capture

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000

Valid access point serial number

query Parameters
timeout
integer <int32>

Responses

200

Access point real-time capture enabled successfully

default

Error response

put /v1/aps/{apSerialNumber}/realcapture

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/{apSerialNumber}/realcapture

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Reboot access point by serial number

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000

Valid serial number of the access point to be rebooted

Responses

200

Status of the operation

default

Error response

put /v1/aps/{apSerialNumber}/reboot

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/{apSerialNumber}/reboot

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Locate access point by serial number Deprecated

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000

Valid serial number of the access point to be located

Responses

200

Status of the operation

default

Error response

put /v1/aps/{apSerialNumber}/locate

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/{apSerialNumber}/locate

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Enable access point reset during next check-in

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000

Valid access point serial number

Responses

200

Access point will be reset during next check-in.

default

Error response

put /v1/aps/{apSerialNumber}/reset

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/{apSerialNumber}/reset

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Update access point state by serial number

Set the access point state to one of the following: approved, pending, released, foreign

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000

Valid access point serial number

query Parameters
ruState
string (ruState)
Enum: "approved" "foreign" "pending" "r1backgroundscan" "r2backgroundscan" "released"
Example: ruState=approved

Contains RuState value: approved, pending, released, foreign

Responses

200

Access point state updated successfully

default

Error response

put /v1/aps/{apSerialNumber}/setRuState

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/{apSerialNumber}/setRuState

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get access point traces download URL

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000

Valid access point serial number

Responses

200

List of traces download URL

default

Error response

get /v1/aps/{apSerialNumber}/traceurls

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/{apSerialNumber}/traceurls

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • "string"
]

Upgrade access point software by AP image version

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000

Valid access point serial number

query Parameters
apImageName
string

A non-empty, valid string containing the image name to be used for the upgrade

Responses

200

Access point software upgraded successfully

default

Error response

put /v1/aps/{apSerialNumber}/upgrade

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/{apSerialNumber}/upgrade

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get access point stations

Authorizations:
path Parameters
apSerialNumber
required
string

Responses

200

List of stations associated with the given access point

default

Error response

get /v1/aps/{apSerialNumber}/stations

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/{apSerialNumber}/stations

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get access point supported environments

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000

Responses

200

List of supported environments for the given access point

default

Error response

get /v1/ap/environment/{apSerialNumber}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/ap/environment/{apSerialNumber}

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • "indoor"
]

Get a list of station locations for an AP by serial number

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
widgetList
string
Deprecated

Responses

200
default

Error response

get /v1/aps/{apSerialNumber}/location

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/{apSerialNumber}/location

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "deviceSerialNo": "1740W-2030400000",
  • "timeStamp": 1554476614000,
  • "channelWidth":
    [
    ],
  • "entitlementStatus": 0,
  • "bandAndChannel":
    {
    },
  • "activeAlerts": [ ],
  • "wirelessProtocols":
    [
    ],
  • "wiredClientCount": 0,
  • "hwType": "AP-7612-680B30-WR",
  • "deviceHealth":
    {
    },
  • "qualityMetric": null,
  • "currentPowerLevel":
    {
    },
  • "swVersion": "5.9.3.2-002R",
  • "ipAddress": "10.47.75.108",
  • "location": "DevelopmentLab7",
  • "macAddress": "B8:50:01:3B:3E:1C",
  • "camIpAddress": null,
  • "ethPowerStatus": null,
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topUsersByThroughput":
    [
    ],
  • "worstUsersByThroughput":
    [
    ],
  • "worstClientsByUsage":
    [
    ],
  • "topClientsByUsage":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "rfQuality":
    [
    ],
  • "channelUtilization2_4":
    [
    ],
  • "channelUtilization5":
    [
    ],
  • "noisePerRadio":
    [
    ],
  • "ratioOfCurrentUsersToBand":
    [
    ],
  • "topClientsBySnr":
    [
    ],
  • "worstClientsBySnr":
    [
    ],
  • "topClientsByRetries":
    [
    ],
  • "worstClientsByRetries":
    [
    ],
  • "baseliningAPRFQI":
    [
    ],
  • "baseliningAPRss":
    [
    ],
  • "baseliningAPTxRate":
    [
    ],
  • "baseliningAPRxRate":
    [
    ],
  • "baseliningAPRetries":
    [
    ],
  • "baseliningAPCochannel":
    [
    ],
  • "baseliningAPClientData":
    [
    ],
  • "baseliningAPInterference":
    [
    ],
  • "baseliningAPCochannel_5":
    [
    ],
  • "baseliningAPClientData_5":
    [
    ],
  • "baseliningAPInterference_5":
    [
    ],
  • "apQoE":
    [
    ]
}

Get access point lldp info per port

Authorizations:
path Parameters
apSerialNumber
required
string

Responses

200

List of lldp information per port

default

Error response

get /v1/aps/{apSerialNumber}/lldp

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/{apSerialNumber}/lldp

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get AP alarms list

Get AP alarms list

Authorizations:
path Parameters
apSerialNumber
required
string
query Parameters
startTime
number >= 1

Start time in milliseconds

endTime
number >= 1

End time in milliseconds

categories
string (ApAlarmCategory)
Enum: "Certificate" "ChannelChange" "ChannelUtilization" "ConfigurationChange" "ConfigurationFailure" "PollMonitor" "CrashReport" "ClientInfo" "Ethernet" "Discovery" "DCS" "AlarmCleared" "Noise" "Radar" "Reboot" "Reset" "Upgrade" "Miscellaneous" "FabricAttach" "StatusChange" "SmartRF" "Unknown"
Example: categories=Certificate

Categories list to retrieve. Returns all categories, if empty

Responses

200
default

Error response

get /v1/aps/{apSerialNumber}/alarms

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/{apSerialNumber}/alarms

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get Smart RF reports for a given access point

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H

Responses

200
default

Error response

get /v1/aps/{apSerialNumber}/smartrf

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/{apSerialNumber}/smartrf

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "deviceSerialNo": "1740W-2030400000",
  • "timeStamp": 1554476614000,
  • "channelWidth":
    [
    ],
  • "entitlementStatus": 0,
  • "bandAndChannel":
    {
    },
  • "activeAlerts": [ ],
  • "wirelessProtocols":
    [
    ],
  • "wiredClientCount": 0,
  • "hwType": "AP-7612-680B30-WR",
  • "deviceHealth":
    {
    },
  • "qualityMetric": null,
  • "currentPowerLevel":
    {
    },
  • "swVersion": "5.9.3.2-002R",
  • "ipAddress": "10.47.75.108",
  • "location": "DevelopmentLab7",
  • "macAddress": "B8:50:01:3B:3E:1C",
  • "camIpAddress": null,
  • "ethPowerStatus": null,
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topUsersByThroughput":
    [
    ],
  • "worstUsersByThroughput":
    [
    ],
  • "worstClientsByUsage":
    [
    ],
  • "topClientsByUsage":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "rfQuality":
    [
    ],
  • "channelUtilization2_4":
    [
    ],
  • "channelUtilization5":
    [
    ],
  • "noisePerRadio":
    [
    ],
  • "ratioOfCurrentUsersToBand":
    [
    ],
  • "topClientsBySnr":
    [
    ],
  • "worstClientsBySnr":
    [
    ],
  • "topClientsByRetries":
    [
    ],
  • "worstClientsByRetries":
    [
    ],
  • "baseliningAPRFQI":
    [
    ],
  • "baseliningAPRss":
    [
    ],
  • "baseliningAPTxRate":
    [
    ],
  • "baseliningAPRxRate":
    [
    ],
  • "baseliningAPRetries":
    [
    ],
  • "baseliningAPCochannel":
    [
    ],
  • "baseliningAPClientData":
    [
    ],
  • "baseliningAPInterference":
    [
    ],
  • "baseliningAPCochannel_5":
    [
    ],
  • "baseliningAPClientData_5":
    [
    ],
  • "baseliningAPInterference_5":
    [
    ],
  • "apQoE":
    [
    ]
}

Get reports that are based on the widgetList for all access points in a site

Authorizations:
path Parameters
siteId
required
string

A non-empty, valid Site ID

query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
widgetList
string

Responses

200
default

Error response

get /v1/sites/{siteId}/aps/report

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/sites/{siteId}/aps/report

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Set AP log level for a list of access points

Authorizations:
Request Body schema: application/json
apLogLevel
required
string (ApLogLevel)
Enum: "Emergencies" "Alerts" "Critical" "Errors" "Warnings" "Notifications" "Informational" "Debugging"
apLogLevelOvr
boolean
Default: true
serialNumbers
required
Array of strings (SerialNumber)

A list of access point serial numbers

Responses

200

Access points log level set successfully

default

Error response

put /v1/aps/aploglevel

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/aploglevel

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "apLogLevel": "Critical",
  • "apLogLevelOvr": false,
  • "serialNumbers":
    [
    ]
}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

ConcentratorManager

Create and manage GRE / IPSec concentrators.

Get list of GRE / IPSec concentrators

Authorizations:

Responses

200

List of all concentrators

default

Error response

get /v1/concentrators

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/concentrators

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create concentrator instance

Authorizations:
Request Body schema: application/json

A non-empty, valid ConcentratorElement instance with the configured parameters.

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
required
string [ 1 .. 64 ] characters ^[a-zA-Z0-9._ -]{1,64}$

Human-readable name of the concentrator

description
string [ 0 .. 255 ] characters

Description of the concentrator

secure
boolean

Indicates if IPSec is used to secure tunnelled traffic

ikev2Psk
string [ 8 .. 32 ] characters

For secure connection specifies IKEv2 pre-shared key

terminationAddr
string <ipv4>

IP address of concentrator tunnel termination point

Responses

201

The created ConcentratorElement instance

default

Error response

post /v1/concentrators

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/concentrators

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "description": "string",
  • "secure": true,
  • "ikev2Psk": "stringst",
  • "terminationAddr": "192.168.0.1"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "description": "string",
  • "secure": true,
  • "ikev2Psk": "stringst",
  • "terminationAddr": "192.168.0.1"
}

Get concentrator by ID

Authorizations:
path Parameters
id
required
string <uuid>

UUID of existing concentrator

Responses

200

ConcentratorElement instance with the given ID

default

Error response

get /v1/concentrators/{id}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/concentrators/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "description": "string",
  • "secure": true,
  • "ikev2Psk": "stringst",
  • "terminationAddr": "192.168.0.1"
}

Update concentrator configuration

Authorizations:
path Parameters
id
required
string <uuid>

UUID of existing concentrator

Request Body schema: application/json

A non-empty, valid ConcentratorElement instance with the configured parameters.

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
required
string [ 1 .. 64 ] characters ^[a-zA-Z0-9._ -]{1,64}$

Human-readable name of the concentrator

description
string [ 0 .. 255 ] characters

Description of the concentrator

secure
boolean

Indicates if IPSec is used to secure tunnelled traffic

ikev2Psk
string [ 8 .. 32 ] characters

For secure connection specifies IKEv2 pre-shared key

terminationAddr
string <ipv4>

IP address of concentrator tunnel termination point

Responses

200

The updated ConcentratorElement instance

default

Error response

put /v1/concentrators/{id}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/concentrators/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "description": "string",
  • "secure": true,
  • "ikev2Psk": "stringst",
  • "terminationAddr": "192.168.0.1"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "description": "string",
  • "secure": true,
  • "ikev2Psk": "stringst",
  • "terminationAddr": "192.168.0.1"
}

Delete concentrator by ID

Authorizations:
path Parameters
id
required
string <uuid>

UUID of existing concentrator

Responses

200

Concentrator deleted successfully

default

Error response

delete /v1/concentrators/{id}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/concentrators/{id}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get concentrator with default values

Authorizations:

Responses

200

ConcentratorElement instance with attributes set to default values

default

Error response

get /v1/concentrators/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/concentrators/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "description": "string",
  • "secure": true,
  • "ikev2Psk": "stringst",
  • "terminationAddr": "192.168.0.1"
}

Get concentrator name to ID map

Authorizations:

Responses

200

Map with concentrator name and corresponding ID

default

Error response

get /v1/concentrators/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/concentrators/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

AdministratorManager

Retrieve and manage administrator information.

Get a list of administrators for a customer

Authorizations:

Responses

200

List of all the administrators
The list can be empty if the customer doesn't have an administrator.

default

Error response

get /v1/administrators

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/administrators

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create an administrator for a customer

Authorizations:
Request Body schema: application/json

The Administrator instance to register. The Administrator instance must have the mandatory attributes like user ID. It can also have optional attributes.

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
userId
required
string [ 1 .. 32 ] characters [A-Za-z0-9_-]+

Represents the administrator user ID.

adminRole
required
string
Enum: "FULL" "READ_ONLY"

The role assigned to the user.

enabled
boolean
password
required
string

The password for the user account. It is a write-only property and is never displayed in the GUI.
Validations : The password must be a Not null and non-empty stringbetween 8 to 24 characters long.
Valid character set : Alphanumeric and special characters, NO blanks or CR/LF

securityQuestion
string

The security question for the user account to help retrieve the password.
Validations : The security question must be a Not null and non-empty string between 1 and 255 characters long.
Valid character set : Alphanumeric, special characters except semi-colon, colon and ampersand

securityAnswer
string

The security answer for the security question.
Validations : The security answer must be a Not null and non-empty string between 1 and 255 characters long.
Validcharacter set : Alphanumeric, special characters except semi-colon, colon and ampersand

accountState
required
string
Enum: "DISABLED" "ENABLED" "NOT_ACTIVATED"

The status of the administrator account. Administrator accounts can be disabled without deleting the account. For example, you can temporarily disable an account when the owner goes on vacation.

The default for all accounts is true (enabled). This is an advanced option and does not need to be prominent in the application user interface.

[OPTIONAL].

properties
object
idleTimeout
number

The idle timeout (in seconds) for this administrator.

scopes
object

A map containing the name and corresponding access level

Responses

201

Administrator registration successful.

default

Error response

post /v1/administrators

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/administrators

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "userId": "admin",
  • "adminRole": "FULL",
  • "enabled": false,
  • "accountState": "ENABLED",
  • "scopes":
    {
    },
  • "properties":
    {
    },
  • "idleTimeout": 604800
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "userId": "admin",
  • "adminRole": "FULL",
  • "enabled": false,
  • "accountState": "ENABLED",
  • "scopes":
    {
    },
  • "properties":
    {
    },
  • "idleTimeout": 604800
}

Change an administrator's password

Authorizations:
Request Body schema: application/json

New administrator password

userId
required
string

Represents an administrator user ID. It must be unique across all of Extreme Online.
Validations : The user ID must be a Not null and non-empty string between 1 and 128 characters long.

password
required
string

Represents the password for the user account. It is a write only property and is never displayed in the user interface.
Validations : The password must be a Not null and non-empty string between 8 to 32 characters long, NO blanks or CR/LF.

Responses

204

Password changed successfully.

default

Error response

put /v1/administrators/adminpassword

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/administrators/adminpassword

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "userId": "adminUserId",
  • "password": "adminPassword"
}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get an administrator by user ID

Authorizations:
path Parameters
userId
required
string

A non-empty, valid administrator user ID

Responses

200

Administrator instance for the supplied user ID

default

Error response

get /v1/administrators/{userId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/administrators/{userId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "userId": "admin",
  • "adminRole": "FULL",
  • "enabled": false,
  • "accountState": "ENABLED",
  • "scopes":
    {
    },
  • "properties":
    {
    },
  • "idleTimeout": 604800
}

Update an administrator for a customer

Authorizations:
path Parameters
userId
required
string
Request Body schema: application/json

The Administrator instance to be updated. The Administrator instance must have the mandatory attributes like user ID. It can also have optional attributes.

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
userId
string

The administrator user ID, which must be an email address and must be unique across all of Extreme Online.
Validations : The user ID must be not null and non-empty string(email ID) between 1 and 128 characters long.

adminRole
string
Enum: "FULL" "READ_ONLY"

The role assigned to the user: FULL, READ_ONLY

securityQuestion
string

The security question for the user account to help retrieve the password
Validations : string between 1 and 255 characters long.

accountState
string
Enum: "DISABLED" "ENABLED" "NOT_ACTIVATED"

Administrator accounts can be disabled without deleting them. This is useful if the account has to be suspended (for example the owner goes on vacation). The default for all accounts is true (enabled). This is an advanced option and does not need to be prominent in the application user interface.

idleTimeout
number

The idle timeout (in seconds) for the administrator

properties
object
scopes
object

A map containing name and the corresponding access level

Responses

204

The updated Administrator instance.

default

Error response

put /v1/administrators/{userId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/administrators/{userId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "userId": "adminUser",
  • "adminRole": "FULL",
  • "securityQuestion": "Admin secutiry question",
  • "accountState": "ENABLED",
  • "idleTimeout": 12345,
  • "scopes":
    {
    },
  • "properties":
    {
    },
  • "custId": "...",
  • "id": "...",
  • "canDelete": true,
  • "canEdit": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "userId": "admin",
  • "adminRole": "FULL",
  • "enabled": false,
  • "accountState": "ENABLED",
  • "scopes":
    {
    },
  • "properties":
    {
    },
  • "idleTimeout": 604800
}

Delete an administrator for a customer

Authorizations:
path Parameters
userId
required
string

A non-empty, valid administrator user ID

Responses

204

The Administrator instance was deleted successfully.

default

Error response

delete /v1/administrators/{userId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/administrators/{userId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "userId": "admin",
  • "adminRole": "FULL",
  • "enabled": false,
  • "accountState": "ENABLED",
  • "scopes":
    {
    },
  • "properties":
    {
    },
  • "idleTimeout": 604800
}

Update an administrator by user ID

Authorizations:
path Parameters
userId
required
string
Request Body schema: application/json

An Administrator instance to update. The Administrator instance must have the mandatory attributes like user ID. It can also have optional attributes.

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
userId
string

The administrator user ID, which must be unique across all of Extreme Online.
Validations : The user ID must be not null and non-empty stringbetween 1 and 128 characters long.

idleTimeout
number

The idle timeout (in seconds) for this administrator.

Responses

204

The updated Administrator instance.

default

Error response

put /v1/administratorsTimeout/{userId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/administratorsTimeout/{userId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "userId": "adminUserId",
  • "idleTimeout": 12345,
  • "custId": "...",
  • "id": "...",
  • "canDelete": true,
  • "canEdit": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "userId": "admin",
  • "adminRole": "FULL",
  • "enabled": false,
  • "accountState": "ENABLED",
  • "scopes":
    {
    },
  • "properties":
    {
    },
  • "idleTimeout": 604800
}

Send a refresh token and obtain a new OAuth 2 access token

Authorizations:
Request Body schema: application/json

A RefreshTokenElement instance to send. The RefreshTokenElement instance must have the mandatory attributes like userId, refreshToken, and grantType (must be refresh_token). It can also have optional attributes.

grantType
required
string

The Oauth2 authorization grant type of password. The value of grantType must be password.
Validations : Not null and non-empty string.

refreshToken
required
string

The refresh token for the user account. It is a write-only property, which is not displayed in the user inferface.
Validations : The refresh token must be a Not null and non-empty string.

scope
string

The scope of the access token. This is an optional parameter.

Responses

200

The new access token

default

Error response

post /v1/oauth2/refreshToken

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/oauth2/refreshToken

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "grantType": "refresh_token",
  • "refreshToken": "refreshToken",
  • "scope": "..."
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "access_token": "eyJraWQiOiIxODIzRS1DQzJDMiIsInR5cCI6IkpXVCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJVbmRlZmluZWQ6MTgyM0UtQ0MyQzIiLCJpc3MiOiJYQ0EuMTgyM0UtQ0MyQzIiLCJleHRyZW1lX3JvbGUiOiJGVUxMIiwiZXhwIjoxNTU0MzI0MDg2LCJqdGkiOiJhZG1pbiJ9.1gsj0gaT7EQb5y9fd3ABS_w_TY2SQ6_WhjFMbXix0j8bJrXWHGF8UWzrKhOt3MypR7o_tZ_SjVsA6jAU_pioGu25rmXp7HnjMezS2p9aiNmyqsefS_MKkfu_TtZcmS1TSklM9DaT1x4LUQFJ3wikMfimhcCe8L-2SHxRY-DdpYkQ9uvsQzzxBRC_wwJB5rHF8uVw1HCu36ZPeFIg5dML7TQjGZYo4xX4_Gc3zifUlB-p3VghILIT06M8Cf9H7O22qFjPvWVrGgYfBex5k-G2eJFvWQckjuKxkvWiBm7tBFfWxRQOP0khu11Ue97n41XtGtigoLWTx7hBmelKyYqmNQ",
  • "token_type": "Bearer",
  • "expires_in": 7200,
  • "idle_timeout": 604800,
  • "refresh_token": "1eb40de0308d583e4714c78e133e5a4e",
  • "adminRole": "FULL",
  • "scopes":
    {
    }
}

Obtain an access token using Oauth2 authorization grant type:password

Authorizations:
Request Body schema: application/json

The RequestTokenElement instance to login. The RequestTokenElement instance must have the mandatory attributes like userId, password, and grantType (must be password). It can also have optional attributes.

grantType
required
string

The Oauth2 authorization grant type of password. The value of grantType must be password.
Validations : Not null and non-empty string.

userId
required
string

The administrator user ID. It must be unique across all of Extreme Online.
Validations : Not null and non-empty string.

password
required
string

The password for the user account. It is a write-only property, which is not displayed in the user interface.
Validations : The password must be a Not null and non-empty string between 8 to 32 characters long, NO blanks or CR/LF.

scope
string

The scope of the access token. This is an optional parameter.

exp
integer

The access token expiration time in seconds. This is an optional parameter. It overwrites the default access token expiration time of 7200 seconds.
Validations : The value must be a positive number between 60 and 86400 (seconds).

Responses

200

The access token if administrator is authenticated and authorized

default

Error response

post /v1/oauth2/token

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/oauth2/token

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "grantType": "password",
  • "userId": "adminUserId",
  • "password": "adminPassword",
  • "scope": "..."
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "access_token": "eyJraWQiOiIxODIzRS1DQzJDMiIsInR5cCI6IkpXVCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJVbmRlZmluZWQ6MTgyM0UtQ0MyQzIiLCJpc3MiOiJYQ0EuMTgyM0UtQ0MyQzIiLCJleHRyZW1lX3JvbGUiOiJGVUxMIiwiZXhwIjoxNTU0MzI0MDg2LCJqdGkiOiJhZG1pbiJ9.1gsj0gaT7EQb5y9fd3ABS_w_TY2SQ6_WhjFMbXix0j8bJrXWHGF8UWzrKhOt3MypR7o_tZ_SjVsA6jAU_pioGu25rmXp7HnjMezS2p9aiNmyqsefS_MKkfu_TtZcmS1TSklM9DaT1x4LUQFJ3wikMfimhcCe8L-2SHxRY-DdpYkQ9uvsQzzxBRC_wwJB5rHF8uVw1HCu36ZPeFIg5dML7TQjGZYo4xX4_Gc3zifUlB-p3VghILIT06M8Cf9H7O22qFjPvWVrGgYfBex5k-G2eJFvWQckjuKxkvWiBm7tBFfWxRQOP0khu11Ue97n41XtGtigoLWTx7hBmelKyYqmNQ",
  • "token_type": "Bearer",
  • "expires_in": 7200,
  • "idle_timeout": 604800,
  • "refresh_token": "1eb40de0308d583e4714c78e133e5a4e",
  • "adminRole": "FULL",
  • "scopes":
    {
    }
}

Delete an access token

Authorizations:
path Parameters
token
required
string

Access token to be deleted

Responses

204

Access token deleted successfully.

default

Error response

delete /v1/oauth2/token/{token}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/oauth2/token/{token}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Validates OAuth2 access token. Please refer to (https://tools.ietf.org/html/rfc7662) for more details.

Authorizations:
Request Body schema: application/x-www-form-urlencoded
token
required
string

Contains access token information for the user who is requesting external rest endpoints. Two types of tokens are present: a fixed access token that is generally used by ExtremeCloud components, and a dynamic access token that is used by a user accessing information from the ExtremeCloud IQ Controller GUI applications.

tokenTypeHint
required
string

Contains token type hint information. Example: ExtremeAI

requestUrl
required
requestMethod
required
string

Contains one http verb (GET, POST, PUT, DELETE) Example: GET

Responses

200

Successful operation

default

Error response

post /v1/oauth2/introspecttoken

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/oauth2/introspecttoken

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "active": true,
  • "errorCode": 200,
  • "customerId": "External customer information."
}

AdspManager

Create and manage AirDefense profiles.

Get list of all Air Defense profiles Deprecated

Authorizations:

Responses

200
default

Error response

get /v3/adsp

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/adsp

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new Air Defense profile Deprecated

Authorizations:
Request Body schema: application/json

A valid AdspProfileElement instance

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
string
svrAddr
Array of strings

List of server addresses

Responses

201

The newly created AirDefense profile

default

Error response

post /v3/adsp

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/adsp

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "ADSP Container",
  • "svrAddr":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "ADSP Container",
  • "svrAddr":
    [
    ]
}

Get an Air Defense profile with default values Deprecated

Authorizations:

Responses

200

An AdspProfileElement instance with attributes set to default values

default

Error response

get /v3/adsp/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/adsp/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "ADSP Container",
  • "svrAddr":
    [
    ]
}

Get Air Defense profile name mapped to ID Deprecated

Authorizations:

Responses

200

Map with AirDefense profile name and corresponding ID

default

Error response

get /v3/adsp/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/adsp/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get an Air Defense Profile by ID Deprecated

Authorizations:
path Parameters
adspId
required
string

A non-empty, valid ADSP ID

Responses

200

An AdspProfileElement instance for the given ID

default

Error response

get /v3/adsp/{adspId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/adsp/{adspId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "ADSP Container",
  • "svrAddr":
    [
    ]
}

Update an Air Defense profile Deprecated

Authorizations:
path Parameters
adspId
required
string

A non-empty, valid AirDefense profile ID

Request Body schema: application/json

A valid ADSP profile with the configured parameters

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
string
svrAddr
Array of strings

List of server addresses

Responses

200

The updated AirDefense profile

default

Error response

put /v3/adsp/{adspId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/adsp/{adspId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "ADSP Container",
  • "svrAddr":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "ADSP Container",
  • "svrAddr":
    [
    ]
}

Delete an Air Defense profile for a customer Deprecated

Authorizations:
path Parameters
adspId
required
string

A non-empty, valid AirDefense ID

Responses

200

AirDefense profile deleted successfully.

default

Error response

delete /v3/adsp/{adspId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/adsp/{adspId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get list of all Air Defense profiles Deprecated

Authorizations:

Responses

200
default

Error response

get /v4/adsp

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v4/adsp

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new Air Defense profile. Deprecated

Authorizations:
Request Body schema: application/json

A valid AdspProfileV4Element instance

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
string
servers
Array of objects

Responses

201

The newly created AirDefense profile

default

Error response

post /v4/adsp

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v4/adsp

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "ADSP Container",
  • "servers":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "ADSP Container",
  • "servers":
    [
    ]
}

Get an Air Defense profile with default values Deprecated

Authorizations:

Responses

200

An AdspProfileV4Element instance with attributes set to default values

default

Error response

get /v4/adsp/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v4/adsp/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "ADSP Container",
  • "servers":
    [
    ]
}

Get Air Defense profile name mapped to ID Deprecated

Authorizations:

Responses

200

Map with AirDefense profile name and corresponding ID

default

Error response

get /v4/adsp/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v4/adsp/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get an Air Defense profile by ID Deprecated

Authorizations:
path Parameters
adspId
required
string

A non-empty, valid ADSP ID

Responses

200

An AdspProfileV4Element instance for the given ID

default

Error response

get /v4/adsp/{adspId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v4/adsp/{adspId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "ADSP Container",
  • "servers":
    [
    ]
}

Update an Air Defense profile Deprecated

Authorizations:
path Parameters
adspId
required
string

A non-empty, valid AirDefense profile ID

Request Body schema: application/json

A valid ADSP profile with the configured parameters

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
string
servers
Array of objects

Responses

200

The updated Air Defense profile

default

Error response

put /v4/adsp/{adspId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v4/adsp/{adspId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "ADSP Container",
  • "servers":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "ADSP Container",
  • "servers":
    [
    ]
}

Delete an Air Defense profile Deprecated

Authorizations:
path Parameters
adspId
required
string

A non-empty, valid Air Defense ID

Responses

200

Air Defense profile deleted successfully.

default

Error response

delete /v4/adsp/{adspId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v4/adsp/{adspId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get list of all Air Defense profiles

Authorizations:

Responses

200
default

Error response

get /v4/airdefense

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v4/airdefense

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new Air Defense profile

Authorizations:
Request Body schema: application/json

A valid AdspProfileV4Element instance

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
string
servers
Array of objects

Responses

201

The newly created Air Defense profile

default

Error response

post /v4/airdefense

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v4/airdefense

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "ADSP Container",
  • "servers":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "ADSP Container",
  • "servers":
    [
    ]
}

Get an Air Defense profile with default values

Authorizations:

Responses

200

An AdspProfileV4Element instance with attributes set to default values

default

Error response

get /v4/airdefense/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v4/airdefense/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "ADSP Container",
  • "servers":
    [
    ]
}

Get AirDefense profile name mapped to ID

Authorizations:

Responses

200

Map with AirDefense profile name and corresponding ID

default

Error response

get /v4/airdefense/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v4/airdefense/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get an AirDefense Profile by ID

Authorizations:
path Parameters
adspId
required
string

A non-empty, valid ADSP ID

Responses

200

An AdspProfileV4Element instance for the given ID

default

Error response

get /v4/airdefense/{adspId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v4/airdefense/{adspId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "ADSP Container",
  • "servers":
    [
    ]
}

Update an AirDefense profile

Authorizations:
path Parameters
adspId
required
string

A non-empty, valid AirDefense profile ID

Request Body schema: application/json

A valid ADSP profile with the configured parameters.

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
string
servers
Array of objects

Responses

200

The updated AirDefense profile

default

Error response

put /v4/airdefense/{adspId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v4/airdefense/{adspId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "ADSP Container",
  • "servers":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "ADSP Container",
  • "servers":
    [
    ]
}

Delete an AirDefense profile

Authorizations:
path Parameters
adspId
required
string

A non-empty, valid AirDefense ID

Responses

200

AirDefense profile deleted successfully.

default

Error response

delete /v4/airdefense/{adspId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v4/airdefense/{adspId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

AnalyticsProfileManager

Create and manage Analytics profiles.

Get list of all analytics profiles

Authorizations:

Responses

200
default

Error response

get /v3/analytics

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/analytics

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new Analytics Element

Authorizations:
Request Body schema: application/json

A valid AnalyticsProfileElement instance

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
string
destAddr
string
reportFreq
number

Responses

201

Newly created AnalyticsProfileElement instance with the configured parameters

default

Error response

post /v3/analytics

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/analytics

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "c37ec03c-7470-43c5-84bd-2f00ec3c17bf",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "test",
  • "destAddr": "11.12.12.3",
  • "reportFreq": 73
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "c37ec03c-7470-43c5-84bd-2f00ec3c17bf",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "test",
  • "destAddr": "11.12.12.3",
  • "reportFreq": 73
}

Get an Analytics profile with default values

Authorizations:

Responses

200

AnalyticsProfileElement instance with attributes set to default values

default

Error response

get /v3/analytics/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/analytics/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "c37ec03c-7470-43c5-84bd-2f00ec3c17bf",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "test",
  • "destAddr": "11.12.12.3",
  • "reportFreq": 73
}

Get an Analytics profile name to ID map

Authorizations:

Responses

200

Map with Analytics profile names and corresponding IDs

default

Error response

get /v3/analytics/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/analytics/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get an Analytics profile by ID

Authorizations:
path Parameters
analyticsProfileId
required
string

A non-empty, valid Analytics ID

Responses

200

AnalyticsProfileElement instance for the given ID

default

Error response

get /v3/analytics/{analyticsProfileId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/analytics/{analyticsProfileId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "c37ec03c-7470-43c5-84bd-2f00ec3c17bf",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "test",
  • "destAddr": "11.12.12.3",
  • "reportFreq": 73
}

Update an Analytics profile

Authorizations:
path Parameters
analyticsProfileId
required
string

A non-empty, valid Analytics profile ID

Request Body schema: application/json

A valid Analytics profile with the configured parameters

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
string
destAddr
string
reportFreq
number

Responses

200

The updated Analytics profile

default

Error response

put /v3/analytics/{analyticsProfileId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/analytics/{analyticsProfileId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "c37ec03c-7470-43c5-84bd-2f00ec3c17bf",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "test",
  • "destAddr": "11.12.12.3",
  • "reportFreq": 73
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "c37ec03c-7470-43c5-84bd-2f00ec3c17bf",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "test",
  • "destAddr": "11.12.12.3",
  • "reportFreq": 73
}

Delete an Analytics profile for a customer

Authorizations:
path Parameters
analyticsProfileId
required
string

A non-empty, valid Analytics ID

Responses

200

Analytics profile deleted successfully.

default

Error response

delete /v3/analytics/{analyticsProfileId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/analytics/{analyticsProfileId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

AuditlogManager

Retrieve audit logs for a customer.

Get audit logs for a customer for a given time range

Authorizations:
query Parameters
endTime
number >= 1

End time in milliseconds

startTime
number >= 1

Start time in milliseconds

Responses

200

List containing all the audit logs for the given time.

default

Error response

get /v1/auditlogs

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/auditlogs

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

CoSManager

Create and manage policy Class of Service (CoS).

CoS Manager

Authorizations:

Responses

200
default

Error response

get /v1/cos

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/cos

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new policy Class of Service

Authorizations:
Request Body schema: application/json

A valid PolicyClassOfServiceElement instance

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
cosName
string

The unique name of the CoS. This is a mandatory attribute.
Validations : The Cos name must be a Not null and non-empty string between 0 and 255 characters long.
Valid character set : Alphanumeric, special characters except semi-colon, colon and ampersand

cosQos
object Recursive

The layer 2 and layer 3 markings to assign to a frame that is subject to this CoS. The member cannot be null, but it is possible to set the individual members of cosQoS such that frames subject to this CoS are not remarked. Implementation Note: This should be the actual PolicyQoSMarkingElement not a reference to one of these objects. PolicyQosMarkingElement objects are never processed separately from the class/object in which they are contained.
Validations : Not null and non-empty .

inboundRateLimiterId
string

The inbound rate limiter to apply to traffic assigned to this CoS. Set inboundLimit to null to assign no rate limiter to inbound traffic. Inbound traffic is traffic from the station entering the network at an edge network element such as an AP.

Implementation Note: This is the UUID of PolicyRateLimiterElement
Validations : Valid UUID of inbound RateLimiter.

outboundRateLimiterId
string

The outbound rate limiter to apply to traffic assigned to this CoS. Set outboundLimit to null to assign no rate limiter to outbound traffic. Outbound traffic is traffic from the network heading out toward the station through an edge network element such as an AP.

Implementation Note: This is the UUID of PolicyRateLimiterElement


Validations : Valid UUID of outbound RateLimiter.

transmitQueue
number
predefined
boolean

Responses

201

Newly created CoS with the configured parameters

default

Error response

post /v1/cos

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/cos

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "495f8cf7-30a1-46cf-b8c8-90eeb6278c2a",
  • "canDelete": false,
  • "canEdit": true,
  • "cosName": "Role_46_COS",
  • "cosQos":
    {
    },
  • "inboundRateLimiterId": "117dd0fe-4599-11e9-97b3-000c29a7fe8f",
  • "outboundRateLimiterId": "117dd0fe-4599-11e9-97b3-000c29a7fe8f",
  • "transmitQueue": 0,
  • "predefined": false
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "495f8cf7-30a1-46cf-b8c8-90eeb6278c2a",
  • "canDelete": false,
  • "canEdit": true,
  • "cosName": "Role_46_COS",
  • "cosQos":
    {
    },
  • "inboundRateLimiterId": "117dd0fe-4599-11e9-97b3-000c29a7fe8f",
  • "outboundRateLimiterId": "117dd0fe-4599-11e9-97b3-000c29a7fe8f",
  • "transmitQueue": 0,
  • "predefined": false
}

Get the default Class of Service configuration

Authorizations:

Responses

200

PolicyClassOfServiceElement instance with attributes set to default values

default

Error response

get /v1/cos/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/cos/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "495f8cf7-30a1-46cf-b8c8-90eeb6278c2a",
  • "canDelete": false,
  • "canEdit": true,
  • "cosName": "Role_46_COS",
  • "cosQos":
    {
    },
  • "inboundRateLimiterId": "117dd0fe-4599-11e9-97b3-000c29a7fe8f",
  • "outboundRateLimiterId": "117dd0fe-4599-11e9-97b3-000c29a7fe8f",
  • "transmitQueue": 0,
  • "predefined": false
}

Get CoS name to ID map

Authorizations:

Responses

200

Map with CoS name and corresponding ID

default

Error response

get /v1/cos/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/cos/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get a policy CoS by ID

Authorizations:
path Parameters
cosId
required
string

A non-empty, valid CoS ID

Responses

200

PolicyClassOfServiceElement instance with the given ID

default

Error response

get /v1/cos/{cosId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/cos/{cosId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "495f8cf7-30a1-46cf-b8c8-90eeb6278c2a",
  • "canDelete": false,
  • "canEdit": true,
  • "cosName": "Role_46_COS",
  • "cosQos":
    {
    },
  • "inboundRateLimiterId": "117dd0fe-4599-11e9-97b3-000c29a7fe8f",
  • "outboundRateLimiterId": "117dd0fe-4599-11e9-97b3-000c29a7fe8f",
  • "transmitQueue": 0,
  • "predefined": false
}

Update a policy CoS

Authorizations:
path Parameters
cosId
required
string

A non-empty, valid CoS ID

Request Body schema: application/json

A valid CoS with the configured parameters

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
cosName
string

The unique name of the CoS. This is a mandatory attribute.
Validations : The Cos name must be a Not null and non-empty string between 0 and 255 characters long.
Valid character set : Alphanumeric, special characters except semi-colon, colon and ampersand

cosQos
object Recursive

The layer 2 and layer 3 markings to assign to a frame that is subject to this CoS. The member cannot be null, but it is possible to set the individual members of cosQoS such that frames subject to this CoS are not remarked. Implementation Note: This should be the actual PolicyQoSMarkingElement not a reference to one of these objects. PolicyQosMarkingElement objects are never processed separately from the class/object in which they are contained.
Validations : Not null and non-empty .

inboundRateLimiterId
string

The inbound rate limiter to apply to traffic assigned to this CoS. Set inboundLimit to null to assign no rate limiter to inbound traffic. Inbound traffic is traffic from the station entering the network at an edge network element such as an AP.

Implementation Note: This is the UUID of PolicyRateLimiterElement
Validations : Valid UUID of inbound RateLimiter.

outboundRateLimiterId
string

The outbound rate limiter to apply to traffic assigned to this CoS. Set outboundLimit to null to assign no rate limiter to outbound traffic. Outbound traffic is traffic from the network heading out toward the station through an edge network element such as an AP.

Implementation Note: This is the UUID of PolicyRateLimiterElement


Validations : Valid UUID of outbound RateLimiter.

transmitQueue
number
predefined
boolean

Responses

200

The updated policy CoS

default

Error response

put /v1/cos/{cosId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/cos/{cosId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "495f8cf7-30a1-46cf-b8c8-90eeb6278c2a",
  • "canDelete": false,
  • "canEdit": true,
  • "cosName": "Role_46_COS",
  • "cosQos":
    {
    },
  • "inboundRateLimiterId": "117dd0fe-4599-11e9-97b3-000c29a7fe8f",
  • "outboundRateLimiterId": "117dd0fe-4599-11e9-97b3-000c29a7fe8f",
  • "transmitQueue": 0,
  • "predefined": false
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "495f8cf7-30a1-46cf-b8c8-90eeb6278c2a",
  • "canDelete": false,
  • "canEdit": true,
  • "cosName": "Role_46_COS",
  • "cosQos":
    {
    },
  • "inboundRateLimiterId": "117dd0fe-4599-11e9-97b3-000c29a7fe8f",
  • "outboundRateLimiterId": "117dd0fe-4599-11e9-97b3-000c29a7fe8f",
  • "transmitQueue": 0,
  • "predefined": false
}

Delete a CoS for a customer

Authorizations:
path Parameters
cosId
required
string

A non-empty, valid CoS ID

Responses

200

CoS deleted successfully

default

Error response

delete /v1/cos/{cosId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/cos/{cosId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

DeviceImageManager

Retrieve a list of device images.

Get list of device images for a hardware type

Authorizations:
path Parameters
hwType
required
string

Hardware type

Responses

200

The list of device images for a given hardware type

default

Error response

get /v1/deviceimages/{hwType}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/deviceimages/{hwType}

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

DpiSignatureManager

Manage Dpi Signature Application elements.

Get list of all Dpi signature profiles

Authorizations:

Responses

200
default

Error response

get /v1/dpisignatures

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/dpisignatures

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "groups":
    [
    ],
  • "dpiAppElements":
    [
    ]
}

Save list of Dpi Application elements

Authorizations:
Request Body schema: application/json
custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
dpiAppElements
Array of objects (DpiApplicationElement)

A list of DPI application elements.


Validations : Not null

Responses

200
default

Error response

put /v1/dpisignatures

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/dpisignatures

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "dpiAppElements":
    [
    ],
  • "custId": "...",
  • "id": "...",
  • "canDelete": true,
  • "canEdit": true
}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get list of all custom Dpi signature profiles

Authorizations:

Responses

200
default

Error response

get /v1/dpisignatures/custom

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/dpisignatures/custom

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "groups":
    [
    ],
  • "dpiAppElements":
    [
    ]
}

EntityStateManager

Retrieve the state of access points, switches, and sites.

Get the state of all access points Deprecated

Authorizations:

Responses

200
default

Error response

get /v1/state/aps

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/state/aps

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get the state of all access points Deprecated

Authorizations:

Responses

200
default

Error response

get /v1/state/entityDistribution

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/state/entityDistribution

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get the state of all sites

Authorizations:

Responses

200

List of SiteStatusElement

default

Error response

get /v1/state/sites

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/state/sites

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get the state of all switches

Authorizations:

Responses

200
default

Error response

get /v1/state/switches

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/state/switches

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get the state of an access point based on serial number

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000

Valid access point serial number

Responses

200
default

Error response

get /v1/state/aps/{apSerialNumber}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/state/aps/{apSerialNumber}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "apSerialNo": "1740W-2030400000",
  • "entityStatus":
    {
    },
  • "controllerApTunnelStatus":
    [
    ],
  • "apVlanStatus":
    [
    ]
}

Get the state of a site based on ID

Authorizations:
path Parameters
siteId
required
string

A non-empty, valid Site ID

Responses

200

SiteStatusElement

default

Error response

get /v1/state/sites/{siteId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/state/sites/{siteId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "eaab6b13-865d-4475-a26f-d3d95b6e0812",
  • "entityStatus":
    {
    }
}

Get the state of a switch based on serial number

Authorizations:
path Parameters
switchSerialNumber
required
string

Responses

200
default

Error response

get /v1/state/switches/{switchSerialNumber}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/state/switches/{switchSerialNumber}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tenantId": "esetechtrial.com:11.12.12.2",
  • "serialNo": "1733N-42224",
  • "entityStatus":
    {
    },
  • "comments": "Stats Upload"
}

Get the state of all access points for a site Deprecated

Authorizations:
path Parameters
siteId
required
string

A non-empty, valid site ID

Responses

200

List of ApStatusElement

default

Error response

get /v1/state/sites/{siteId}/aps

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/state/sites/{siteId}/aps

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

IotProfileManager

Create and manage IoT profiles.

Get list of all IoT profiles for a customer

Authorizations:

Responses

200

List of all the IotProfiles

default

Error response

get /v3/iotprofile

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/iotprofile

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new IoT profile to the customer

Authorizations:
Request Body schema: application/json

A valid IotProfile instance with attributes to be registered

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
required
string

Represents the Friendly Name of the access point. The AP Name defaults to the Serial Number. It does not have to be unique.
Validations : The access point name must be between 1 and 64 characters long.
Valid character set : Alphanumeric and .-_spacecharacters

appId
required
string (IoTApplicationId)
Enum: "iBeaconAdvertisement" "iBeaconScan" "eddystoneAdvertisement" "eddystoneScan" "threadGateway" "genericScan"
iBeaconAdvertisement
object (IoTProfileiBeaconAdvertisementElement)
iBeaconScan
object (IoTProfileiBeaconScanElement)
threadGateway
object (IoTProfileThreadGatewayElement)
eddystoneAdvertisement
object (IoTProfileEddystoneAdvertisementElement)
eddystoneScan
object (IoTProfileEddystoneScanElement)
genericScan
object (IoTProfileGenericScanElement)

Configure the APs to scan and report on generic BLE beacons

Responses

201

Newly created IoTProfileElement instance

default

Error response

post /v3/iotprofile

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/iotprofile

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "00000000-0000-0000-0000-000000000000",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "",
  • "appId": "iBeaconAdvertisement",
  • "iBeaconAdvertisement":
    {
    },
  • "iBeaconScan":
    {
    },
  • "threadGateway":
    {
    },
  • "eddystoneAdvertisement":
    {
    },
  • "eddystoneScan":
    {
    },
  • "genericScan":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "00000000-0000-0000-0000-000000000000",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "",
  • "appId": "iBeaconAdvertisement",
  • "iBeaconAdvertisement":
    {
    },
  • "iBeaconScan":
    {
    },
  • "threadGateway":
    {
    },
  • "eddystoneAdvertisement":
    {
    },
  • "eddystoneScan":
    {
    },
  • "genericScan":
    {
    }
}

Get an IoT profile with default values

Authorizations:

Responses

200

IoTProfileElement object with attributes set to default values

default

Error response

get /v3/iotprofile/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/iotprofile/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "00000000-0000-0000-0000-000000000000",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "",
  • "appId": "iBeaconAdvertisement",
  • "iBeaconAdvertisement":
    {
    },
  • "iBeaconScan":
    {
    },
  • "threadGateway":
    {
    },
  • "eddystoneAdvertisement":
    {
    },
  • "eddystoneScan":
    {
    },
  • "genericScan":
    {
    }
}

Get IoT profile name mapped to ID

Authorizations:

Responses

200

Map with IoT profile names and corresponding IDs

default

Error response

get /v3/iotprofile/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/iotprofile/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get an IoT profile based on ID

Authorizations:
path Parameters
iotprofileId
required
string

A non-empty, valid IotProfile ID

Responses

200

IoTProfileElement object with the given ID

default

Error response

get /v3/iotprofile/{iotprofileId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/iotprofile/{iotprofileId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "00000000-0000-0000-0000-000000000000",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "",
  • "appId": "iBeaconAdvertisement",
  • "iBeaconAdvertisement":
    {
    },
  • "iBeaconScan":
    {
    },
  • "threadGateway":
    {
    },
  • "eddystoneAdvertisement":
    {
    },
  • "eddystoneScan":
    {
    },
  • "genericScan":
    {
    }
}

Update an IoT profile based on ID

Authorizations:
path Parameters
iotprofileId
required
string

A non-empty, valid IotProfile ID

Request Body schema: application/json

A valid IoTProfileElement instance with attributes to be registered

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
required
string

Represents the Friendly Name of the access point. The AP Name defaults to the Serial Number. It does not have to be unique.
Validations : The access point name must be between 1 and 64 characters long.
Valid character set : Alphanumeric and .-_spacecharacters

appId
required
string (IoTApplicationId)
Enum: "iBeaconAdvertisement" "iBeaconScan" "eddystoneAdvertisement" "eddystoneScan" "threadGateway" "genericScan"
iBeaconAdvertisement
object (IoTProfileiBeaconAdvertisementElement)
iBeaconScan
object (IoTProfileiBeaconScanElement)
threadGateway
object (IoTProfileThreadGatewayElement)
eddystoneAdvertisement
object (IoTProfileEddystoneAdvertisementElement)
eddystoneScan
object (IoTProfileEddystoneScanElement)
genericScan
object (IoTProfileGenericScanElement)

Configure the APs to scan and report on generic BLE beacons

Responses

200

The updated IoTProfileElement instance

default

Error response

put /v3/iotprofile/{iotprofileId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/iotprofile/{iotprofileId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "00000000-0000-0000-0000-000000000000",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "",
  • "appId": "iBeaconAdvertisement",
  • "iBeaconAdvertisement":
    {
    },
  • "iBeaconScan":
    {
    },
  • "threadGateway":
    {
    },
  • "eddystoneAdvertisement":
    {
    },
  • "eddystoneScan":
    {
    },
  • "genericScan":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "00000000-0000-0000-0000-000000000000",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "",
  • "appId": "iBeaconAdvertisement",
  • "iBeaconAdvertisement":
    {
    },
  • "iBeaconScan":
    {
    },
  • "threadGateway":
    {
    },
  • "eddystoneAdvertisement":
    {
    },
  • "eddystoneScan":
    {
    },
  • "genericScan":
    {
    }
}

Delete an IoT profile

Authorizations:
path Parameters
iotprofileId
required
string

A non-empty, valid IotProfile ID to be deleted

Responses

200

IoT profile deleted successfully

default

Error response

delete /v3/iotprofile/{iotprofileId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/iotprofile/{iotprofileId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

RtlsProfileManager

Create and manage RTLS profiles.

Get list of all RTLS profiles for a customer.

Authorizations:

Responses

200

List of all the RTLS profiles

default

Error response

get /v1/rtlsprofile

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/rtlsprofile

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new RTLS profile

Authorizations:
Request Body schema: application/json

A valid RtlsProfileElement instance with attributes to be registered. The RTLS Profile instance must have all the mandatory attributes like profile name. It can also have optional attributes. Only one of {aeroScout|ekahau|centrak|sonitor} should be populated.

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
required
string

Represents the Friendly Name of the RTLS profile
Validations : The name must be between 1 and 64 characters long.
Valid character set : Alphanumeric and .-_space characters

appId
required
string (RtlsApplicationId)
Enum: "AeroScout" "Ekahau" "Centrak" "Sonitor"
aeroScout
object (RtlsProfileAeroScoutElement)
ekahau
object (RtlsProfileEkahauElement)
centrak
object (RtlsProfileCentrakElement)
sonitor
object (RtlsProfileSonitorElement)

Responses

201

Newly created RtlsProfileElement instance

default

Error response

post /v1/rtlsprofile

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/rtlsprofile

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "e0550435-724a-4876-b40b-14a794b07c1b",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "Locator1",
  • "appId": "AeroScout",
  • "aeroScout":
    {
    },
  • "ekahau": null,
  • "centrak": null,
  • "sonitor": null
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "e0550435-724a-4876-b40b-14a794b07c1b",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "Locator1",
  • "appId": "AeroScout",
  • "aeroScout":
    {
    },
  • "ekahau": null,
  • "centrak": null,
  • "sonitor": null
}

Get RTLS profile with default values

Authorizations:

Responses

200

RtlsProfileElement object with attributes set to default values. The response has all three application elements populated: - AeroScout - Ekahau - Centrak - Sonitor

default

Error response

get /v1/rtlsprofile/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/rtlsprofile/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "e0550435-724a-4876-b40b-14a794b07c1b",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "Locator1",
  • "appId": "AeroScout",
  • "aeroScout":
    {
    },
  • "ekahau": null,
  • "centrak": null,
  • "sonitor": null
}

Get RTLS profile name mapped to ID

Authorizations:

Responses

200

Map with RTLS profile names and corresponding IDs

default

Error response

get /v1/rtlsprofile/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/rtlsprofile/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get RTLS profile by its ID

Authorizations:
path Parameters
rtlsprofileId
required
string <uuid>

A non-empty, valid RTLS Profile ID

Responses

200

RtlsProfileElement object with the given ID

default

Error response

get /v1/rtlsprofile/{rtlsprofileId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/rtlsprofile/{rtlsprofileId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "e0550435-724a-4876-b40b-14a794b07c1b",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "Locator1",
  • "appId": "AeroScout",
  • "aeroScout":
    {
    },
  • "ekahau": null,
  • "centrak": null,
  • "sonitor": null
}

Update RTLS profile by ID

Authorizations:
path Parameters
rtlsprofileId
required
string <uuid>

A non-empty, valid RTLS Profile ID

Request Body schema: application/json
custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
required
string

Represents the Friendly Name of the RTLS profile
Validations : The name must be between 1 and 64 characters long.
Valid character set : Alphanumeric and .-_space characters

appId
required
string (RtlsApplicationId)
Enum: "AeroScout" "Ekahau" "Centrak" "Sonitor"
aeroScout
object (RtlsProfileAeroScoutElement)
ekahau
object (RtlsProfileEkahauElement)
centrak
object (RtlsProfileCentrakElement)
sonitor
object (RtlsProfileSonitorElement)

Responses

200

The updated RtlsProfileElement instance

default

Error response

put /v1/rtlsprofile/{rtlsprofileId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/rtlsprofile/{rtlsprofileId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "e0550435-724a-4876-b40b-14a794b07c1b",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "Locator1",
  • "appId": "AeroScout",
  • "aeroScout":
    {
    },
  • "ekahau": null,
  • "centrak": null,
  • "sonitor": null
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "e0550435-724a-4876-b40b-14a794b07c1b",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "Locator1",
  • "appId": "AeroScout",
  • "aeroScout":
    {
    },
  • "ekahau": null,
  • "centrak": null,
  • "sonitor": null
}

Delete RTLS profile by ID

Authorizations:
path Parameters
rtlsprofileId
required
string

A non-empty, valid RTLS Profile ID to be deleted

Responses

200

RTLS profile deleted successfully

default

Error response

delete /v1/rtlsprofile/{rtlsprofileId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/rtlsprofile/{rtlsprofileId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

NotificationManager

Manage notifications.

Get list of all notification

Authorizations:

Responses

200
default

Error response

get /v1/notifications

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/notifications

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get list of notifications for a region

Authorizations:

Responses

200

List containing all notifications for the region

default

Error response

get /v1/notifications/regional

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/notifications/regional

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

PositioningManager

Create and manage positioning profiles.

Get list of all Positioning profiles

Authorizations:

Responses

200
default

Error response

get /v3/positioning

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/positioning

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new Positioning profile

Authorizations:
Request Body schema: application/json

A valid PositioningProfileElement instance.

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
string ^[a-zA-Z0-9._ -]{1,64}$
collection
string (Collection)
Enum: "Off" "ActiveClients" "AllClients"

Responses

201

Newly created PositioningProfileElement instance with the configured parameters

default

Error response

post /v3/positioning

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/positioning

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "a4000be9-bb08-4366-9dee-9e09cf2380a3",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "Thornhill56959",
  • "collection": "AllClients"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "a4000be9-bb08-4366-9dee-9e09cf2380a3",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "Thornhill56959",
  • "collection": "AllClients"
}

Get Positioning profile with default values

Authorizations:

Responses

200

PositioningProfileElement instance with attributes set to default values

default

Error response

get /v3/positioning/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/positioning/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "a4000be9-bb08-4366-9dee-9e09cf2380a3",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "Thornhill56959",
  • "collection": "AllClients"
}

Get Positioning profile name mapped to ID

Authorizations:

Responses

200

Map with Positioning profile names and corresponding IDs

default

Error response

get /v3/positioning/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/positioning/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get Positioning profile by ID

Authorizations:
path Parameters
positioningProfileId
required
string

A non-empty, valid Positioning ID

Responses

200

PositioningProfileElement instance with the given ID

default

Error response

get /v3/positioning/{positioningProfileId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/positioning/{positioningProfileId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "a4000be9-bb08-4366-9dee-9e09cf2380a3",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "Thornhill56959",
  • "collection": "AllClients"
}

Update a Positioning profile

Authorizations:
path Parameters
positioningProfileId
required
string

A non-empty, valid Positioning profile Id

Request Body schema: application/json

A valid PositioningProfileElement with the configured parameters

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
string ^[a-zA-Z0-9._ -]{1,64}$
collection
string (Collection)
Enum: "Off" "ActiveClients" "AllClients"

Responses

200

The updated Positioning profile

default

Error response

put /v3/positioning/{positioningProfileId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/positioning/{positioningProfileId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "a4000be9-bb08-4366-9dee-9e09cf2380a3",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "Thornhill56959",
  • "collection": "AllClients"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "a4000be9-bb08-4366-9dee-9e09cf2380a3",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "Thornhill56959",
  • "collection": "AllClients"
}

Delete a Positioning profile for a customer

Authorizations:
path Parameters
positioningProfileId
required
string

A non-empty, valid Positioning ID

Responses

200

Positioning profile deleted successfully

default

Error response

delete /v3/positioning/{positioningProfileId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/positioning/{positioningProfileId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

ProfileManager

Create and manage customer profiles.

Get list of all profiles for a customer

Authorizations:

Responses

200

List containing all the profiles

default

Error response

get /v3/profiles

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/profiles

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new profile

Authorizations:
Request Body schema: application/json

A non-empty, valid profile instance with the configured parameters. The instance must have the mandatory attributes profile name and apPlatform. It can also have optional attributes.

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
required
string ^[\\p{Print}&&[^\t\n\r;:&\\p{Cntrl}'\"]]{1,64}$

Profile name. It is required when creating a new resource with POST.

apPlatform
required
string

The AP platform of the profile. It is required when creating a new resource with POST.

roleIDs
Array of strings
radioIfList
Array of objects (InterfaceAssignmentElement)
wiredIfList
Array of objects (InterfaceAssignmentElement)
meshpointIfList
Array of objects (MeshpointAssignmentElement)
cbUser
string

Client Bridge user name. Used when 802.1x Client Bridge is enabled.

cbPassword
string

Client Bridge password. Used when the 802.1x Client Bridge is enabled.

usePolicyZoneName
boolean
secureTunnelMode
string (SecureTunnelMode)
Enum: "disabled" "control" "controlData" "debug"

Provides encryption, authentication, and key management between the AP and controller. Select the desired Secure Tunnel mode:

Disabled - Secure Tunnel is turned off and no traffic is encrypted. All SFTP/SSH/TFTP traffic works normally.

Control(deprecated) - if configure will be changed to controlData.

ControlData - Encrypt control and data traffic between AP and controller This mode only benefits routed/bridged Controller Topologies. An IPSEC tunnel is established from the AP to the controller and all SFTP/SSH/TFTP/WASSP control and data traffic is encrypted. The AP skips the registration and authentication phases, and when selected, the Secure Tunnel Lifetime feature can be configured.

Debug mode - An IPSEC tunnel is established from the AP to the controller, no traffic is encrypted, and all SFTP/SSH/TFTP traffic works normally. The AP skips the registration and authentication phases and when selected, the Secure Tunnel Lifetime.

Note: Changing a Secure Tunnel mode automatically disconnects and reconnects the AP.

secureTunnelLifetime
number

secureLifeTime: An interval (in hours) at which time the keys of the IPSEC tunnel are renegotiated.
Note: Changing the Secure Tunnel Lifetime setting will not cause an AP disruption.
Validations : A valid integer value, the range is 0 for forever, or between 24 and 3600 hours

secureTunnelAp
boolean
Deprecated

secure_tunnel_ap controls encryption of communication between different APs.

bandPreference
boolean
Deprecated
sessionPersistence
boolean
sshEnabled
boolean

Access to this field requires GTAC level privileges or higher. Full administrators cannot set this field. SSH access is only used by GTAC and higher level support teams.


This controls whether the AP enables its SSHD server. For release 1.0 SSHD is accessable if it is enabled and there is an unblocked route between the AP wired interface and the administrator's computer being used to log into the AP.

This is set to false by default.

airDefenseProfileId
string
xLocationProfileId
string
Deprecated
iotProfileId
string
rtlsProfileId
string <uuid>

ID of existing RTLS profile null if no RTLS profile is assigned

mtu
number
positioningProfileId
string
mgmtVlanId
number
mgmtVlanTagged
boolean
lag
boolean
Deprecated
ge2mode
string (Ge2Mode)
Enum: "Backup" "LAG" "Client" "Bridge"
usbPower
string (PwrLevel)
Enum: "Off" "Auto"
psePower
string (PwrLevel)
Enum: "Off" "Auto"
pollTimeout
integer [ 3 .. 600 ]
Default: 3
radios
Array of objects (ProfileRadioElement)

List of radios in the access point
Validations : Not null and non-empty list of RadioElements

apLogLevel
string (ApLogLevel)
Enum: "Emergencies" "Alerts" "Critical" "Errors" "Warnings" "Notifications" "Informational" "Debugging"
iotList
Array of objects (InterfaceAssignmentElement)
analyticsProfileId
string
wiredPorts
Array of objects (ProfileWiredPort)
sensorChList
Array of strings

List of channels for sensor mode.

sensorMode
string (SensorScanMode)
Enum: "Default" "Locked" "Custom"
clientBalancing
boolean
Default: false

Enable client balancing between APs

meshpoints
Array of objects (ProfileMeshpointElement)
ledStatus
string (LedStatus)
Default: "NORMAL"
Enum: "OFF" "IDENTITY" "NORMAL" "SOLID"

The state the AP LEDs. Can be read or written. Default value is "normal".

peapUsername
object (PeapElement)

PEAP element.

peapPassword
object (PeapElement)

PEAP element.

faAuthKey
string ^[^\t?`"\\]{0,32}$
Default: ""

Fabric Attach authentication key. An empty string means use the default value

enforcePkiAuth
boolean
Default: false

Restricted tunnel establishment for AP with CA certificates only.

cbRssThreshold
integer [ -128 .. -40 ]
Default: -70

Client Bridge RSS threshold for reconnecting to root AP

smartPoll
object (SmartPollElement)

Smart poll element

additionalTopologyIDs
Array of strings <uuid>

Additional topologies assigned directly to Profile.

bandSteeringServiceIds
Array of strings <uuid>

List of WLAN IDs with band steering enabled

Responses

200

Newly created ProfileElement instance

default

Error response

post /v3/profiles

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/profiles

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "41f88f5a-f0c0-11e7-8c3f-9a214cf09306",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "AP3912-default",
  • "apPlatform": "AP3912",
  • "roleIDs":
    [
    ],
  • "radioIfList":
    [
    ],
  • "bandSteeringServiceIds":
    [
    ],
  • "wiredIfList":
    [
    ],
  • "meshpointIfList":
    [
    ],
  • "usePolicyZoneName": false,
  • "secureTunnelMode": "controlData",
  • "secureTunnelLifetime": 0,
  • "secureTunnelAp": false,
  • "bandPreference": false,
  • "sessionPersistence": false,
  • "sshEnabled": true,
  • "airDefenseProfileId": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "iotProfileId": "998be9ac-6ed7-45f2-aa47-3254ea8dacb6",
  • "rtlsProfileId": "e0550435-724a-4876-b40b-14a794b07c1b",
  • "mtu": 1500,
  • "positioningProfileId": "42d13c51-4d9c-41da-874d-60e4f832d894",
  • "mgmtVlanId": 1,
  • "mgmtVlanTagged": false,
  • "lag": false,
  • "ge2mode": "Backup",
  • "usbPower": "Off",
  • "psePower": "Off",
  • "radios":
    [
    ],
  • "apLogLevel": "Informational",
  • "iotList": [ ],
  • "analyticsProfileId": "c37ec03c-7470-43c5-84bd-2f00ec3c17bf",
  • "features":
    [
    ],
  • "wiredPorts":
    [
    ],
  • "sensorChList": [ ],
  • "sensorMode": "Default",
  • "clientBalancing": false,
  • "meshpoints":
    [
    ],
  • "ledStatus": "NORMAL",
  • "faAuthKey": "testkeyvalue123"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "41f88f5a-f0c0-11e7-8c3f-9a214cf09306",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "AP3912-default",
  • "apPlatform": "AP3912",
  • "roleIDs":
    [
    ],
  • "radioIfList":
    [
    ],
  • "bandSteeringServiceIds":
    [
    ],
  • "wiredIfList":
    [
    ],
  • "meshpointIfList":
    [
    ],
  • "usePolicyZoneName": false,
  • "secureTunnelMode": "controlData",
  • "secureTunnelLifetime": 0,
  • "secureTunnelAp": false,
  • "bandPreference": false,
  • "sessionPersistence": false,
  • "sshEnabled": true,
  • "airDefenseProfileId": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "iotProfileId": "998be9ac-6ed7-45f2-aa47-3254ea8dacb6",
  • "rtlsProfileId": "e0550435-724a-4876-b40b-14a794b07c1b",
  • "mtu": 1500,
  • "positioningProfileId": "42d13c51-4d9c-41da-874d-60e4f832d894",
  • "mgmtVlanId": 1,
  • "mgmtVlanTagged": false,
  • "lag": false,
  • "ge2mode": "Backup",
  • "usbPower": "Off",
  • "psePower": "Off",
  • "radios":
    [
    ],
  • "apLogLevel": "Informational",
  • "iotList": [ ],
  • "analyticsProfileId": "c37ec03c-7470-43c5-84bd-2f00ec3c17bf",
  • "features":
    [
    ],
  • "wiredPorts":
    [
    ],
  • "sensorChList": [ ],
  • "sensorMode": "Default",
  • "clientBalancing": false,
  • "meshpoints":
    [
    ],
  • "ledStatus": "NORMAL",
  • "faAuthKey": "testkeyvalue123"
}

Create a new profile

Authorizations:
Request Body schema: application/json

A non-empty, valid profile instance with the configured parameters. The instance must have the mandatory attributes profile name and apPlatform.

name
required
string ^[\\p{Print}&&[^\t\n\r;:&\\p{Cntrl}'\"]]{1,64}$

Profile name. It is required when creating a new resource with POST.

apPlatform
required
string

The AP platform of the profile. It is required when creating a new resource with POST.

Responses

200

Newly created ProfileElement instance

default

Error response

post /v4/profiles/

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v4/profiles/

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "apPlatform": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "41f88f5a-f0c0-11e7-8c3f-9a214cf09306",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "AP3912-default",
  • "apPlatform": "AP3912",
  • "roleIDs":
    [
    ],
  • "radioIfList":
    [
    ],
  • "bandSteeringServiceIds":
    [
    ],
  • "wiredIfList":
    [
    ],
  • "meshpointIfList":
    [
    ],
  • "usePolicyZoneName": false,
  • "secureTunnelMode": "controlData",
  • "secureTunnelLifetime": 0,
  • "secureTunnelAp": false,
  • "bandPreference": false,
  • "sessionPersistence": false,
  • "sshEnabled": true,
  • "airDefenseProfileId": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "iotProfileId": "998be9ac-6ed7-45f2-aa47-3254ea8dacb6",
  • "rtlsProfileId": "e0550435-724a-4876-b40b-14a794b07c1b",
  • "mtu": 1500,
  • "positioningProfileId": "42d13c51-4d9c-41da-874d-60e4f832d894",
  • "mgmtVlanId": 1,
  • "mgmtVlanTagged": false,
  • "lag": false,
  • "ge2mode": "Backup",
  • "usbPower": "Off",
  • "psePower": "Off",
  • "radios":
    [
    ],
  • "apLogLevel": "Informational",
  • "iotList": [ ],
  • "analyticsProfileId": "c37ec03c-7470-43c5-84bd-2f00ec3c17bf",
  • "features":
    [
    ],
  • "wiredPorts":
    [
    ],
  • "sensorChList": [ ],
  • "sensorMode": "Default",
  • "clientBalancing": false,
  • "meshpoints":
    [
    ],
  • "ledStatus": "NORMAL",
  • "faAuthKey": "testkeyvalue123"
}

Clone a profile

Authorizations:
path Parameters
profileId
required
string

A non-empty, valid ID

query Parameters
newProfileName
string ^[\\p{Print}&&[^\t\n\r;:&\\p{Cntrl}'\"]]{1,64}$

A non-empty, valid names for the new profile

Responses

200

Profile cloned successfully

default

Error response

post /v3/profiles/{profileId}/clone

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/profiles/{profileId}/clone

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get profile names mapped to IDs

Authorizations:

Responses

200

Map with profile names and corresponding IDs

default

Error response

get /v3/profiles/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/profiles/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get a profile by its ID

Authorizations:
path Parameters
profileId
required
string <uuid>

Responses

200

A profile instance with the given uuid

default

Error response

get /v3/profiles/{profileId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/profiles/{profileId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "41f88f5a-f0c0-11e7-8c3f-9a214cf09306",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "AP3912-default",
  • "apPlatform": "AP3912",
  • "roleIDs":
    [
    ],
  • "radioIfList":
    [
    ],
  • "bandSteeringServiceIds":
    [
    ],
  • "wiredIfList":
    [
    ],
  • "meshpointIfList":
    [
    ],
  • "usePolicyZoneName": false,
  • "secureTunnelMode": "controlData",
  • "secureTunnelLifetime": 0,
  • "secureTunnelAp": false,
  • "bandPreference": false,
  • "sessionPersistence": false,
  • "sshEnabled": true,
  • "airDefenseProfileId": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "iotProfileId": "998be9ac-6ed7-45f2-aa47-3254ea8dacb6",
  • "rtlsProfileId": "e0550435-724a-4876-b40b-14a794b07c1b",
  • "mtu": 1500,
  • "positioningProfileId": "42d13c51-4d9c-41da-874d-60e4f832d894",
  • "mgmtVlanId": 1,
  • "mgmtVlanTagged": false,
  • "lag": false,
  • "ge2mode": "Backup",
  • "usbPower": "Off",
  • "psePower": "Off",
  • "radios":
    [
    ],
  • "apLogLevel": "Informational",
  • "iotList": [ ],
  • "analyticsProfileId": "c37ec03c-7470-43c5-84bd-2f00ec3c17bf",
  • "features":
    [
    ],
  • "wiredPorts":
    [
    ],
  • "sensorChList": [ ],
  • "sensorMode": "Default",
  • "clientBalancing": false,
  • "meshpoints":
    [
    ],
  • "ledStatus": "NORMAL",
  • "faAuthKey": "testkeyvalue123"
}

Update a profile by its ID

Authorizations:
path Parameters
profileId
required
string <uuid>
Request Body schema: application/json
custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
required
string ^[\\p{Print}&&[^\t\n\r;:&\\p{Cntrl}'\"]]{1,64}$

Profile name. It is required when creating a new resource with POST.

apPlatform
required
string

The AP platform of the profile. It is required when creating a new resource with POST.

roleIDs
Array of strings
radioIfList
Array of objects (InterfaceAssignmentElement)
wiredIfList
Array of objects (InterfaceAssignmentElement)
meshpointIfList
Array of objects (MeshpointAssignmentElement)
cbUser
string

Client Bridge user name. Used when 802.1x Client Bridge is enabled.

cbPassword
string

Client Bridge password. Used when the 802.1x Client Bridge is enabled.

usePolicyZoneName
boolean
secureTunnelMode
string (SecureTunnelMode)
Enum: "disabled" "control" "controlData" "debug"

Provides encryption, authentication, and key management between the AP and controller. Select the desired Secure Tunnel mode:

Disabled - Secure Tunnel is turned off and no traffic is encrypted. All SFTP/SSH/TFTP traffic works normally.

Control(deprecated) - if configure will be changed to controlData.

ControlData - Encrypt control and data traffic between AP and controller This mode only benefits routed/bridged Controller Topologies. An IPSEC tunnel is established from the AP to the controller and all SFTP/SSH/TFTP/WASSP control and data traffic is encrypted. The AP skips the registration and authentication phases, and when selected, the Secure Tunnel Lifetime feature can be configured.

Debug mode - An IPSEC tunnel is established from the AP to the controller, no traffic is encrypted, and all SFTP/SSH/TFTP traffic works normally. The AP skips the registration and authentication phases and when selected, the Secure Tunnel Lifetime.

Note: Changing a Secure Tunnel mode automatically disconnects and reconnects the AP.

secureTunnelLifetime
number

secureLifeTime: An interval (in hours) at which time the keys of the IPSEC tunnel are renegotiated.
Note: Changing the Secure Tunnel Lifetime setting will not cause an AP disruption.
Validations : A valid integer value, the range is 0 for forever, or between 24 and 3600 hours

secureTunnelAp
boolean
Deprecated

secure_tunnel_ap controls encryption of communication between different APs.

bandPreference
boolean
Deprecated
sessionPersistence
boolean
sshEnabled
boolean

Access to this field requires GTAC level privileges or higher. Full administrators cannot set this field. SSH access is only used by GTAC and higher level support teams.


This controls whether the AP enables its SSHD server. For release 1.0 SSHD is accessable if it is enabled and there is an unblocked route between the AP wired interface and the administrator's computer being used to log into the AP.

This is set to false by default.

airDefenseProfileId
string
xLocationProfileId
string
Deprecated
iotProfileId
string
rtlsProfileId
string <uuid>

ID of existing RTLS profile null if no RTLS profile is assigned

mtu
number
positioningProfileId
string
mgmtVlanId
number
mgmtVlanTagged
boolean
lag
boolean
Deprecated
ge2mode
string (Ge2Mode)
Enum: "Backup" "LAG" "Client" "Bridge"
usbPower
string (PwrLevel)
Enum: "Off" "Auto"
psePower
string (PwrLevel)
Enum: "Off" "Auto"
pollTimeout
integer [ 3 .. 600 ]
Default: 3
radios
Array of objects (ProfileRadioElement)

List of radios in the access point
Validations : Not null and non-empty list of RadioElements

apLogLevel
string (ApLogLevel)
Enum: "Emergencies" "Alerts" "Critical" "Errors" "Warnings" "Notifications" "Informational" "Debugging"
iotList
Array of objects (InterfaceAssignmentElement)
analyticsProfileId
string
wiredPorts
Array of objects (ProfileWiredPort)
sensorChList
Array of strings

List of channels for sensor mode.

sensorMode
string (SensorScanMode)
Enum: "Default" "Locked" "Custom"
clientBalancing
boolean
Default: false

Enable client balancing between APs

meshpoints
Array of objects (ProfileMeshpointElement)
ledStatus
string (LedStatus)
Default: "NORMAL"
Enum: "OFF" "IDENTITY" "NORMAL" "SOLID"

The state the AP LEDs. Can be read or written. Default value is "normal".

peapUsername
object (PeapElement)

PEAP element.

peapPassword
object (PeapElement)

PEAP element.

faAuthKey
string ^[^\t?`"\\]{0,32}$
Default: ""

Fabric Attach authentication key. An empty string means use the default value

enforcePkiAuth
boolean
Default: false

Restricted tunnel establishment for AP with CA certificates only.

cbRssThreshold
integer [ -128 .. -40 ]
Default: -70

Client Bridge RSS threshold for reconnecting to root AP

smartPoll
object (SmartPollElement)

Smart poll element

additionalTopologyIDs
Array of strings <uuid>

Additional topologies assigned directly to Profile.

bandSteeringServiceIds
Array of strings <uuid>

List of WLAN IDs with band steering enabled

Responses

200

The updated ProfileElement instance

default

Error response

put /v3/profiles/{profileId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/profiles/{profileId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "41f88f5a-f0c0-11e7-8c3f-9a214cf09306",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "AP3912-default",
  • "apPlatform": "AP3912",
  • "roleIDs":
    [
    ],
  • "radioIfList":
    [
    ],
  • "bandSteeringServiceIds":
    [
    ],
  • "wiredIfList":
    [
    ],
  • "meshpointIfList":
    [
    ],
  • "usePolicyZoneName": false,
  • "secureTunnelMode": "controlData",
  • "secureTunnelLifetime": 0,
  • "secureTunnelAp": false,
  • "bandPreference": false,
  • "sessionPersistence": false,
  • "sshEnabled": true,
  • "airDefenseProfileId": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "iotProfileId": "998be9ac-6ed7-45f2-aa47-3254ea8dacb6",
  • "rtlsProfileId": "e0550435-724a-4876-b40b-14a794b07c1b",
  • "mtu": 1500,
  • "positioningProfileId": "42d13c51-4d9c-41da-874d-60e4f832d894",
  • "mgmtVlanId": 1,
  • "mgmtVlanTagged": false,
  • "lag": false,
  • "ge2mode": "Backup",
  • "usbPower": "Off",
  • "psePower": "Off",
  • "radios":
    [
    ],
  • "apLogLevel": "Informational",
  • "iotList": [ ],
  • "analyticsProfileId": "c37ec03c-7470-43c5-84bd-2f00ec3c17bf",
  • "features":
    [
    ],
  • "wiredPorts":
    [
    ],
  • "sensorChList": [ ],
  • "sensorMode": "Default",
  • "clientBalancing": false,
  • "meshpoints":
    [
    ],
  • "ledStatus": "NORMAL",
  • "faAuthKey": "testkeyvalue123"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "41f88f5a-f0c0-11e7-8c3f-9a214cf09306",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "AP3912-default",
  • "apPlatform": "AP3912",
  • "roleIDs":
    [
    ],
  • "radioIfList":
    [
    ],
  • "bandSteeringServiceIds":
    [
    ],
  • "wiredIfList":
    [
    ],
  • "meshpointIfList":
    [
    ],
  • "usePolicyZoneName": false,
  • "secureTunnelMode": "controlData",
  • "secureTunnelLifetime": 0,
  • "secureTunnelAp": false,
  • "bandPreference": false,
  • "sessionPersistence": false,
  • "sshEnabled": true,
  • "airDefenseProfileId": "5c9005a8-18bf-44f8-803b-30c09c1cfebe",
  • "iotProfileId": "998be9ac-6ed7-45f2-aa47-3254ea8dacb6",
  • "rtlsProfileId": "e0550435-724a-4876-b40b-14a794b07c1b",
  • "mtu": 1500,
  • "positioningProfileId": "42d13c51-4d9c-41da-874d-60e4f832d894",
  • "mgmtVlanId": 1,
  • "mgmtVlanTagged": false,
  • "lag": false,
  • "ge2mode": "Backup",
  • "usbPower": "Off",
  • "psePower": "Off",
  • "radios":
    [
    ],
  • "apLogLevel": "Informational",
  • "iotList": [ ],
  • "analyticsProfileId": "c37ec03c-7470-43c5-84bd-2f00ec3c17bf",
  • "features":
    [
    ],
  • "wiredPorts":
    [
    ],
  • "sensorChList": [ ],
  • "sensorMode": "Default",
  • "clientBalancing": false,
  • "meshpoints":
    [
    ],
  • "ledStatus": "NORMAL",
  • "faAuthKey": "testkeyvalue123"
}

Delete a profile by its ID

Authorizations:
path Parameters
profileId
required
string

Responses

200

Profile deleted successfully

default

Error response

delete /v3/profiles/{profileId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/profiles/{profileId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get list of channels supported by profile radios

Authorizations:
path Parameters
profileId
required
string <uuid>
query Parameters
radioMode
required
string (RadioMode)
Enum: "sensor" "b" "g" "bg" "gn" "bgn" "gnstrict" "gnx" "a" "an" "anstrict" "anc" "acstrict" "ancx" "ax6" "bridge"
Example: radioMode=sensor

Radio modes of profile radios. The first mode corresponds to radio1, the second mode corresponds to radio2, etc. Example: .../channels?radioMode=anc,gn

Responses

200

List of supported channels for each radio for the specified profile

default

Error response

get /v3/profiles/{profileId}/channels

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/profiles/{profileId}/channels

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get service IDs that are assigned to the primary BSSID. Removing these services may cause a radio reset.

Authorizations:
path Parameters
profileId
required
string <uuid>

Responses

200

List of primary BSSIDs per radio

default

Error response

get /v3/profiles/{profileId}/bssid0

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/profiles/{profileId}/bssid0

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

RadioManager

Retrieve radio mode information.

Get channels for a radio mode and channel width

Authorizations:
query Parameters
channelWidth
string (ChannelWidth)
Enum: "Ch1Width_20MHz" "Ch1Width_40MHz" "Ch1Width_Auto" "Ch1Width_80MHz" "Ch1Width_160MHz" "Auto"
Example: channelWidth=Ch1Width_20MHz

Channel width of the requested channel list

country
string (Country)
Enum: "AFGHANISTAN" "ALBANIA" "ALGERIA" "AMERICAN_SAMOA" "ANDORRA" "ANGOLA" "ANGUILLA" "ANTARCTICA" "ANTIGUA_BARBUDA" "ARGENTINA" "ARMENIA" "ARUBA" "AUSTRALIA" "AUSTRIA" "AZERBAIJAN" "BAHAMAS" "BAHRAIN" "BANGLADESH" "BARBADOS" "BELARUS" "BELGIUM" "BELIZE" "BENIN" "BERMUDA" "BHUTAN" "BOLIVIA" "BOSNIA_HERZEGOVINA" "BOTSWANA" "BOUVET_ISLAND" "BRAZIL" "BRITISH_INDIAN_OCEAN_TERRITORY" "BRUNEI_DARUSSALAM" "BULGARIA" "BURKINA_FASO" "BURUNDI" "CAMBODIA" "CAMEROON" "CANADA" "CAPE_VERDE" "CAYMAN_ISLANDS" "CENTRAL_AFRICAN_REPUBLIC" "CHAD" "CHILE" "CHINA" "CHRISTMAS_ISLAND" "COCOS_KEELING_ISLANDS" "COLOMBIA" "COMOROS" "CONGO" "CONGO_THE_DRC" "COOK_ISLANDS" "COSTA_RICA" "IVORY_COAST" "CROATIA" "CUBA" "CURACAO" "CYPRUS" "CZECH" "DENMARK" "DJIBOUTI" "DOMINICA" "DOMINICAN" "EAST_TIMOR" "ECUADOR" "EGYPT" "EL_SALVADOR" "EQUATORIAL_GUINEA" "ERITREA" "ESTONIA" "ETHIOPIA" "FALKLAND_ISLANDS_MALVINAS" "FAEROE_ISLANDS" "FIJI" "FINLAND" "FRANCE" "FRANCE_METROPOLITAN" "FRENCH_GUIANA" "FRENCH_POLYNESIA" "FRENCH_SOUTHERN_TERRITORIES" "GABON" "GAMBIA" "GEORGIA" "GERMANY" "GHANA" "GIBRALTAR" "GREECE" "GREENLAND" "GRENADA" "GUADELOUPE" "GUAM" "GUATEMALA" "GUINEA" "GUINEA_BISSAU" "GUYANA" "HAITI" "HEARD_AND_MC_DONALD_ISLANDS" "VATICAN" "HONDURAS" "HONG_KONG" "HUNGARY" "ICELAND" "INDIA" "INDONESIA" "IRAN" "IRAQ" "IRELAND" "ISRAEL" "ITALY" "JAMAICA" "JAPAN" "JORDAN" "KAZAKHSTAN" "KENYA" "KIRIBATI" "KOREA_NORTH" "KOREA" "KOSOVO" "KUWAIT" "KYRGYZSTAN" "LAOS" "LATVIA" "LEBANON" "LESOTHO" "LIBERIA" "LIBYA" "LIECHTENSTEIN" "LITHUANIA" "LUXEMBOURG" "MACAU" "MACAULL" "MACEDONIA" "MADAGASCAR" "MALAWI" "MALAYSIA" "MALDIVES" "MALI" "MALTA" "MARSHALL_ISLANDS" "MARTINIQUE" "MAURITANIA" "MAURITIUS" "MAYOTTE" "MEXICO" "MICRONESIA_FEDERATED_STATES_OF" "MOLDOVA_REPUBLIC_OF" "MONACO" "MONGOLIA" "MONTENEGRO" "MONTSERRAT" "MOROCCO" "MOZAMIBIQUE" "MYANMAR_BURMA" "NAMIBIA" "NAURU" "NEPAL" "NETHERLANDS" "NEW_CALEDONIA" "NEW_ZEALAND" "NICARAGUA" "NIGER" "NIGERIA" "NIUE" "NORFOLK_ISLAND" "NORTHERN_MARIANA_ISLANDS" "NORWAY" "OMAN" "PAKISTAN" "PALAU" "PANAMA" "PAPUA_NEW_GUINEA" "PARAGUAY" "PERU" "PHILIPPINES" "PITCAIRN" "POLAND" "PORTUGAL" "PUERTO_RICO" "QATAR" "REUNION" "ROMANIA" "RUSSIA" "RWANDA" "SAINT_KITTS_AND_NEVIS" "SAINT_LUCIA" "SAINT_VINCENT_AND_THE_GRENADINES" "SAMOA" "SAN_MARINO" "SAO_TOME_AND_PRINCIPE" "SAUDI_ARABIA" "SENEGAL" "SERBIA" "SERBIA_MONTENEGRO" "SEYCHELLES" "SIERRA_LEONE" "SINGAPORE" "SLOVAKIA" "SLOVENIA" "SOLOMON_ISLANDS" "SOMALIA" "SOUTH_AFRICA" "SOUTH_GEORGIA_AND_SOUTH_SS" "SOUTH_SUDAN" "SPAIN" "SRI_LANKA" "ST_HELENA" "ST_PIERRE_AND_MIQUELON" "SUDAN" "SURINAME" "SVALBARD_AND_JAN_MAYEN_ISLANDS" "SWAZILAND" "SWEDEN" "SWITZERLAND" "SYRIA" "TAIWAN" "TAJIKISTAN" "TANZANIA_UNITED_REPUBLIC_OF" "THAILAND" "TOGO" "TOKELAU" "TONGA" "TRINIDAD_AND_TOBAGO" "TUNISIA" "TURKEY" "TURKMENISTAN" "TURKS_AND_CAICOS_ISLANDS" "TUVALU" "UGANDA" "UKRAINE" "UAE" "UNITED_KINGDOM" "UNITED_STATES" "URUGUAY" "US_MINOR_ISLANDS" "UZBEKISTAN" "VANUATU" "VENEZUELA" "VIETNAM" "VIRGIN_ISLANDS_BRITISH" "VIRGIN_ISLANDS_US" "WALLIS_AND_FUTUNA_ISLANDS" "WESTERN_SAHARA" "YEMEN" "ZAMBIA" "ZIMBABWE" "DEBUG" "DEMO" "NETHERLANDS_ANTILLES"
Example: country=UNITED_STATES

Country

radioMode
string (RadioMode)
Enum: "sensor" "b" "g" "bg" "gn" "bgn" "gnstrict" "gnx" "a" "an" "anstrict" "anc" "acstrict" "ancx" "ax6" "bridge"
Example: radioMode=sensor

Radio mode of the requested channel list

sn
string
txbf
boolean

Boolean to indicate txBf of the request

radioIndex
integer (RadioIndex) [ 1 .. 3 ]
Example: radioIndex=1

Optional radio index of the request. When radioIndex is not provided, it is derived from radioMode. For APs with dual-band radios, both radios can use the same radio mode, while allowing different channels and maximum Tx power. For example, the AP510 can operate both radios on the 5 GHz band. In this case, radioIndex=1 allows channels 36 to 64, and radioIndex=2 allows channels 100 to 165.

ocs
boolean
Default: false

Optional indication that the requested list of channels will be used for the Off Channel Scanning (OCS) list. The response will include a list of all channels with all supported channel widths.

sensor
boolean
Default: false

Optional indication that the requested list of channels will be used for the sensor channel list. The response will include a list of all channels for all radios with all supported channel widths. radioIndex is ignored.

Responses

200

ChannelListElement instance with channel max power and list of channels

default

Error response

get /v1/radios/channels

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/radios/channels

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "minTxPower": -1,
  • "channelList":
    [
    ]
}

Get radio mode for a radio index

Authorizations:
query Parameters
country
string (Country)
Deprecated
Enum: "AFGHANISTAN" "ALBANIA" "ALGERIA" "AMERICAN_SAMOA" "ANDORRA" "ANGOLA" "ANGUILLA" "ANTARCTICA" "ANTIGUA_BARBUDA" "ARGENTINA" "ARMENIA" "ARUBA" "AUSTRALIA" "AUSTRIA" "AZERBAIJAN" "BAHAMAS" "BAHRAIN" "BANGLADESH" "BARBADOS" "BELARUS" "BELGIUM" "BELIZE" "BENIN" "BERMUDA" "BHUTAN" "BOLIVIA" "BOSNIA_HERZEGOVINA" "BOTSWANA" "BOUVET_ISLAND" "BRAZIL" "BRITISH_INDIAN_OCEAN_TERRITORY" "BRUNEI_DARUSSALAM" "BULGARIA" "BURKINA_FASO" "BURUNDI" "CAMBODIA" "CAMEROON" "CANADA" "CAPE_VERDE" "CAYMAN_ISLANDS" "CENTRAL_AFRICAN_REPUBLIC" "CHAD" "CHILE" "CHINA" "CHRISTMAS_ISLAND" "COCOS_KEELING_ISLANDS" "COLOMBIA" "COMOROS" "CONGO" "CONGO_THE_DRC" "COOK_ISLANDS" "COSTA_RICA" "IVORY_COAST" "CROATIA" "CUBA" "CURACAO" "CYPRUS" "CZECH" "DENMARK" "DJIBOUTI" "DOMINICA" "DOMINICAN" "EAST_TIMOR" "ECUADOR" "EGYPT" "EL_SALVADOR" "EQUATORIAL_GUINEA" "ERITREA" "ESTONIA" "ETHIOPIA" "FALKLAND_ISLANDS_MALVINAS" "FAEROE_ISLANDS" "FIJI" "FINLAND" "FRANCE" "FRANCE_METROPOLITAN" "FRENCH_GUIANA" "FRENCH_POLYNESIA" "FRENCH_SOUTHERN_TERRITORIES" "GABON" "GAMBIA" "GEORGIA" "GERMANY" "GHANA" "GIBRALTAR" "GREECE" "GREENLAND" "GRENADA" "GUADELOUPE" "GUAM" "GUATEMALA" "GUINEA" "GUINEA_BISSAU" "GUYANA" "HAITI" "HEARD_AND_MC_DONALD_ISLANDS" "VATICAN" "HONDURAS" "HONG_KONG" "HUNGARY" "ICELAND" "INDIA" "INDONESIA" "IRAN" "IRAQ" "IRELAND" "ISRAEL" "ITALY" "JAMAICA" "JAPAN" "JORDAN" "KAZAKHSTAN" "KENYA" "KIRIBATI" "KOREA_NORTH" "KOREA" "KOSOVO" "KUWAIT" "KYRGYZSTAN" "LAOS" "LATVIA" "LEBANON" "LESOTHO" "LIBERIA" "LIBYA" "LIECHTENSTEIN" "LITHUANIA" "LUXEMBOURG" "MACAU" "MACAULL" "MACEDONIA" "MADAGASCAR" "MALAWI" "MALAYSIA" "MALDIVES" "MALI" "MALTA" "MARSHALL_ISLANDS" "MARTINIQUE" "MAURITANIA" "MAURITIUS" "MAYOTTE" "MEXICO" "MICRONESIA_FEDERATED_STATES_OF" "MOLDOVA_REPUBLIC_OF" "MONACO" "MONGOLIA" "MONTENEGRO" "MONTSERRAT" "MOROCCO" "MOZAMIBIQUE" "MYANMAR_BURMA" "NAMIBIA" "NAURU" "NEPAL" "NETHERLANDS" "NEW_CALEDONIA" "NEW_ZEALAND" "NICARAGUA" "NIGER" "NIGERIA" "NIUE" "NORFOLK_ISLAND" "NORTHERN_MARIANA_ISLANDS" "NORWAY" "OMAN" "PAKISTAN" "PALAU" "PANAMA" "PAPUA_NEW_GUINEA" "PARAGUAY" "PERU" "PHILIPPINES" "PITCAIRN" "POLAND" "PORTUGAL" "PUERTO_RICO" "QATAR" "REUNION" "ROMANIA" "RUSSIA" "RWANDA" "SAINT_KITTS_AND_NEVIS" "SAINT_LUCIA" "SAINT_VINCENT_AND_THE_GRENADINES" "SAMOA" "SAN_MARINO" "SAO_TOME_AND_PRINCIPE" "SAUDI_ARABIA" "SENEGAL" "SERBIA" "SERBIA_MONTENEGRO" "SEYCHELLES" "SIERRA_LEONE" "SINGAPORE" "SLOVAKIA" "SLOVENIA" "SOLOMON_ISLANDS" "SOMALIA" "SOUTH_AFRICA" "SOUTH_GEORGIA_AND_SOUTH_SS" "SOUTH_SUDAN" "SPAIN" "SRI_LANKA" "ST_HELENA" "ST_PIERRE_AND_MIQUELON" "SUDAN" "SURINAME" "SVALBARD_AND_JAN_MAYEN_ISLANDS" "SWAZILAND" "SWEDEN" "SWITZERLAND" "SYRIA" "TAIWAN" "TAJIKISTAN" "TANZANIA_UNITED_REPUBLIC_OF" "THAILAND" "TOGO" "TOKELAU" "TONGA" "TRINIDAD_AND_TOBAGO" "TUNISIA" "TURKEY" "TURKMENISTAN" "TURKS_AND_CAICOS_ISLANDS" "TUVALU" "UGANDA" "UKRAINE" "UAE" "UNITED_KINGDOM" "UNITED_STATES" "URUGUAY" "US_MINOR_ISLANDS" "UZBEKISTAN" "VANUATU" "VENEZUELA" "VIETNAM" "VIRGIN_ISLANDS_BRITISH" "VIRGIN_ISLANDS_US" "WALLIS_AND_FUTUNA_ISLANDS" "WESTERN_SAHARA" "YEMEN" "ZAMBIA" "ZIMBABWE" "DEBUG" "DEMO" "NETHERLANDS_ANTILLES"
Example: country=UNITED_STATES

Country

hwType
string
Deprecated

Hardware Type

radioIndex
integer (RadioIndex) [ 1 .. 3 ]
Example: radioIndex=1

Radio index of the radio mode request

sn
string

Responses

200

RadioModeElement instance with the radio mode and its channel width list

default

Error response

get /v1/radios/modes

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/radios/modes

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "channelPlanList": null,
  • "radioModeList":
    [
    ]
}

Get smartrfchannels for the given radio band type

Authorizations:
query Parameters
radioBand
string (RadioBand)
Enum: "Band5" "Band6" "Band24" "BandNONE"
Example: radioBand=Band5

Responses

200

ChannelListElement instance with channel max power and list of channels

default

Error response

get /v3/radios/smartrfchannels

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/radios/smartrfchannels

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "minTxPower": -1,
  • "channelList":
    [
    ]
}

RateLimiterManager

Create and manage rate limiter configuration.

Get list of rate limiters for a customer

Authorizations:

Responses

200

List containing all the RateLimiter elements.

default

Error response

get /v1/ratelimiters

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/ratelimiters

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new rate limiter for an access point

Authorizations:
Request Body schema: application/json

A valid PolicyRateLimiterElement instance

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
required
string

The rate limiter's unique identifier.
Validations : The name must be a not null and non-empty string between 1 and 64 characters long.
Valid character set : Alphanumeric, special characters except semi-colon, colon, and ampersand

cirKbps
required
number

The rate limiter's average rate (CIR) expressed in kbps. Must be a positive integer.


Validations : The value must be between 128 and 25000, or 0 Kbps for unlimited.

Responses

201

Newly created PolicyRateLimiterElement instance with the configured parameters

default

Error response

post /v1/ratelimiters

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/ratelimiters

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "75b777e6-0557-11e9-99f4-000c29a7fe8f",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "aaa",
  • "cirKbps": 25000
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "75b777e6-0557-11e9-99f4-000c29a7fe8f",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "aaa",
  • "cirKbps": 25000
}

Get a rate limiter with default values

Authorizations:

Responses

200

PolicyRateLimiterElement instance with attributes set with default values

default

Error response

get /v1/ratelimiters/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/ratelimiters/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "75b777e6-0557-11e9-99f4-000c29a7fe8f",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "aaa",
  • "cirKbps": 25000
}

Get rate limiter names mapped to ID

Authorizations:

Responses

200

Map with rate limiter names and corresponding IDs

default

Error response

get /v1/ratelimiters/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/ratelimiters/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get a rate limiter by ID

Authorizations:
path Parameters
rateLimiterId
required
string

A non-empty, valid RateLimiter Id

Responses

200

PolicyRateLimiterElement instance with the given ID

default

Error response

get /v1/ratelimiters/{rateLimiterId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/ratelimiters/{rateLimiterId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "75b777e6-0557-11e9-99f4-000c29a7fe8f",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "aaa",
  • "cirKbps": 25000
}

Update a rate limiter by ID

Authorizations:
path Parameters
rateLimiterId
required
string

A non-empty, valid RateLimiter Id

Request Body schema: application/json

A valid PolicyRateLimiterElement with the configured parameters

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
required
string

The rate limiter's unique identifier.
Validations : The name must be a not null and non-empty string between 1 and 64 characters long.
Valid character set : Alphanumeric, special characters except semi-colon, colon, and ampersand

cirKbps
required
number

The rate limiter's average rate (CIR) expressed in kbps. Must be a positive integer.


Validations : The value must be between 128 and 25000, or 0 Kbps for unlimited.

Responses

200

The updated PolicyRateLimiterElement

default

Error response

put /v1/ratelimiters/{rateLimiterId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/ratelimiters/{rateLimiterId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "75b777e6-0557-11e9-99f4-000c29a7fe8f",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "aaa",
  • "cirKbps": 25000
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "75b777e6-0557-11e9-99f4-000c29a7fe8f",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "aaa",
  • "cirKbps": 25000
}

Delete a rate limiter for a customer

Authorizations:
path Parameters
rateLimiterId
required
string

A non-empty, valid RateLimiter Id

Responses

200

Rate limiter deleted successfully

default

Error response

delete /v1/ratelimiters/{rateLimiterId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/ratelimiters/{rateLimiterId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

ReportTemplateManager

Create and manage PDF/CSV templates used to generate reports.

Get a list of report templates.

Authorizations:

Responses

200

Returns a list of report template elements for the customer or an empty list if there are no associated templates.

default

Error response

get /v1/reports/templates

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/reports/templates

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new report template

Authorizations:
Request Body schema: application/json

A valid ReportTemplateElement instance with all of the mandatory attributes

id
string <uuid>
name
string

The name of the report template.

customTemplate
object (CustomTemplateElement)

This POJO is used to configure a custom template.

creationTimeStamp
number

Report template creation timestamp. The timestamp is milliseconds since epoch.

Responses

201

Returns a newly created ReportTemplateElement instance

default

Error response

post /v1/reports/templates

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/reports/templates

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "customTemplate":
    {
    },
  • "creationTimeStamp": 0
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "customTemplate":
    {
    },
  • "creationTimeStamp": 0
}

Get a report template by ID

Authorizations:
path Parameters
templateId
required
string <uuid>

A non-empty, valid template ID

Responses

200

Returns a ReportTemplateElement instance if there is a template associated with the specified ID

default

Error response

get /v1/reports/templates/{templateId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/reports/templates/{templateId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "customTemplate":
    {
    },
  • "creationTimeStamp": 0
}

Update a report template

Authorizations:
path Parameters
templateId
required
string <uuid>

A non-empty, valid template ID.

Request Body schema: application/json

A valid template with the configured parameters

id
string <uuid>
name
string

The name of the report template.

customTemplate
object (CustomTemplateElement)

This POJO is used to configure a custom template.

creationTimeStamp
number

Report template creation timestamp. The timestamp is milliseconds since epoch.

Responses

204

Returns the updated template

default

Error response

put /v1/reports/templates/{templateId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/reports/templates/{templateId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "customTemplate":
    {
    },
  • "creationTimeStamp": 0
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "customTemplate":
    {
    },
  • "creationTimeStamp": 0
}

Delete a template.

Authorizations:
path Parameters
templateId
required
string <uuid>

A non-empty, valid template ID

Responses

204

Template deleted successfully.

default

Error response

delete /v1/reports/templates/{templateId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/reports/templates/{templateId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get template with default values

Authorizations:

Responses

200

ReportTemplateElement instance with the attributes set to default values

default

Error response

get /v1/reports/templates/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/reports/templates/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "customTemplate":
    {
    },
  • "creationTimeStamp": 0
}

Get template name mapped to ID

Authorizations:

Responses

200

Map with template names and corresponding ID

default

Error response

get /v1/reports/templates/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/reports/templates/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get a list of scheduled reports

Authorizations:

Responses

200

Returns a list of scheduled reports

default

Error response

get /v1/reports/scheduled

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/reports/scheduled

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create scheduled report

Authorizations:
Request Body schema: application/json
id
string <uuid>

The ID of the report.

templateId
string <uuid>

The ID of the report template.

name
string

The name of the user report.

creator
string

The ID of the user who scheduled the report.

scope
string <uuid>

For reports per site - Site ID. For system-wide reports - null.

period
object (PeriodElement)

This POJO is used to configure the Period information.

format
string (ReportFormat)
Enum: "Pdf" "ZippedCsv"

Report Format

generatedReportAction
string (GeneratedReportAction)
Enum: "Store" "Email" "StoreAndEmail"
runNow
boolean

A flag indicating that the report will be generated now. The schedule of this report cannot be edited.

status
string (UserReportStatus)
Enum: "Queued" "Started" "Completed"
creationTimestamp
number

The timestamp of when the scheduled report was created.

title
string

The report title to be included in the generated output.

userGroups
Array of objects (UserGroupElement)

Responses

201
default

Error response

post /v1/reports/scheduled

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/reports/scheduled

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "templateId": "string",
  • "name": "string",
  • "creator": "string",
  • "scope": "string",
  • "period":
    {
    },
  • "format": "Pdf",
  • "generatedReportAction": "Store",
  • "runNow": true,
  • "status": "Queued",
  • "creationTimestamp": 0,
  • "title": "string",
  • "userGroups":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "templateId": "string",
  • "name": "string",
  • "creator": "string",
  • "scope": "string",
  • "period":
    {
    },
  • "format": "Pdf",
  • "generatedReportAction": "Store",
  • "runNow": true,
  • "status": "Queued",
  • "creationTimestamp": 0,
  • "title": "string",
  • "userGroups":
    [
    ]
}

Get scheduled report setting

Authorizations:
path Parameters
reportId
required
string <uuid>

A non-empty, valid report ID

Responses

200

Returns a scheduled report setting for given ID

default

Error response

get /v1/reports/scheduled/{reportId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/reports/scheduled/{reportId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "templateId": "string",
  • "name": "string",
  • "creator": "string",
  • "scope": "string",
  • "period":
    {
    },
  • "format": "Pdf",
  • "generatedReportAction": "Store",
  • "runNow": true,
  • "status": "Queued",
  • "creationTimestamp": 0,
  • "title": "string",
  • "userGroups":
    [
    ]
}

Update scheduled report setting

Authorizations:
path Parameters
reportId
required
string <uuid>

A non-empty, valid report ID

Request Body schema: application/json

A valid report template with the configured parameters

id
string <uuid>

The ID of the report.

templateId
string <uuid>

The ID of the report template.

name
string

The name of the user report.

creator
string

The ID of the user who scheduled the report.

scope
string <uuid>

For reports per site - Site ID. For system-wide reports - null.

period
object (PeriodElement)

This POJO is used to configure the Period information.

format
string (ReportFormat)
Enum: "Pdf" "ZippedCsv"

Report Format

generatedReportAction
string (GeneratedReportAction)
Enum: "Store" "Email" "StoreAndEmail"
runNow
boolean

A flag indicating that the report will be generated now. The schedule of this report cannot be edited.

status
string (UserReportStatus)
Enum: "Queued" "Started" "Completed"
creationTimestamp
number

The timestamp of when the scheduled report was created.

title
string

The report title to be included in the generated output.

userGroups
Array of objects (UserGroupElement)

Responses

200
default

Error response

put /v1/reports/scheduled/{reportId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/reports/scheduled/{reportId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "templateId": "string",
  • "name": "string",
  • "creator": "string",
  • "scope": "string",
  • "period":
    {
    },
  • "format": "Pdf",
  • "generatedReportAction": "Store",
  • "runNow": true,
  • "status": "Queued",
  • "creationTimestamp": 0,
  • "title": "string",
  • "userGroups":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "templateId": "string",
  • "name": "string",
  • "creator": "string",
  • "scope": "string",
  • "period":
    {
    },
  • "format": "Pdf",
  • "generatedReportAction": "Store",
  • "runNow": true,
  • "status": "Queued",
  • "creationTimestamp": 0,
  • "title": "string",
  • "userGroups":
    [
    ]
}

Delete a scheduled report

Authorizations:
path Parameters
reportId
required
string <uuid>

A non-empty, valid report ID

Responses

204

Scheduled report deleted successfully

default

Error response

delete /v1/reports/scheduled/{reportId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/reports/scheduled/{reportId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get report with default values

Authorizations:

Responses

200

ScheduledUserReportElement instance with the attributes set to default values

default

Error response

get /v1/reports/scheduled/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/reports/scheduled/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "templateId": "string",
  • "name": "string",
  • "creator": "string",
  • "scope": "string",
  • "period":
    {
    },
  • "format": "Pdf",
  • "generatedReportAction": "Store",
  • "runNow": true,
  • "status": "Queued",
  • "creationTimestamp": 0,
  • "title": "string",
  • "userGroups":
    [
    ]
}

Get report name mapped to ID

Authorizations:

Responses

200

Map with template names and corresponding ID

default

Error response

get /v1/reports/scheduled/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/reports/scheduled/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get a list of generated user reports

Get a list of generated user reports

Authorizations:

Responses

200

Returns a list containing all of the GeneratedReportElement instances or returns an empty list if there are no associated reports.

default

Error response

get /v1/reports/generated

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/reports/generated

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get a scheduled user report by filename

Authorizations:
path Parameters
filename
required
string

A non-empty, valid file name

Responses

200

Returns a BirtReport instance if the customer has a generated user report associated with the specified filename.

default

Error response

get /v1/reports/generated/{filename}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/reports/generated/{filename}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Delete a generated report.

Authorizations:
path Parameters
filename
required
string

A non-empty, valid filename.

Responses

204

Report deleted successfully.

default

Error response

delete /v1/reports/generated/{filename}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/reports/generated/{filename}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Delete a list of generated report files

Authorizations:
Request Body schema: application/json

A non-empty, valid list of generated report files

Array
string

Responses

200

Generated reports deleted successfully

default

Error response

put /v1/reports/generated/filelist

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/reports/generated/filelist

Request samples

Content type
application/json
Copy
Expand all Collapse all
[
  • "string"
]

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get a list of available widget definitions

Authorizations:
query Parameters
scope
string all|utilization|switch|clients|captive_portal|expert|application_visibility|system|location|troubleshooting|rf|smart_rf|qoe

Scope is category of charts. If not provided, default to All

Responses

200

Returns a list of the WidgetDefinitionElement instances, or an empty list if there are no associated widgets.

default

Error response

get /v1/reports/widgets

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/reports/widgets

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

ReportsManager

Retrieve reports.

Get Site report (replaced by /v3/sites/report) Deprecated

Authorizations:
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H

duration

widgetList
string
Example: widgetList=topClientsByUsage|2_4,worstClientsByUsage|5

Responses

200

Returns DashboardReportElement

default

Error response

get /v1/report/sites

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/report/sites

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topSitesByThroughput":
    [
    ],
  • "topSitesByClientCount":
    [
    ],
  • "topAccessPointsByThroughput":
    [
    ],
  • "topAccessPointsByUserCount":
    [
    ],
  • "topServicesByThroughput":
    [
    ],
  • "topUsersByThroughput":
    [
    ],
  • "worstSitesByThroughput":
    [
    ],
  • "worstSitesByClientCount":
    [
    ],
  • "worstAccessPointsByThroughput":
    [
    ],
  • "worstAccessPointsByUserCount":
    [
    ],
  • "worstServicesByThroughput":
    [
    ],
  • "worstUsersByThroughput":
    [
    ],
  • "topSitesByConcurrentUserCount":
    [
    ],
  • "worstSitesByConcurrentClientCount":
    [
    ],
  • "topAccessPointsByConcurrentUserCount":
    [
    ],
  • "worstAccessPointsByConcurrentUserCount":
    [
    ],
  • "topServicesByConcurrentClientCount":
    [
    ],
  • "worstServicesByConcurrentClientCount":
    [
    ],
  • "worstClientsByUsage":
    [
    ],
  • "topClientsByUsage":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "topServicesByClientCount":
    [
    ],
  • "worstServicesByClientCount":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "guestUsersReport":
    [
    ],
  • "dwellTimeReport":
    [
    ],
  • "topSitesBySnr":
    [
    ],
  • "topSitesByChannelUtil":
    [
    ],
  • "worstSitesByChannelUtil":
    [
    ],
  • "worstSitesBySnr":
    [
    ],
  • "worstSitesByRetries":
    [
    ],
  • "topSitesByChannelChanges":
    [
    ],
  • "topSitesByPowerChanges":
    [
    ],
  • "topSitesByRetries":
    [
    ],
  • "networkHealth":
    {
    },
  • "deploymentQoE":
    [
    ],
  • "packetCaptureList":
    [
    ]
}

Get AP report by AP serial (replaced by /v1/aps/{apSerialNumber}/report) Deprecated

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
widgetList
string
Example: widgetList=throughputReport|2_4,byteUtilization|5

Responses

200
default

Error response

get /v1/report/aps/{apSerialNumber}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/report/aps/{apSerialNumber}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "deviceSerialNo": "1740W-2030400000",
  • "timeStamp": 1554476614000,
  • "channelWidth":
    [
    ],
  • "entitlementStatus": 0,
  • "bandAndChannel":
    {
    },
  • "activeAlerts": [ ],
  • "wirelessProtocols":
    [
    ],
  • "wiredClientCount": 0,
  • "hwType": "AP-7612-680B30-WR",
  • "deviceHealth":
    {
    },
  • "qualityMetric": null,
  • "currentPowerLevel":
    {
    },
  • "swVersion": "5.9.3.2-002R",
  • "ipAddress": "10.47.75.108",
  • "location": "DevelopmentLab7",
  • "macAddress": "B8:50:01:3B:3E:1C",
  • "camIpAddress": null,
  • "ethPowerStatus": null,
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topUsersByThroughput":
    [
    ],
  • "worstUsersByThroughput":
    [
    ],
  • "worstClientsByUsage":
    [
    ],
  • "topClientsByUsage":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "rfQuality":
    [
    ],
  • "channelUtilization2_4":
    [
    ],
  • "channelUtilization5":
    [
    ],
  • "noisePerRadio":
    [
    ],
  • "ratioOfCurrentUsersToBand":
    [
    ],
  • "topClientsBySnr":
    [
    ],
  • "worstClientsBySnr":
    [
    ],
  • "topClientsByRetries":
    [
    ],
  • "worstClientsByRetries":
    [
    ],
  • "baseliningAPRFQI":
    [
    ],
  • "baseliningAPRss":
    [
    ],
  • "baseliningAPTxRate":
    [
    ],
  • "baseliningAPRxRate":
    [
    ],
  • "baseliningAPRetries":
    [
    ],
  • "baseliningAPCochannel":
    [
    ],
  • "baseliningAPClientData":
    [
    ],
  • "baseliningAPInterference":
    [
    ],
  • "baseliningAPCochannel_5":
    [
    ],
  • "baseliningAPClientData_5":
    [
    ],
  • "baseliningAPInterference_5":
    [
    ],
  • "apQoE":
    [
    ]
}

Get Smart RF reports for a given access point. Deprecated

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H

Responses

200
default

Error response

get /v1/report/aps/{apSerialNumber}/smartrf

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/report/aps/{apSerialNumber}/smartrf

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "deviceSerialNo": "1740W-2030400000",
  • "timeStamp": 1554476614000,
  • "channelWidth":
    [
    ],
  • "entitlementStatus": 0,
  • "bandAndChannel":
    {
    },
  • "activeAlerts": [ ],
  • "wirelessProtocols":
    [
    ],
  • "wiredClientCount": 0,
  • "hwType": "AP-7612-680B30-WR",
  • "deviceHealth":
    {
    },
  • "qualityMetric": null,
  • "currentPowerLevel":
    {
    },
  • "swVersion": "5.9.3.2-002R",
  • "ipAddress": "10.47.75.108",
  • "location": "DevelopmentLab7",
  • "macAddress": "B8:50:01:3B:3E:1C",
  • "camIpAddress": null,
  • "ethPowerStatus": null,
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topUsersByThroughput":
    [
    ],
  • "worstUsersByThroughput":
    [
    ],
  • "worstClientsByUsage":
    [
    ],
  • "topClientsByUsage":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "rfQuality":
    [
    ],
  • "channelUtilization2_4":
    [
    ],
  • "channelUtilization5":
    [
    ],
  • "noisePerRadio":
    [
    ],
  • "ratioOfCurrentUsersToBand":
    [
    ],
  • "topClientsBySnr":
    [
    ],
  • "worstClientsBySnr":
    [
    ],
  • "topClientsByRetries":
    [
    ],
  • "worstClientsByRetries":
    [
    ],
  • "baseliningAPRFQI":
    [
    ],
  • "baseliningAPRss":
    [
    ],
  • "baseliningAPTxRate":
    [
    ],
  • "baseliningAPRxRate":
    [
    ],
  • "baseliningAPRetries":
    [
    ],
  • "baseliningAPCochannel":
    [
    ],
  • "baseliningAPClientData":
    [
    ],
  • "baseliningAPInterference":
    [
    ],
  • "baseliningAPCochannel_5":
    [
    ],
  • "baseliningAPClientData_5":
    [
    ],
  • "baseliningAPInterference_5":
    [
    ],
  • "apQoE":
    [
    ]
}

Get Site Flex report (replaced by /v3/sites/report/flex) Deprecated

Authorizations:
path Parameters
duration
required
string 3H|3D|14D
Default: "3H"
Example: 3H
query Parameters
query
string

Responses

200

SiteReportElement object

default

Error response

get /v1/report/flex/{duration}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/report/flex/{duration}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topAccessPointsByThroughput":
    [
    ],
  • "topAccessPointsByUserCount":
    [
    ],
  • "topServicesByThroughput":
    [
    ],
  • "topUsersByThroughput":
    [
    ],
  • "worstAccessPointsByThroughput":
    [
    ],
  • "worstAccessPointsByUserCount":
    [
    ],
  • "worstServicesByThroughput":
    [
    ],
  • "worstUsersByThroughput":
    [
    ],
  • "topAccessPointsByConcurrentUserCount":
    [
    ],
  • "worstAccessPointsByConcurrentUserCount":
    [
    ],
  • "topServicesByConcurrentClientCount":
    [
    ],
  • "worstServicesByConcurrentClientCount":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "topServicesByClientCount":
    [
    ],
  • "worstServicesByClientCount":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "guestUsersReport":
    [
    ],
  • "dwellTimeReport":
    [
    ],
  • "rfQuality":
    [
    ],
  • "topApsByChannelUtil":
    [
    ],
  • "topApsBySnr":
    [
    ],
  • "worstApsBySnr":
    [
    ],
  • "topClientsBySnr":
    [
    ],
  • "worstApsByChannelUtil":
    [
    ],
  • "worstClientsBySnr":
    [
    ],
  • "topClientsByRetries":
    [
    ],
  • "worstClientsByRetries":
    [
    ],
  • "channelDistributionByRFProtocol":
    [
    ],
  • "topApsByChannelChanges":
    [
    ],
  • "topApsByPowerChanges":
    [
    ],
  • "topApsByRetries":
    [
    ],
  • "worstApsByRetries":
    [
    ],
  • "topAccessPointsByRfHealth":
    [
    ],
  • "worstApsByRfHealth":
    [
    ],
  • "topAreaByVisitors":
    [
    ],
  • "worstAreaByVisitors":
    [
    ],
  • "topFloorByVisitors":
    [
    ],
  • "worstFloorByVisitors":
    [
    ],
  • "topMobileClients":
    [
    ],
  • "worstMobileClients":
    [
    ],
  • "topFloorByMobility":
    [
    ],
  • "worstFloorByMobility":
    [
    ],
  • "mobilityOverTime":
    [
    ],
  • "siteQoE":
    [
    ]
}

Get Port report by switch serial number (replaced by /v1/switches/{serialNumber}/ports/{portId}/report) Deprecated

Authorizations:
path Parameters
portId
required
string
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
switchserialno
string
widgetList
string
Example: widgetList=byteUtilization,throughputReport

Responses

200

PortReportElement if portId is set

default

Error response

get /v1/report/ports/{portId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/report/ports/{portId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "usedPort": false,
  • "poeState": "disabled",
  • "portNumber": "0/2",
  • "stpRole": "disabled",
  • "linkStatus": "ready",
  • "stpStatus": "disabled",
  • "poeVoltage": 0,
  • "poeCurrent": 0,
  • "neighbors":
    {
    },
  • "poePower": 0,
  • "poeClass": "searching",
  • "actualPortSpeed": "AUTO",
  • "byteUtilization":
    [
    ],
  • "packetUtilization":
    [
    ],
  • "txRxErrorsReport":
    [
    ],
  • "topBusiestPortsOfSwitch":
    [
    ],
  • "portFunctionDistribution":
    [
    ],
  • "poeEnabledVsDisabled":
    [
    ],
  • "packetThroughput":
    [
    ],
  • "byteThroughput":
    [
    ]
}

Get Role report by ID (replaced by /v1/roles/{roleId}/report) Deprecated

Authorizations:
path Parameters
roleId
required
string
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
widgetList
string
Example: widgetList=ruleHitCount,topRulesByHitCount

Responses

200
default

Error response

get /v1/report/roles/{roleId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/report/roles/{roleId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ]
}

Get Service report (replaced by /v1/services/{serviceId}/report) Deprecated

Authorizations:
path Parameters
serviceId
required
string
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
widgetList
string
Example: widgetList=topAccessPointsByThroughput|5,topAccessPointsByUserCount|5

Responses

200

Returns ServiceReportElement

default

Error response

get /v1/report/services/{serviceId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/report/services/{serviceId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "topDevicesByUserCount":
    {
    },
  • "applicationDistribution":
    {
    },
  • "deviceManufacturerDistribution":
    {
    },
  • "topDevicesByThroughput":
    {
    },
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topAccessPointsByThroughput":
    [
    ],
  • "topAccessPointsByUserCount":
    [
    ],
  • "worstAccessPointsByThroughput":
    [
    ],
  • "worstAccessPointsByUserCount":
    [
    ],
  • "topSwitchesByThroughput":
    [
    ],
  • "worstSwitchesByThroughput":
    [
    ],
  • "topAccessPointsByConcurrentUserCount":
    [
    ],
  • "worstAccessPointsByConcurrentUserCount":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUniqueUsers":
    [
    ],
  • "topAppGroupsByUniqueUsers":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ]
}

Get Site report by ID (replaced by /v1/sites/{siteId}/report) Deprecated

Authorizations:
path Parameters
siteId
required
string
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
widgetList
string
Example: widgetList=topClientsByUsage|2_4,worstClientsByUsage|5

Responses

200

Returns SiteReportElement if siteId parameter exists

default

Error response

get /v1/report/sites/{siteId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/report/sites/{siteId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topAccessPointsByThroughput":
    [
    ],
  • "topAccessPointsByUserCount":
    [
    ],
  • "topServicesByThroughput":
    [
    ],
  • "topUsersByThroughput":
    [
    ],
  • "worstAccessPointsByThroughput":
    [
    ],
  • "worstAccessPointsByUserCount":
    [
    ],
  • "worstServicesByThroughput":
    [
    ],
  • "worstUsersByThroughput":
    [
    ],
  • "topAccessPointsByConcurrentUserCount":
    [
    ],
  • "worstAccessPointsByConcurrentUserCount":
    [
    ],
  • "topServicesByConcurrentClientCount":
    [
    ],
  • "worstServicesByConcurrentClientCount":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "topServicesByClientCount":
    [
    ],
  • "worstServicesByClientCount":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "guestUsersReport":
    [
    ],
  • "dwellTimeReport":
    [
    ],
  • "rfQuality":
    [
    ],
  • "topApsByChannelUtil":
    [
    ],
  • "topApsBySnr":
    [
    ],
  • "worstApsBySnr":
    [
    ],
  • "topClientsBySnr":
    [
    ],
  • "worstApsByChannelUtil":
    [
    ],
  • "worstClientsBySnr":
    [
    ],
  • "topClientsByRetries":
    [
    ],
  • "worstClientsByRetries":
    [
    ],
  • "channelDistributionByRFProtocol":
    [
    ],
  • "topApsByChannelChanges":
    [
    ],
  • "topApsByPowerChanges":
    [
    ],
  • "topApsByRetries":
    [
    ],
  • "worstApsByRetries":
    [
    ],
  • "topAccessPointsByRfHealth":
    [
    ],
  • "worstApsByRfHealth":
    [
    ],
  • "topAreaByVisitors":
    [
    ],
  • "worstAreaByVisitors":
    [
    ],
  • "topFloorByVisitors":
    [
    ],
  • "worstFloorByVisitors":
    [
    ],
  • "topMobileClients":
    [
    ],
  • "worstMobileClients":
    [
    ],
  • "topFloorByMobility":
    [
    ],
  • "worstFloorByMobility":
    [
    ],
  • "mobilityOverTime":
    [
    ],
  • "siteQoE":
    [
    ]
}

Get station by ID (replaced by /v1/stations/{stationId}/report) Deprecated

Authorizations:
path Parameters
stationId
required
string
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
widgetList
string
Example: widgetList=throughputReport|2_4,byteUtilization|5

Responses

200
default

Error response

get /v1/report/stations/{stationId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/report/stations/{stationId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "role": "Enterprise User",
  • "lastRssReceived": -68,
  • "v6UniqueLocalAddress": null,
  • "lastTimeSeen": 1554315753000,
  • "v6linkLocalAddress": null,
  • "osType": "",
  • "lastKnownLocation": "ThornhillDistributed",
  • "v6GlobalAddress": null,
  • "currentBandAndProtocol": "Channel: Auto, Mode: anc",
  • "ipAddress": "10.49.30.199",
  • "serviceName": "ecaopen",
  • "manufacturer": "Apple, Inc.",
  • "macAddress": "40:B3:95:6B:27:EF",
  • "deviceCapability": 0,
  • "proxied": "Local",
  • "ipv6Address":
    [
    ],
  • "deviceFamily": "Apple iOS",
  • "deviceType": "iPhone/iPad/iPod/Watch/ATV",
  • "dhcpHostName": "iPhone",
  • "ssid": "ecaopen",
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "appGroupsThroughputDetails":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "rfQuality":
    [
    ],
  • "baseliningRFQI":
    [
    ],
  • "baseliningRss":
    [
    ],
  • "baseliningTxRate":
    [
    ],
  • "baseliningRxRate":
    [
    ],
  • "baseliningWirelessRTT":
    [
    ],
  • "baseliningNetworkRTT":
    [
    ],
  • "baseliningRetries":
    [
    ]
}

Get Switch report by serial number (replaced by /v1/switches/{serialNumber}/report) Deprecated

Authorizations:
path Parameters
switchSerialNumber
required
string
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
widgetList
string
Example: widgetList=packetThroughput

Responses

200

SwitchReportElement if switchSerialNumber is set

default

Error response

get /v1/report/switches/{switchSerialNumber}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/report/switches/{switchSerialNumber}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "v6UniqueLocalAddress": null,
  • "deviceSerialNo": "1733N-42224",
  • "entitlementStatus": 0,
  • "hwType": "210-48p-GE4",
  • "fanStatus":
    {
    },
  • "macAddress": "00:04:96:9E:FC:BC",
  • "totalPoePower": 0,
  • "psuStatus":
    {
    },
  • "temperatureStatus":
    {
    },
  • "temperature":
    {
    },
  • "swVersion": "1.2.5.13",
  • "portAttributesMap":
    {
    },
  • "v6GlobalAddress": null,
  • "v6linkLocalAddress": null,
  • "timeStamp": 1554313083476.449,
  • "ipAddress": "",
  • "location": "Default",
  • "powerBudget": 185,
  • "operatingSystem": "",
  • "byteUtilization":
    [
    ],
  • "packetUtilization":
    [
    ],
  • "txRxErrorsReport":
    [
    ],
  • "topBusiestPortsOfSwitch":
    [
    ],
  • "portFunctionDistribution":
    [
    ],
  • "poeEnabledVsDisabled":
    [
    ],
  • "packetThroughput":
    [
    ],
  • "byteThroughput":
    [
    ]
}

Get a list of all station locations for an AP by serial number (replaced by /v1/aps/{apSerialNumber}/location) Deprecated

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
widgetList
string
Deprecated

Responses

200
default

Error response

get /v1/report/location/aps/{apSerialNumber}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/report/location/aps/{apSerialNumber}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "deviceSerialNo": "1740W-2030400000",
  • "timeStamp": 1554476614000,
  • "channelWidth":
    [
    ],
  • "entitlementStatus": 0,
  • "bandAndChannel":
    {
    },
  • "activeAlerts": [ ],
  • "wirelessProtocols":
    [
    ],
  • "wiredClientCount": 0,
  • "hwType": "AP-7612-680B30-WR",
  • "deviceHealth":
    {
    },
  • "qualityMetric": null,
  • "currentPowerLevel":
    {
    },
  • "swVersion": "5.9.3.2-002R",
  • "ipAddress": "10.47.75.108",
  • "location": "DevelopmentLab7",
  • "macAddress": "B8:50:01:3B:3E:1C",
  • "camIpAddress": null,
  • "ethPowerStatus": null,
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topUsersByThroughput":
    [
    ],
  • "worstUsersByThroughput":
    [
    ],
  • "worstClientsByUsage":
    [
    ],
  • "topClientsByUsage":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "rfQuality":
    [
    ],
  • "channelUtilization2_4":
    [
    ],
  • "channelUtilization5":
    [
    ],
  • "noisePerRadio":
    [
    ],
  • "ratioOfCurrentUsersToBand":
    [
    ],
  • "topClientsBySnr":
    [
    ],
  • "worstClientsBySnr":
    [
    ],
  • "topClientsByRetries":
    [
    ],
  • "worstClientsByRetries":
    [
    ],
  • "baseliningAPRFQI":
    [
    ],
  • "baseliningAPRss":
    [
    ],
  • "baseliningAPTxRate":
    [
    ],
  • "baseliningAPRxRate":
    [
    ],
  • "baseliningAPRetries":
    [
    ],
  • "baseliningAPCochannel":
    [
    ],
  • "baseliningAPClientData":
    [
    ],
  • "baseliningAPInterference":
    [
    ],
  • "baseliningAPCochannel_5":
    [
    ],
  • "baseliningAPClientData_5":
    [
    ],
  • "baseliningAPInterference_5":
    [
    ],
  • "apQoE":
    [
    ]
}

Get a list of all station locations on the given floor (replaced by /v3/sites/report/location/floor/{floorId}) Deprecated

Authorizations:
path Parameters
floorId
required
string
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
widgetList
string
Deprecated

Responses

200
default

Error response

get /v1/report/location/floor/{floorId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/report/location/floor/{floorId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "deviceSerialNo": "1740W-2030400000",
  • "timeStamp": 1554476614000,
  • "channelWidth":
    [
    ],
  • "entitlementStatus": 0,
  • "bandAndChannel":
    {
    },
  • "activeAlerts": [ ],
  • "wirelessProtocols":
    [
    ],
  • "wiredClientCount": 0,
  • "hwType": "AP-7612-680B30-WR",
  • "deviceHealth":
    {
    },
  • "qualityMetric": null,
  • "currentPowerLevel":
    {
    },
  • "swVersion": "5.9.3.2-002R",
  • "ipAddress": "10.47.75.108",
  • "location": "DevelopmentLab7",
  • "macAddress": "B8:50:01:3B:3E:1C",
  • "camIpAddress": null,
  • "ethPowerStatus": null,
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topUsersByThroughput":
    [
    ],
  • "worstUsersByThroughput":
    [
    ],
  • "worstClientsByUsage":
    [
    ],
  • "topClientsByUsage":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "rfQuality":
    [
    ],
  • "channelUtilization2_4":
    [
    ],
  • "channelUtilization5":
    [
    ],
  • "noisePerRadio":
    [
    ],
  • "ratioOfCurrentUsersToBand":
    [
    ],
  • "topClientsBySnr":
    [
    ],
  • "worstClientsBySnr":
    [
    ],
  • "topClientsByRetries":
    [
    ],
  • "worstClientsByRetries":
    [
    ],
  • "baseliningAPRFQI":
    [
    ],
  • "baseliningAPRss":
    [
    ],
  • "baseliningAPTxRate":
    [
    ],
  • "baseliningAPRxRate":
    [
    ],
  • "baseliningAPRetries":
    [
    ],
  • "baseliningAPCochannel":
    [
    ],
  • "baseliningAPClientData":
    [
    ],
  • "baseliningAPInterference":
    [
    ],
  • "baseliningAPCochannel_5":
    [
    ],
  • "baseliningAPClientData_5":
    [
    ],
  • "baseliningAPInterference_5":
    [
    ],
  • "apQoE":
    [
    ]
}

Get a Location report for a station (replaced by /v1/stations/{stationId}/location) Deprecated

Authorizations:
path Parameters
stationId
required
string
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
widgetList
string
Deprecated

Responses

200
default

Error response

get /v1/report/location/stations/{stationId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/report/location/stations/{stationId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "role": "Enterprise User",
  • "lastRssReceived": -68,
  • "v6UniqueLocalAddress": null,
  • "lastTimeSeen": 1554315753000,
  • "v6linkLocalAddress": null,
  • "osType": "",
  • "lastKnownLocation": "ThornhillDistributed",
  • "v6GlobalAddress": null,
  • "currentBandAndProtocol": "Channel: Auto, Mode: anc",
  • "ipAddress": "10.49.30.199",
  • "serviceName": "ecaopen",
  • "manufacturer": "Apple, Inc.",
  • "macAddress": "40:B3:95:6B:27:EF",
  • "deviceCapability": 0,
  • "proxied": "Local",
  • "ipv6Address":
    [
    ],
  • "deviceFamily": "Apple iOS",
  • "deviceType": "iPhone/iPad/iPod/Watch/ATV",
  • "dhcpHostName": "iPhone",
  • "ssid": "ecaopen",
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "appGroupsThroughputDetails":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "rfQuality":
    [
    ],
  • "baseliningRFQI":
    [
    ],
  • "baseliningRss":
    [
    ],
  • "baseliningTxRate":
    [
    ],
  • "baseliningRxRate":
    [
    ],
  • "baseliningWirelessRTT":
    [
    ],
  • "baseliningNetworkRTT":
    [
    ],
  • "baseliningRetries":
    [
    ]
}

Get Device Upgrade report

Authorizations:

Responses

200
default

Error response

get /v2/report/upgrade/devices

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v2/report/upgrade/devices

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "upgradeGroups":
    [
    ]
}

RfMgmtPolicyManager

Create and manage RF management policy.

Get list of all RF management policy profiles

Authorizations:

Responses

200
default

Error response

get /v3/rfmgmt

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/rfmgmt

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new RF management policy

Authorizations:
Request Body schema: application/json

A valid RfMgmtPolicy instance

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
string
type
string (RfMgmtPolicyType)
Enum: "SmartRf" "Acs" "Xai"
smartRf
object (SmartRfElement)
acs
object (AcsElement)

This POJO is for the Smart RF configuration.

xaiRf
object (XaiRfPolicyElement)

It describes XaiRfPolicyElement.

Responses

201

Newly created RfMgmtPolicyElement instance

default

Error response

post /v3/rfmgmt

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/rfmgmt

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "bd9d7042-f0c7-11e7-8c3f-9a214cf093ae",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "Default Smart RF",
  • "type": "SmartRf",
  • "smartRf":
    {
    },
  • "acs":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "bd9d7042-f0c7-11e7-8c3f-9a214cf093ae",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "Default Smart RF",
  • "type": "SmartRf",
  • "smartRf":
    {
    },
  • "acs":
    {
    }
}

Get RF management policy profile with default values

Authorizations:

Responses

200

RfMgmtPolicyElement instance with attributes set with default values

default

Error response

get /v3/rfmgmt/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/rfmgmt/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "bd9d7042-f0c7-11e7-8c3f-9a214cf093ae",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "Default Smart RF",
  • "type": "SmartRf",
  • "smartRf":
    {
    },
  • "acs":
    {
    }
}

Get RF management policy profile name mapped to ID

Authorizations:

Responses

200

Map with RfMgmtPolicy profile name and corresponding ID

default

Error response

get /v3/rfmgmt/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/rfmgmt/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get RF management policy profile by ID

Authorizations:
path Parameters
rfmgmtId
required
string

A non-empty, valid RfMgmtPolicy ID

Responses

200

RfMgmtPolicyElement instance with the given ID

default

Error response

get /v3/rfmgmt/{rfmgmtId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/rfmgmt/{rfmgmtId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "bd9d7042-f0c7-11e7-8c3f-9a214cf093ae",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "Default Smart RF",
  • "type": "SmartRf",
  • "smartRf":
    {
    },
  • "acs":
    {
    }
}

Update RF management policy profile

Authorizations:
path Parameters
rfmgmtId
required
string

A non-empty, valid RfMgmtPolicy profile ID

Request Body schema: application/json

A valid RfMgmtPolicyElement profile with the configured parameters

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
string
type
string (RfMgmtPolicyType)
Enum: "SmartRf" "Acs" "Xai"
smartRf
object (SmartRfElement)
acs
object (AcsElement)

This POJO is for the Smart RF configuration.

xaiRf
object (XaiRfPolicyElement)

It describes XaiRfPolicyElement.

Responses

200

The updated RfMgmtPolicyElement profile

default

Error response

put /v3/rfmgmt/{rfmgmtId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/rfmgmt/{rfmgmtId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "bd9d7042-f0c7-11e7-8c3f-9a214cf093ae",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "Default Smart RF",
  • "type": "SmartRf",
  • "smartRf":
    {
    },
  • "acs":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "bd9d7042-f0c7-11e7-8c3f-9a214cf093ae",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "Default Smart RF",
  • "type": "SmartRf",
  • "smartRf":
    {
    },
  • "acs":
    {
    }
}

Delete RF management policy profile for a customer

Authorizations:
path Parameters
rfmgmtId
required
string

A non-empty, valid RfMgmtPolicy ID

Responses

200

RF management policy profile deleted

default

Error response

delete /v3/rfmgmt/{rfmgmtId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/rfmgmt/{rfmgmtId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

RoleManager

Create and manage customer roles.

Get list of all roles for a customer

Authorizations:

Responses

200

List of all roles

default

Error response

get /v3/roles

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/roles

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a role

Authorizations:
Request Body schema: application/json
custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
required
string ^[a-zA-Z0-9._ -]{1,64}$

The unique role name across customer sites

l2Filters
Array of objects (L2FilterElement)

A list of L2 filters associated with the role

l3Filters
Array of objects (L3FilterElement)

A list of L3 filters associated with the role

l7Filters
Array of objects (L7FilterElement)

A list of L7 filters associated with the role

defaultAction
required
string
Enum: "allow" "deny" "containToVlan"

The default access control action to be applied when none of the rules match the frame. For backward compatbility, defaultAction "ContainToVlan" will be translated to "Allow".
Allowed combinations of defaultAction and topology -

defaultAction == "allow", topology = or topology = null
defaultAction == "deny", topology = or topology = null
defaultAction == "containToVlan", topology =

profiles
Array of strings

A list of profiles

topology
string <uuid> Nullable

The default topology to be applied when none of the rules match the frame or the rule that matches the frame has no "containToVlan". Topology can be UUID of an existing, defined topology or, if null, topology is the network topology. For backward compatiblity, if defaultAction == containToVlan, then topology must reference a defined topology.

defaultCos
required
string

The class of service (CoS) to assign to a matching frame if the role has no rules or none of the rules match the frame. If none of the rules match the frame, assign a CoS to the frame, then set this to null to indicate that no CoS will be applied to the frame. In that case, the frame's QoS fields will not be remarked and the traffic will not be rate limited in either direction.


Validations : A valid UUID of CoS.

cpRedirect
string ^[http:\/\/|https:\/\/]

The captive portal attributes

features
Array of strings

The list of supported features

cpIdentity
string

The identification used by ECP and AP redirecting station to identify each other.


Validations : cpIdentity must be a not null and non-empty string, having maximum of 255 characters, if any of the filter rule has an action as 'FILTERACTION_REDIRECT'.

cpSharedKey
string

The shared secret password that is common to both the controller and the external web server. If you want to encrypt the information passed between the controller and the external Web server. This passward is used with identity to sign and encrypt the redirection URL.


Validations : cpSharedKey must be a not null and non-empty string, between 16 and 255 characters, if any of the filter rule has an action as 'FILTERACTION_REDIRECT'.

cpDefaultRedirectUrl
string

The redirection URL to which the wireless device is directed to after authentication.

cpRedirectUrlSelect
string (RedirUrlSelect)
Enum: "URLTARGET" "URLINDEX" "URLCUSTOMIZED"
cpHttp
boolean

A flag to indicate if http should be used

cpAddIpAndPort
boolean

A flag to indicate if IP address and port should be added as parameters for ECP authentication

cpAddApNameAndSerial
boolean

A flag to indicate if AP serial number and name should be added as parameters for ECP authentication

cpAddBssid
boolean

A flag to indicate if access points BSSIDs should be added as a parameter for ECP authentication

cpAddVnsName
boolean

A flag to indicate if Virtual Network segment name should be added as a parameter for ECP authentication

cpAddSsid
boolean

A flag to indicate if SSID should be added as a parameter for ECP authentication

cpAddMac
boolean

A flag to indicate if a client's MAC address should be added as a parameter for ECP authentication

cpAddRole
boolean

A flag to indicate if current role assigned to the client should be added as a parameter for ECP authentication

cpAddVlan
boolean

A flag to indicate if current VLAN assigned to the client should be added as a parameter for ECP authentication

cpAddTime
boolean

A flag to indicate if time should be added as a parameter for ECP authentication

cpAddSign
boolean

TBD documentation will be updated

cpTopologyId
string

TBD documentation will be updated

cpUseFQDN
boolean

TBD documentation will be updated

cpOauthUseGoogle
boolean
cpOauthUseFacebook
boolean
cpOauthUseMicrosoft
boolean
cpRedirectPorts
Array of integers <= 255 items
Default: [80,443]

Captive portal redirect ports list

predefined
boolean

Responses

201
default

Error response

post /v3/roles

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/roles

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "4459ee6c-2f76-11e7-93ae-92361f002671",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "Enterprise User",
  • "l2Filters":
    [
    ],
  • "l3Filters": [ ],
  • "l7Filters": [ ],
  • "defaultAction": "allow",
  • "profiles":
    [
    ],
  • "topology": "efd5f044-26c8-11e7-93ae-92361f002671",
  • "defaultCos": "1eea4d66-2607-11e7-93ae-92361f002672",
  • "cpRedirect": "",
  • "features":
    [
    ],
  • "cpIdentity": "",
  • "cpSharedKey": "",
  • "cpDefaultRedirectUrl": "",
  • "cpRedirectUrlSelect": "URLTARGET",
  • "cpHttp": false,
  • "cpAddIpAndPort": true,
  • "cpAddApNameAndSerial": true,
  • "cpAddBssid": true,
  • "cpAddVnsName": true,
  • "cpAddSsid": true,
  • "cpAddMac": true,
  • "cpAddRole": true,
  • "cpAddVlan": true,
  • "cpAddTime": true,
  • "cpAddSign": true,
  • "cpTopologyId": null,
  • "cpUseFQDN": false,
  • "cpOauthUseGoogle": false,
  • "cpOauthUseFacebook": false,
  • "cpOauthUseMicrosoft": false,
  • "predefined": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "4459ee6c-2f76-11e7-93ae-92361f002671",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "Enterprise User",
  • "l2Filters":
    [
    ],
  • "l3Filters": [ ],
  • "l7Filters": [ ],
  • "defaultAction": "allow",
  • "profiles":
    [
    ],
  • "topology": "efd5f044-26c8-11e7-93ae-92361f002671",
  • "defaultCos": "1eea4d66-2607-11e7-93ae-92361f002672",
  • "cpRedirect": "",
  • "features":
    [
    ],
  • "cpIdentity": "",
  • "cpSharedKey": "",
  • "cpDefaultRedirectUrl": "",
  • "cpRedirectUrlSelect": "URLTARGET",
  • "cpHttp": false,
  • "cpAddIpAndPort": true,
  • "cpAddApNameAndSerial": true,
  • "cpAddBssid": true,
  • "cpAddVnsName": true,
  • "cpAddSsid": true,
  • "cpAddMac": true,
  • "cpAddRole": true,
  • "cpAddVlan": true,
  • "cpAddTime": true,
  • "cpAddSign": true,
  • "cpTopologyId": null,
  • "cpUseFQDN": false,
  • "cpOauthUseGoogle": false,
  • "cpOauthUseFacebook": false,
  • "cpOauthUseMicrosoft": false,
  • "predefined": true
}

Get role with default values

Authorizations:

Responses

200

RoleElement object with attributes set to default values

default

Error response

get /v3/roles/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/roles/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "4459ee6c-2f76-11e7-93ae-92361f002671",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "Enterprise User",
  • "l2Filters":
    [
    ],
  • "l3Filters": [ ],
  • "l7Filters": [ ],
  • "defaultAction": "allow",
  • "profiles":
    [
    ],
  • "topology": "efd5f044-26c8-11e7-93ae-92361f002671",
  • "defaultCos": "1eea4d66-2607-11e7-93ae-92361f002672",
  • "cpRedirect": "",
  • "features":
    [
    ],
  • "cpIdentity": "",
  • "cpSharedKey": "",
  • "cpDefaultRedirectUrl": "",
  • "cpRedirectUrlSelect": "URLTARGET",
  • "cpHttp": false,
  • "cpAddIpAndPort": true,
  • "cpAddApNameAndSerial": true,
  • "cpAddBssid": true,
  • "cpAddVnsName": true,
  • "cpAddSsid": true,
  • "cpAddMac": true,
  • "cpAddRole": true,
  • "cpAddVlan": true,
  • "cpAddTime": true,
  • "cpAddSign": true,
  • "cpTopologyId": null,
  • "cpUseFQDN": false,
  • "cpOauthUseGoogle": false,
  • "cpOauthUseFacebook": false,
  • "cpOauthUseMicrosoft": false,
  • "predefined": true
}

Get roles names mapped to ID

Authorizations:

Responses

200

Map with role names and corresponding IDs

default

Error response

get /v3/roles/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/roles/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get role by its ID

Authorizations:
path Parameters
roleId
required
string

A non-empty, valid Role ID

Responses

200

RoleElement object with the given ID

default

Error response

get /v3/roles/{roleId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/roles/{roleId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "4459ee6c-2f76-11e7-93ae-92361f002671",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "Enterprise User",
  • "l2Filters":
    [
    ],
  • "l3Filters": [ ],
  • "l7Filters": [ ],
  • "defaultAction": "allow",
  • "profiles":
    [
    ],
  • "topology": "efd5f044-26c8-11e7-93ae-92361f002671",
  • "defaultCos": "1eea4d66-2607-11e7-93ae-92361f002672",
  • "cpRedirect": "",
  • "features":
    [
    ],
  • "cpIdentity": "",
  • "cpSharedKey": "",
  • "cpDefaultRedirectUrl": "",
  • "cpRedirectUrlSelect": "URLTARGET",
  • "cpHttp": false,
  • "cpAddIpAndPort": true,
  • "cpAddApNameAndSerial": true,
  • "cpAddBssid": true,
  • "cpAddVnsName": true,
  • "cpAddSsid": true,
  • "cpAddMac": true,
  • "cpAddRole": true,
  • "cpAddVlan": true,
  • "cpAddTime": true,
  • "cpAddSign": true,
  • "cpTopologyId": null,
  • "cpUseFQDN": false,
  • "cpOauthUseGoogle": false,
  • "cpOauthUseFacebook": false,
  • "cpOauthUseMicrosoft": false,
  • "predefined": true
}

Update a role

Authorizations:
path Parameters
roleId
required
string
Request Body schema: application/json
custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
required
string ^[a-zA-Z0-9._ -]{1,64}$

The unique role name across customer sites

l2Filters
Array of objects (L2FilterElement)

A list of L2 filters associated with the role

l3Filters
Array of objects (L3FilterElement)

A list of L3 filters associated with the role

l7Filters
Array of objects (L7FilterElement)

A list of L7 filters associated with the role

defaultAction
required
string
Enum: "allow" "deny" "containToVlan"

The default access control action to be applied when none of the rules match the frame. For backward compatbility, defaultAction "ContainToVlan" will be translated to "Allow".
Allowed combinations of defaultAction and topology -

defaultAction == "allow", topology = or topology = null
defaultAction == "deny", topology = or topology = null
defaultAction == "containToVlan", topology =

profiles
Array of strings

A list of profiles

topology
string <uuid> Nullable

The default topology to be applied when none of the rules match the frame or the rule that matches the frame has no "containToVlan". Topology can be UUID of an existing, defined topology or, if null, topology is the network topology. For backward compatiblity, if defaultAction == containToVlan, then topology must reference a defined topology.

defaultCos
required
string

The class of service (CoS) to assign to a matching frame if the role has no rules or none of the rules match the frame. If none of the rules match the frame, assign a CoS to the frame, then set this to null to indicate that no CoS will be applied to the frame. In that case, the frame's QoS fields will not be remarked and the traffic will not be rate limited in either direction.


Validations : A valid UUID of CoS.

cpRedirect
string ^[http:\/\/|https:\/\/]

The captive portal attributes

features
Array of strings

The list of supported features

cpIdentity
string

The identification used by ECP and AP redirecting station to identify each other.


Validations : cpIdentity must be a not null and non-empty string, having maximum of 255 characters, if any of the filter rule has an action as 'FILTERACTION_REDIRECT'.

cpSharedKey
string

The shared secret password that is common to both the controller and the external web server. If you want to encrypt the information passed between the controller and the external Web server. This passward is used with identity to sign and encrypt the redirection URL.


Validations : cpSharedKey must be a not null and non-empty string, between 16 and 255 characters, if any of the filter rule has an action as 'FILTERACTION_REDIRECT'.

cpDefaultRedirectUrl
string

The redirection URL to which the wireless device is directed to after authentication.

cpRedirectUrlSelect
string (RedirUrlSelect)
Enum: "URLTARGET" "URLINDEX" "URLCUSTOMIZED"
cpHttp
boolean

A flag to indicate if http should be used

cpAddIpAndPort
boolean

A flag to indicate if IP address and port should be added as parameters for ECP authentication

cpAddApNameAndSerial
boolean

A flag to indicate if AP serial number and name should be added as parameters for ECP authentication

cpAddBssid
boolean

A flag to indicate if access points BSSIDs should be added as a parameter for ECP authentication

cpAddVnsName
boolean

A flag to indicate if Virtual Network segment name should be added as a parameter for ECP authentication

cpAddSsid
boolean

A flag to indicate if SSID should be added as a parameter for ECP authentication

cpAddMac
boolean

A flag to indicate if a client's MAC address should be added as a parameter for ECP authentication

cpAddRole
boolean

A flag to indicate if current role assigned to the client should be added as a parameter for ECP authentication

cpAddVlan
boolean

A flag to indicate if current VLAN assigned to the client should be added as a parameter for ECP authentication

cpAddTime
boolean

A flag to indicate if time should be added as a parameter for ECP authentication

cpAddSign
boolean

TBD documentation will be updated

cpTopologyId
string

TBD documentation will be updated

cpUseFQDN
boolean

TBD documentation will be updated

cpOauthUseGoogle
boolean
cpOauthUseFacebook
boolean
cpOauthUseMicrosoft
boolean
cpRedirectPorts
Array of integers <= 255 items
Default: [80,443]

Captive portal redirect ports list

predefined
boolean

Responses

200
default

Error response

put /v3/roles/{roleId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/roles/{roleId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "4459ee6c-2f76-11e7-93ae-92361f002671",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "Enterprise User",
  • "l2Filters":
    [
    ],
  • "l3Filters": [ ],
  • "l7Filters": [ ],
  • "defaultAction": "allow",
  • "profiles":
    [
    ],
  • "topology": "efd5f044-26c8-11e7-93ae-92361f002671",
  • "defaultCos": "1eea4d66-2607-11e7-93ae-92361f002672",
  • "cpRedirect": "",
  • "features":
    [
    ],
  • "cpIdentity": "",
  • "cpSharedKey": "",
  • "cpDefaultRedirectUrl": "",
  • "cpRedirectUrlSelect": "URLTARGET",
  • "cpHttp": false,
  • "cpAddIpAndPort": true,
  • "cpAddApNameAndSerial": true,
  • "cpAddBssid": true,
  • "cpAddVnsName": true,
  • "cpAddSsid": true,
  • "cpAddMac": true,
  • "cpAddRole": true,
  • "cpAddVlan": true,
  • "cpAddTime": true,
  • "cpAddSign": true,
  • "cpTopologyId": null,
  • "cpUseFQDN": false,
  • "cpOauthUseGoogle": false,
  • "cpOauthUseFacebook": false,
  • "cpOauthUseMicrosoft": false,
  • "predefined": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "4459ee6c-2f76-11e7-93ae-92361f002671",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "Enterprise User",
  • "l2Filters":
    [
    ],
  • "l3Filters": [ ],
  • "l7Filters": [ ],
  • "defaultAction": "allow",
  • "profiles":
    [
    ],
  • "topology": "efd5f044-26c8-11e7-93ae-92361f002671",
  • "defaultCos": "1eea4d66-2607-11e7-93ae-92361f002672",
  • "cpRedirect": "",
  • "features":
    [
    ],
  • "cpIdentity": "",
  • "cpSharedKey": "",
  • "cpDefaultRedirectUrl": "",
  • "cpRedirectUrlSelect": "URLTARGET",
  • "cpHttp": false,
  • "cpAddIpAndPort": true,
  • "cpAddApNameAndSerial": true,
  • "cpAddBssid": true,
  • "cpAddVnsName": true,
  • "cpAddSsid": true,
  • "cpAddMac": true,
  • "cpAddRole": true,
  • "cpAddVlan": true,
  • "cpAddTime": true,
  • "cpAddSign": true,
  • "cpTopologyId": null,
  • "cpUseFQDN": false,
  • "cpOauthUseGoogle": false,
  • "cpOauthUseFacebook": false,
  • "cpOauthUseMicrosoft": false,
  • "predefined": true
}

Create a role (given a service ID for creation of a special role)

Authorizations:
path Parameters
roleId
required
string

Responses

201
default

Error response

post /v3/roles/{roleId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/roles/{roleId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "4459ee6c-2f76-11e7-93ae-92361f002671",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "Enterprise User",
  • "l2Filters":
    [
    ],
  • "l3Filters": [ ],
  • "l7Filters": [ ],
  • "defaultAction": "allow",
  • "profiles":
    [
    ],
  • "topology": "efd5f044-26c8-11e7-93ae-92361f002671",
  • "defaultCos": "1eea4d66-2607-11e7-93ae-92361f002672",
  • "cpRedirect": "",
  • "features":
    [
    ],
  • "cpIdentity": "",
  • "cpSharedKey": "",
  • "cpDefaultRedirectUrl": "",
  • "cpRedirectUrlSelect": "URLTARGET",
  • "cpHttp": false,
  • "cpAddIpAndPort": true,
  • "cpAddApNameAndSerial": true,
  • "cpAddBssid": true,
  • "cpAddVnsName": true,
  • "cpAddSsid": true,
  • "cpAddMac": true,
  • "cpAddRole": true,
  • "cpAddVlan": true,
  • "cpAddTime": true,
  • "cpAddSign": true,
  • "cpTopologyId": null,
  • "cpUseFQDN": false,
  • "cpOauthUseGoogle": false,
  • "cpOauthUseFacebook": false,
  • "cpOauthUseMicrosoft": false,
  • "predefined": true
}

Delete role for a customer

Authorizations:
path Parameters
roleId
required
string

A non-empty, valid Role ID to be deleted

Responses

200

Role deleted successfully

default

Error response

delete /v3/roles/{roleId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/roles/{roleId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get rule stats by role ID

Authorizations:
path Parameters
roleId
required
string

Responses

200
default

Error response

get /v3/roles/{roleId}/rulestats

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/roles/{roleId}/rulestats

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "rules":
    [
    ]
}

Get current stations with role

Authorizations:
path Parameters
roleid
required
string

Responses

200

List

default

Error response

get /v1/roles/{roleid}/stations

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/roles/{roleid}/stations

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get available widgets for role report (/v1/roles/{roleId}/report PUT)

Authorizations:

Responses

200

Returns list of WidgetInfoElement

default

Error response

get /v1/roles/report/widgets

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/roles/report/widgets

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get Role report by role ID. (Use /v1/roles/report/widgets to get all available widgets. Select one. Then, use /v1/roles/{roleId}/report/(PUT))

Authorizations:
path Parameters
roleId
required
string
Request Body schema: application/json

A valid report request

duration
string (Duration)
Enum: "D_3h" "D_3d" "D_14d"

Report duration

widgets
Array of objects (WidgetInfoElement)

Responses

200

Returns RoleReportElement

default

Error response

put /v1/roles/{roleId}/report

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/roles/{roleId}/report

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "duration": "D_14d",
  • "widgets":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ]
}

Get Role report by role ID Deprecated

Authorizations:
path Parameters
roleId
required
string
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
widgetList
string
Example: widgetList=ruleHitCount,topRulesByHitCount

Responses

200
default

Error response

get /v1/roles/{roleId}/report

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/roles/{roleId}/report

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ]
}

ServiceManager

Create and manage services.

Get list of all services.

Authorizations:

Responses

200
default

Error response

get /v1/services

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/services

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a service

Authorizations:
Request Body schema: application/json

ServiceElement instance with parameters to be configured.

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
serviceName
required
string

The unique service name defined by the user.
Validations : Service name must be a Not null and non-empty string, between 1 to 64 characters.
Valid character set : Alphanumeric, special characters except semi-colon, colon and ampersand

captivePortalType
string (CaptivePortalType)
Enum: "Internal" "External" "EGuest" "CWA"

Captive Portal Type

eGuestPortalId
string <uuid>

UUID of the ExtremeGuest Service

eGuestSettings
Array of objects (EGuestServiceSettingsElement)
cpNonAuthenticatedPolicyName
string
status
required
string (ServiceStatus)
Enum: "enabled" "disabled" "scheduled"
shutdownOnMeshpointLoss
boolean
Default: false

Disable service if meshpoint connection is lost

ssid
required
string

The SSID. The default value is the same as the servicename.
Validations : SSID must be a Not null and non-empty string, between 1 to 32 characters.

unAuthenticatedUserDefaultRoleID
string

The default role for unauthenticated users. It defaults to the predefined "Allow All Role". When set to None (or not set), it defaults to "Allow All" on the services default topology.
Validations : Not null and valid UUID of Role.

defaultTopology
required
string

The topology (VLAN) that traffic should be placed on by default when the role assigned to the station that generates the traffic does not specify the VLAN on which to forward traffic. This value can be null, but a best practice is to assign a topology to the service, then use roles to allow or deny specific types of traffic. The default value for this attribute is null.

Implementation detail: This could just be a String containing the name of a defined topology.
Validations : Valid UUID of Topology.

defaultCoS
string

The default class of service assigned to frames that are not assigned a CoS by the role (that is assigned to the station generating the traffic). Set this to null to leave unchanged the CoS of frames not assigned a CoS explicitly by the role of the station generating traffic. Default for this attribute is null.

Implementation details: This could just be a String containing the name of a defined CoS.
Validations : Valid UUID of CoS.

flexibleClientAccess
boolean

When enabled, the AP ensures that fast clients (with content to send) get as much airtime as slow clients. When disabled, the AP treats all clients equally and processes packet forwarding requests on a first-come-first-serve basis. By default, this feature is disabled.

privacy
object
enabledSchedule
object Recursive

The time during which this service is enabled. It is the same time range for each site at which the service is available. The user interface can offer simple checklists for time ranges (For example, always, weekdays only, office hours only, never), and only expose an exact representation of the data structure as an advanced option.

suppressSsid
boolean

Include the SSID in the beacon frame or suppress it. Setting to true prevents the SSID from being advertised in the beacon. Setting it to false requires the SSID to be included in the beacon advertisements. The default is false. This should be considered an advanced option for an administrator.

enabled11kSupport
boolean

Enable support for 802.11k radio management. Setting to true enables the feature and setting to false disables the feature. The feature is disabled by default. When the feature is enabled, support for transmitting the Quiet IE and for the 11k Beacon report are also enabled.Disabling 11k support disables the use of the quiet IE and the 11k Beacon report.

preAuthenticatedIdleTimeout
number

The number of minutes that the station can remain idle (not transmit payload traffic) before its session is terminated. Applies to stations in the unauthenticated state. Usually this should be set low since many devices associate to whatever wireless networks they see even though the owner is not planning to use the network and may not be aware that there even is a wireless network nearby. The default for this attribute is 5 minutes. This is an advanced option. An administrator should have to drill down for it in GUI applications.
Validations : Integer value between 5 and 999999.

postAuthenticatedIdleTimeout
number

The number of minutes that the station can remain idle (not transmit payload traffic) before its session is terminated. Applies to stations that have authenticated to the network. Unless address space is at a premium this can and should be set to a higher value than preAuthenticatedIdleTimeout. The default for this attribute is 30 minutes. This is an advanced option. An administrator should have to drill down into the applications user interface.
Validations : Integer value between 0 and 999999.

sessionTimeout
number

The maximum number of minutes that a station is allowed to have a session on the network before it is logged out. This applies even when the user is active. Setting this to 0 allows the user to stay on the network without reauthenticating indefinitely. The default for this attribute is 0. This value is used as the default maximum session duration for each new session. Session duration timeout values sent from a RADIUS server overrides this value.
Validations : Integer value between 0 and 999999.

uapsdEnabled
boolean

Unscheduled Automatic Power Save Delivery (U-APSD) also known as WMM power save. Set to true to enable U-APSD and false to disable. The default for this setting is true (enabled). This is an advanced setting that will rarely need to change. It is configurable because some client devices do not implement U-APSD correctly and run into trouble on networks using it.

rm11kBeaconReport
boolean

Select to enable Beacon Report

rm11kQuietIe
boolean

Select to enable Quiet IE

admissionControlVideo
boolean

This feature is only available if admission control is enabled for Voice. With admission control, clients are forced to request admission to use the high priority access categories in both inbound and outbound directions. Admission control protects admitted traffic against new bandwidth demands. Select to provide distinct thresholds for VI (video)

admissionControlVoice
boolean

Select to enable Admission Control for Voice. With admission control, clients are forced to request admission to use the high priority access categories in both inbound and outbound directions. Admission control protects admitted traffic against new bandwidth demands.

admissionControlBestEffort
boolean

Select to enable Global Admission Control for Best Effort, If the client does not support admission control for the access category that requires admission control, the traffic category is downgraded to a lower access category that does not have Mandatory Admission Control. For example, if admission control is required for video, and client does not support admission control for video, the traffic is downgraded to Best Effort (BE)

admissionControlBackgroundTraffic
boolean

Select to enable Global Admission Control for Background Traffic. This feature is only available if admission control is enabled for Background. With admission control, clients are forced to request admission to use the high priority access categories in both inbound and outbound directions. Admission control protects admitted traffic against new bandwidth demands

atf
string
Enum: "Off" "On"

Select to enable Airtime Fairness

mbaAuthorization
required
boolean

Select to enable MBA authorization

vendorSpecificAttributes
Array of strings (VsaType)
Items Enum: "ingressRateControl" "egressRateControl" "vnsName" "apName" "topologyName" "ssid" "roleName"

In addition to the standard RADIUS message, you can include Vendor Specific Attributes (VSAs). The Extreme Networks IdentiFi Wireless authentication mechanism provides seven VSAs for RADIUS and other authentication mechanisms (Vendor Specific Attributes).

enableCaptivePortal
required
boolean

Flag to enable Captive Portal

authenticatedUserDefaultRoleID
required
string

Default role ID for authenticated user

features
Array of strings

List of supported features

dot1dPortNumber
number

802.1d port number

accountingEnabled
boolean

Select accounting enabled

mbatimeoutRoleId
string <uuid>

MAC based authentication timeout role ID

bypassOnboardingEnabled
boolean
Deprecated

Determines if the enabled bypass onboarding authentication is done on a 3rd-party RADIUS server. The default is false.

roamingAssistPolicy
object (RoamingAssistPolicyElement) Nullable

When roamingAssistPolicy=null, roaming assist is disabled. When roamingAssistPolicy={ detectionThreshold: -90 }, roaming assist is enabled.

aaaPolicyId
string <uuid>
clientToClientCommunication
boolean
Default: true

Enabling this feature causes the AP to allow MU to MU communication.

includeHostname
boolean
Default: false

Controls the AP hostname presence in the beacons.

mbo
boolean
Default: true

Enables Agile Multiband feature, that enables Wi-Fi devices to better respond to changing Wi-Fi network conditions. Improved resource utilization helps balance Wi-Fi network load, increase capacity, and provide end users the best possible Wi-Fi experience.

oweAutogen
boolean
Default: true

Auto generate the OWE network for transition mode

hotspotType
string (HotspotType)
Default: "Disabled"
Enum: "Disabled" "Enabled" "Osu"
hotspot
object (HotspotElement)

Contains the Hotspot 2.0 configuration or NULL if Hotspot is not enabled.

dscp
object (DscpElement)

Differentiated Services Code Point

Responses

201

Newly created service

default

Error response

post /v1/services

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/services

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "26942420-6179-11e8-a0a4-c98f03226474",
  • "canDelete": true,
  • "canEdit": true,
  • "serviceName": "1ecaicpguestwebbatac",
  • "captivePortalType": "Internal",
  • "cpNonAuthenticatedPolicyName": "Unregistered role for 1ecaicpguestwebbatac",
  • "status": "enabled",
  • "shutdownOnMeshpointLoss": false,
  • "ssid": "1ecaicpguestwebbatac",
  • "unAuthenticatedUserDefaultRoleID": "26942420-6179-11e8-a0a4-c98f03226474",
  • "defaultTopology": "a6a583f9-c5b0-4dca-b77c-36f99eb434b2",
  • "defaultCoS": "1eea4d66-2607-11e7-93ae-92361f002671",
  • "flexibleClientAccess": false,
  • "privacy":
    {
    },
  • "enabledSchedule": null,
  • "suppressSsid": false,
  • "enabled11kSupport": false,
  • "preAuthenticatedIdleTimeout": 300,
  • "postAuthenticatedIdleTimeout": 1800,
  • "sessionTimeout": 0,
  • "uapsdEnabled": true,
  • "rm11kBeaconReport": false,
  • "rm11kQuietIe": false,
  • "admissionControlVideo": false,
  • "admissionControlVoice": false,
  • "admissionControlBestEffort": false,
  • "admissionControlBackgroundTraffic": false,
  • "atf": "Off",
  • "mbaAuthorization": true,
  • "vendorSpecificAttributes":
    [
    ],
  • "enableCaptivePortal": true,
  • "authenticatedUserDefaultRoleID": "4459ee6c-2f76-11e7-93ae-92361f002671",
  • "features":
    [
    ],
  • "dot1dPortNumber": 110,
  • "accountingEnabled": false,
  • "mbatimeoutRoleId": null,
  • "proxied": "Local",
  • "roamingAssistPolicy": null,
  • "clientToClientCommunication": true,
  • "includeHostname": false,
  • "mbo": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "26942420-6179-11e8-a0a4-c98f03226474",
  • "canDelete": true,
  • "canEdit": true,
  • "serviceName": "1ecaicpguestwebbatac",
  • "captivePortalType": "Internal",
  • "cpNonAuthenticatedPolicyName": "Unregistered role for 1ecaicpguestwebbatac",
  • "status": "enabled",
  • "shutdownOnMeshpointLoss": false,
  • "ssid": "1ecaicpguestwebbatac",
  • "unAuthenticatedUserDefaultRoleID": "26942420-6179-11e8-a0a4-c98f03226474",
  • "defaultTopology": "a6a583f9-c5b0-4dca-b77c-36f99eb434b2",
  • "defaultCoS": "1eea4d66-2607-11e7-93ae-92361f002671",
  • "flexibleClientAccess": false,
  • "privacy":
    {
    },
  • "enabledSchedule": null,
  • "suppressSsid": false,
  • "enabled11kSupport": false,
  • "preAuthenticatedIdleTimeout": 300,
  • "postAuthenticatedIdleTimeout": 1800,
  • "sessionTimeout": 0,
  • "uapsdEnabled": true,
  • "rm11kBeaconReport": false,
  • "rm11kQuietIe": false,
  • "admissionControlVideo": false,
  • "admissionControlVoice": false,
  • "admissionControlBestEffort": false,
  • "admissionControlBackgroundTraffic": false,
  • "atf": "Off",
  • "mbaAuthorization": true,
  • "vendorSpecificAttributes":
    [
    ],
  • "enableCaptivePortal": true,
  • "authenticatedUserDefaultRoleID": "4459ee6c-2f76-11e7-93ae-92361f002671",
  • "features":
    [
    ],
  • "dot1dPortNumber": 110,
  • "accountingEnabled": false,
  • "mbatimeoutRoleId": null,
  • "proxied": "Local",
  • "roamingAssistPolicy": null,
  • "clientToClientCommunication": true,
  • "includeHostname": false,
  • "mbo": true
}

Get service with default values

Authorizations:

Responses

200

ServiceElement instance with the attributes set to default values

default

Error response

get /v1/services/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/services/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "26942420-6179-11e8-a0a4-c98f03226474",
  • "canDelete": true,
  • "canEdit": true,
  • "serviceName": "1ecaicpguestwebbatac",
  • "captivePortalType": "Internal",
  • "cpNonAuthenticatedPolicyName": "Unregistered role for 1ecaicpguestwebbatac",
  • "status": "enabled",
  • "shutdownOnMeshpointLoss": false,
  • "ssid": "1ecaicpguestwebbatac",
  • "unAuthenticatedUserDefaultRoleID": "26942420-6179-11e8-a0a4-c98f03226474",
  • "defaultTopology": "a6a583f9-c5b0-4dca-b77c-36f99eb434b2",
  • "defaultCoS": "1eea4d66-2607-11e7-93ae-92361f002671",
  • "flexibleClientAccess": false,
  • "privacy":
    {
    },
  • "enabledSchedule": null,
  • "suppressSsid": false,
  • "enabled11kSupport": false,
  • "preAuthenticatedIdleTimeout": 300,
  • "postAuthenticatedIdleTimeout": 1800,
  • "sessionTimeout": 0,
  • "uapsdEnabled": true,
  • "rm11kBeaconReport": false,
  • "rm11kQuietIe": false,
  • "admissionControlVideo": false,
  • "admissionControlVoice": false,
  • "admissionControlBestEffort": false,
  • "admissionControlBackgroundTraffic": false,
  • "atf": "Off",
  • "mbaAuthorization": true,
  • "vendorSpecificAttributes":
    [
    ],
  • "enableCaptivePortal": true,
  • "authenticatedUserDefaultRoleID": "4459ee6c-2f76-11e7-93ae-92361f002671",
  • "features":
    [
    ],
  • "dot1dPortNumber": 110,
  • "accountingEnabled": false,
  • "mbatimeoutRoleId": null,
  • "proxied": "Local",
  • "roamingAssistPolicy": null,
  • "clientToClientCommunication": true,
  • "includeHostname": false,
  • "mbo": true
}

Get service name mapped to ID

Authorizations:

Responses

200

Map with service names and corresponding ID

default

Error response

get /v1/services/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/services/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get service by its ID

Authorizations:
path Parameters
serviceId
required
string

A non-empty, valid Service id

Responses

200

ServiceElement instance with the given ID

default

Error response

get /v1/services/{serviceId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/services/{serviceId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "26942420-6179-11e8-a0a4-c98f03226474",
  • "canDelete": true,
  • "canEdit": true,
  • "serviceName": "1ecaicpguestwebbatac",
  • "captivePortalType": "Internal",
  • "cpNonAuthenticatedPolicyName": "Unregistered role for 1ecaicpguestwebbatac",
  • "status": "enabled",
  • "shutdownOnMeshpointLoss": false,
  • "ssid": "1ecaicpguestwebbatac",
  • "unAuthenticatedUserDefaultRoleID": "26942420-6179-11e8-a0a4-c98f03226474",
  • "defaultTopology": "a6a583f9-c5b0-4dca-b77c-36f99eb434b2",
  • "defaultCoS": "1eea4d66-2607-11e7-93ae-92361f002671",
  • "flexibleClientAccess": false,
  • "privacy":
    {
    },
  • "enabledSchedule": null,
  • "suppressSsid": false,
  • "enabled11kSupport": false,
  • "preAuthenticatedIdleTimeout": 300,
  • "postAuthenticatedIdleTimeout": 1800,
  • "sessionTimeout": 0,
  • "uapsdEnabled": true,
  • "rm11kBeaconReport": false,
  • "rm11kQuietIe": false,
  • "admissionControlVideo": false,
  • "admissionControlVoice": false,
  • "admissionControlBestEffort": false,
  • "admissionControlBackgroundTraffic": false,
  • "atf": "Off",
  • "mbaAuthorization": true,
  • "vendorSpecificAttributes":
    [
    ],
  • "enableCaptivePortal": true,
  • "authenticatedUserDefaultRoleID": "4459ee6c-2f76-11e7-93ae-92361f002671",
  • "features":
    [
    ],
  • "dot1dPortNumber": 110,
  • "accountingEnabled": false,
  • "mbatimeoutRoleId": null,
  • "proxied": "Local",
  • "roamingAssistPolicy": null,
  • "clientToClientCommunication": true,
  • "includeHostname": false,
  • "mbo": true
}

Update a service

Authorizations:
path Parameters
serviceId
required
string

A non-empty, valid Service ID

Request Body schema: application/json

ServiceElement instance with parameters to be configured

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
serviceName
required
string

The unique service name defined by the user.
Validations : Service name must be a Not null and non-empty string, between 1 to 64 characters.
Valid character set : Alphanumeric, special characters except semi-colon, colon and ampersand

captivePortalType
string (CaptivePortalType)
Enum: "Internal" "External" "EGuest" "CWA"

Captive Portal Type

eGuestPortalId
string <uuid>

UUID of the ExtremeGuest Service

eGuestSettings
Array of objects (EGuestServiceSettingsElement)
cpNonAuthenticatedPolicyName
string
status
required
string (ServiceStatus)
Enum: "enabled" "disabled" "scheduled"
shutdownOnMeshpointLoss
boolean
Default: false

Disable service if meshpoint connection is lost

ssid
required
string

The SSID. The default value is the same as the servicename.
Validations : SSID must be a Not null and non-empty string, between 1 to 32 characters.

unAuthenticatedUserDefaultRoleID
string

The default role for unauthenticated users. It defaults to the predefined "Allow All Role". When set to None (or not set), it defaults to "Allow All" on the services default topology.
Validations : Not null and valid UUID of Role.

defaultTopology
required
string

The topology (VLAN) that traffic should be placed on by default when the role assigned to the station that generates the traffic does not specify the VLAN on which to forward traffic. This value can be null, but a best practice is to assign a topology to the service, then use roles to allow or deny specific types of traffic. The default value for this attribute is null.

Implementation detail: This could just be a String containing the name of a defined topology.
Validations : Valid UUID of Topology.

defaultCoS
string

The default class of service assigned to frames that are not assigned a CoS by the role (that is assigned to the station generating the traffic). Set this to null to leave unchanged the CoS of frames not assigned a CoS explicitly by the role of the station generating traffic. Default for this attribute is null.

Implementation details: This could just be a String containing the name of a defined CoS.
Validations : Valid UUID of CoS.

flexibleClientAccess
boolean

When enabled, the AP ensures that fast clients (with content to send) get as much airtime as slow clients. When disabled, the AP treats all clients equally and processes packet forwarding requests on a first-come-first-serve basis. By default, this feature is disabled.

privacy
object
enabledSchedule
object Recursive

The time during which this service is enabled. It is the same time range for each site at which the service is available. The user interface can offer simple checklists for time ranges (For example, always, weekdays only, office hours only, never), and only expose an exact representation of the data structure as an advanced option.

suppressSsid
boolean

Include the SSID in the beacon frame or suppress it. Setting to true prevents the SSID from being advertised in the beacon. Setting it to false requires the SSID to be included in the beacon advertisements. The default is false. This should be considered an advanced option for an administrator.

enabled11kSupport
boolean

Enable support for 802.11k radio management. Setting to true enables the feature and setting to false disables the feature. The feature is disabled by default. When the feature is enabled, support for transmitting the Quiet IE and for the 11k Beacon report are also enabled.Disabling 11k support disables the use of the quiet IE and the 11k Beacon report.

preAuthenticatedIdleTimeout
number

The number of minutes that the station can remain idle (not transmit payload traffic) before its session is terminated. Applies to stations in the unauthenticated state. Usually this should be set low since many devices associate to whatever wireless networks they see even though the owner is not planning to use the network and may not be aware that there even is a wireless network nearby. The default for this attribute is 5 minutes. This is an advanced option. An administrator should have to drill down for it in GUI applications.
Validations : Integer value between 5 and 999999.

postAuthenticatedIdleTimeout
number

The number of minutes that the station can remain idle (not transmit payload traffic) before its session is terminated. Applies to stations that have authenticated to the network. Unless address space is at a premium this can and should be set to a higher value than preAuthenticatedIdleTimeout. The default for this attribute is 30 minutes. This is an advanced option. An administrator should have to drill down into the applications user interface.
Validations : Integer value between 0 and 999999.

sessionTimeout
number

The maximum number of minutes that a station is allowed to have a session on the network before it is logged out. This applies even when the user is active. Setting this to 0 allows the user to stay on the network without reauthenticating indefinitely. The default for this attribute is 0. This value is used as the default maximum session duration for each new session. Session duration timeout values sent from a RADIUS server overrides this value.
Validations : Integer value between 0 and 999999.

uapsdEnabled
boolean

Unscheduled Automatic Power Save Delivery (U-APSD) also known as WMM power save. Set to true to enable U-APSD and false to disable. The default for this setting is true (enabled). This is an advanced setting that will rarely need to change. It is configurable because some client devices do not implement U-APSD correctly and run into trouble on networks using it.

rm11kBeaconReport
boolean

Select to enable Beacon Report

rm11kQuietIe
boolean

Select to enable Quiet IE

admissionControlVideo
boolean

This feature is only available if admission control is enabled for Voice. With admission control, clients are forced to request admission to use the high priority access categories in both inbound and outbound directions. Admission control protects admitted traffic against new bandwidth demands. Select to provide distinct thresholds for VI (video)

admissionControlVoice
boolean

Select to enable Admission Control for Voice. With admission control, clients are forced to request admission to use the high priority access categories in both inbound and outbound directions. Admission control protects admitted traffic against new bandwidth demands.

admissionControlBestEffort
boolean

Select to enable Global Admission Control for Best Effort, If the client does not support admission control for the access category that requires admission control, the traffic category is downgraded to a lower access category that does not have Mandatory Admission Control. For example, if admission control is required for video, and client does not support admission control for video, the traffic is downgraded to Best Effort (BE)

admissionControlBackgroundTraffic
boolean

Select to enable Global Admission Control for Background Traffic. This feature is only available if admission control is enabled for Background. With admission control, clients are forced to request admission to use the high priority access categories in both inbound and outbound directions. Admission control protects admitted traffic against new bandwidth demands

atf
string
Enum: "Off" "On"

Select to enable Airtime Fairness

mbaAuthorization
required
boolean

Select to enable MBA authorization

vendorSpecificAttributes
Array of strings (VsaType)
Items Enum: "ingressRateControl" "egressRateControl" "vnsName" "apName" "topologyName" "ssid" "roleName"

In addition to the standard RADIUS message, you can include Vendor Specific Attributes (VSAs). The Extreme Networks IdentiFi Wireless authentication mechanism provides seven VSAs for RADIUS and other authentication mechanisms (Vendor Specific Attributes).

enableCaptivePortal
required
boolean

Flag to enable Captive Portal

authenticatedUserDefaultRoleID
required
string

Default role ID for authenticated user

features
Array of strings

List of supported features

dot1dPortNumber
number

802.1d port number

accountingEnabled
boolean

Select accounting enabled

mbatimeoutRoleId
string <uuid>

MAC based authentication timeout role ID

bypassOnboardingEnabled
boolean
Deprecated

Determines if the enabled bypass onboarding authentication is done on a 3rd-party RADIUS server. The default is false.

roamingAssistPolicy
object (RoamingAssistPolicyElement) Nullable

When roamingAssistPolicy=null, roaming assist is disabled. When roamingAssistPolicy={ detectionThreshold: -90 }, roaming assist is enabled.

aaaPolicyId
string <uuid>
clientToClientCommunication
boolean
Default: true

Enabling this feature causes the AP to allow MU to MU communication.

includeHostname
boolean
Default: false

Controls the AP hostname presence in the beacons.

mbo
boolean
Default: true

Enables Agile Multiband feature, that enables Wi-Fi devices to better respond to changing Wi-Fi network conditions. Improved resource utilization helps balance Wi-Fi network load, increase capacity, and provide end users the best possible Wi-Fi experience.

oweAutogen
boolean
Default: true

Auto generate the OWE network for transition mode

hotspotType
string (HotspotType)
Default: "Disabled"
Enum: "Disabled" "Enabled" "Osu"
hotspot
object (HotspotElement)

Contains the Hotspot 2.0 configuration or NULL if Hotspot is not enabled.

dscp
object (DscpElement)

Differentiated Services Code Point

Responses

200

Updated service configuration

default

Error response

put /v1/services/{serviceId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/services/{serviceId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "26942420-6179-11e8-a0a4-c98f03226474",
  • "canDelete": true,
  • "canEdit": true,
  • "serviceName": "1ecaicpguestwebbatac",
  • "captivePortalType": "Internal",
  • "cpNonAuthenticatedPolicyName": "Unregistered role for 1ecaicpguestwebbatac",
  • "status": "enabled",
  • "shutdownOnMeshpointLoss": false,
  • "ssid": "1ecaicpguestwebbatac",
  • "unAuthenticatedUserDefaultRoleID": "26942420-6179-11e8-a0a4-c98f03226474",
  • "defaultTopology": "a6a583f9-c5b0-4dca-b77c-36f99eb434b2",
  • "defaultCoS": "1eea4d66-2607-11e7-93ae-92361f002671",
  • "flexibleClientAccess": false,
  • "privacy":
    {
    },
  • "enabledSchedule": null,
  • "suppressSsid": false,
  • "enabled11kSupport": false,
  • "preAuthenticatedIdleTimeout": 300,
  • "postAuthenticatedIdleTimeout": 1800,
  • "sessionTimeout": 0,
  • "uapsdEnabled": true,
  • "rm11kBeaconReport": false,
  • "rm11kQuietIe": false,
  • "admissionControlVideo": false,
  • "admissionControlVoice": false,
  • "admissionControlBestEffort": false,
  • "admissionControlBackgroundTraffic": false,
  • "atf": "Off",
  • "mbaAuthorization": true,
  • "vendorSpecificAttributes":
    [
    ],
  • "enableCaptivePortal": true,
  • "authenticatedUserDefaultRoleID": "4459ee6c-2f76-11e7-93ae-92361f002671",
  • "features":
    [
    ],
  • "dot1dPortNumber": 110,
  • "accountingEnabled": false,
  • "mbatimeoutRoleId": null,
  • "proxied": "Local",
  • "roamingAssistPolicy": null,
  • "clientToClientCommunication": true,
  • "includeHostname": false,
  • "mbo": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "26942420-6179-11e8-a0a4-c98f03226474",
  • "canDelete": true,
  • "canEdit": true,
  • "serviceName": "1ecaicpguestwebbatac",
  • "captivePortalType": "Internal",
  • "cpNonAuthenticatedPolicyName": "Unregistered role for 1ecaicpguestwebbatac",
  • "status": "enabled",
  • "shutdownOnMeshpointLoss": false,
  • "ssid": "1ecaicpguestwebbatac",
  • "unAuthenticatedUserDefaultRoleID": "26942420-6179-11e8-a0a4-c98f03226474",
  • "defaultTopology": "a6a583f9-c5b0-4dca-b77c-36f99eb434b2",
  • "defaultCoS": "1eea4d66-2607-11e7-93ae-92361f002671",
  • "flexibleClientAccess": false,
  • "privacy":
    {
    },
  • "enabledSchedule": null,
  • "suppressSsid": false,
  • "enabled11kSupport": false,
  • "preAuthenticatedIdleTimeout": 300,
  • "postAuthenticatedIdleTimeout": 1800,
  • "sessionTimeout": 0,
  • "uapsdEnabled": true,
  • "rm11kBeaconReport": false,
  • "rm11kQuietIe": false,
  • "admissionControlVideo": false,
  • "admissionControlVoice": false,
  • "admissionControlBestEffort": false,
  • "admissionControlBackgroundTraffic": false,
  • "atf": "Off",
  • "mbaAuthorization": true,
  • "vendorSpecificAttributes":
    [
    ],
  • "enableCaptivePortal": true,
  • "authenticatedUserDefaultRoleID": "4459ee6c-2f76-11e7-93ae-92361f002671",
  • "features":
    [
    ],
  • "dot1dPortNumber": 110,
  • "accountingEnabled": false,
  • "mbatimeoutRoleId": null,
  • "proxied": "Local",
  • "roamingAssistPolicy": null,
  • "clientToClientCommunication": true,
  • "includeHostname": false,
  • "mbo": true
}

Delete a service by its ID

Authorizations:
path Parameters
serviceId
required
string

A non-blank, valid Service name

Responses

200

Service deleted successfully

default

Error response

delete /v1/services/{serviceId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/services/{serviceId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get list access point serial numbers for a service

Authorizations:
path Parameters
serviceId
required
string

A non-empty, valid service ID

Responses

200

List of serial numbers

default

Error response

get /v1/services/{serviceId}/deviceids

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/services/{serviceId}/deviceids

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • "string"
]

Get list of site IDs at which the service is currently deployed

Authorizations:
path Parameters
serviceId
required
string

A non-empty, valid Service UUID

Responses

200

List of sites IDs at which the given service is deployed currently

default

Error response

get /v1/services/{serviceId}/siteids

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/services/{serviceId}/siteids

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • "string"
]

Get current stations of a service.

Authorizations:
path Parameters
serviceId
required
string

Responses

200

List of StationElement objects

default

Error response

get /v1/services/{serviceId}/stations

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/services/{serviceId}/stations

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get available widgets for Service report (/v1/services/{serviceId}/report PUT)

Authorizations:

Responses

200

Returns list of WidgetInfoElement

default

Error response

get /v1/services/report/widgets

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/services/report/widgets

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get Service report. (Use /v1/services/report/widgets to get all available widgets. Select one. Then, use /v1/services/{serviceId}/report (PUT))

Authorizations:
path Parameters
serviceId
required
string
Request Body schema: application/json

A valid report request

duration
string (Duration)
Enum: "D_3h" "D_3d" "D_14d"

Report duration

widgets
Array of objects (WidgetInfoElement)

Responses

200

Returns ServiceReportElement

default

Error response

put /v1/services/{serviceId}/report

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/services/{serviceId}/report

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "duration": "D_14d",
  • "widgets":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "topDevicesByUserCount":
    {
    },
  • "applicationDistribution":
    {
    },
  • "deviceManufacturerDistribution":
    {
    },
  • "topDevicesByThroughput":
    {
    },
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topAccessPointsByThroughput":
    [
    ],
  • "topAccessPointsByUserCount":
    [
    ],
  • "worstAccessPointsByThroughput":
    [
    ],
  • "worstAccessPointsByUserCount":
    [
    ],
  • "topSwitchesByThroughput":
    [
    ],
  • "worstSwitchesByThroughput":
    [
    ],
  • "topAccessPointsByConcurrentUserCount":
    [
    ],
  • "worstAccessPointsByConcurrentUserCount":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUniqueUsers":
    [
    ],
  • "topAppGroupsByUniqueUsers":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ]
}

Get Service report. Deprecated

Authorizations:
path Parameters
serviceId
required
string
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
widgetList
string
Example: widgetList=topAccessPointsByThroughput|5,topAccessPointsByUserCount|5

Responses

200

Returns the ServiceReportElement

default

Error response

get /v1/services/{serviceId}/report

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/services/{serviceId}/report

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "topDevicesByUserCount":
    {
    },
  • "applicationDistribution":
    {
    },
  • "deviceManufacturerDistribution":
    {
    },
  • "topDevicesByThroughput":
    {
    },
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topAccessPointsByThroughput":
    [
    ],
  • "topAccessPointsByUserCount":
    [
    ],
  • "worstAccessPointsByThroughput":
    [
    ],
  • "worstAccessPointsByUserCount":
    [
    ],
  • "topSwitchesByThroughput":
    [
    ],
  • "worstSwitchesByThroughput":
    [
    ],
  • "topAccessPointsByConcurrentUserCount":
    [
    ],
  • "worstAccessPointsByConcurrentUserCount":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUniqueUsers":
    [
    ],
  • "topAppGroupsByUniqueUsers":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ]
}

Get list of profiles and APs that use the specified service as the primary BSSID. Disabling or removing the service could cause a radio reset.

Authorizations:
path Parameters
serviceid
required
string

Responses

200

List of profiles and APs that use the WLAN as primary BSSID per radio

default

Error response

get /v1/services/{serviceid}/bssid0

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/services/{serviceid}/bssid0

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "profiles":
    [
    ],
  • "aps":
    [
    ]
}

SiteManager

Create and manage site configuration.

Get SNMP configurations defined across all sites

Authorizations:

Responses

200

SNMPElement object with all SNMP configurations defined

default

Error response

get /v1/snmp

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/snmp

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "trapSeverity": "Critical",
  • "snmpVersion": "DISABLED",
  • "engineId": null,
  • "context": null,
  • "v2Communities": { },
  • "v3Users": [ ],
  • "notifications": [ ]
}

Get list of sites for a customer

Authorizations:

Responses

200

List of all the Site elements

default

Error response

get /v3/sites

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/sites

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new site for the selected access point

Authorizations:
Request Body schema: application/json

A valid Site instance

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
siteName
string [ 1 .. 64 ] characters

A string that uniquely identifies a location
Valid character set : Alphanumeric, special characters except semi-colon, colon and ampersand

country
string
Enum: "AFGHANISTAN" "ALBANIA" "ALGERIA" "AMERICAN_SAMOA" "ANDORRA" "ANGOLA" "ANGUILLA" "ANTARCTICA" "ANTIGUA_BARBUDA" "ARGENTINA" "ARMENIA" "ARUBA" "AUSTRALIA" "AUSTRIA" "AZERBAIJAN" "BAHAMAS" "BAHRAIN" "BANGLADESH" "BARBADOS" "BELARUS" "BELGIUM" "BELIZE" "BENIN" "BERMUDA" "BHUTAN" "BOLIVIA" "BOSNIA_HERZEGOVINA" "BOTSWANA" "BOUVET_ISLAND" "BRAZIL" "BRITISH_INDIAN_OCEAN_TERRITORY" "BRUNEI_DARUSSALAM" "BULGARIA" "BURKINA_FASO" "BURUNDI" "CAMBODIA" "CAMEROON" "CANADA" "CAPE_VERDE" "CAYMAN_ISLANDS" "CENTRAL_AFRICAN_REPUBLIC" "CHAD" "CHILE" "CHINA" "CHRISTMAS_ISLAND" "COCOS_KEELING_ISLANDS" "COLOMBIA" "COMOROS" "CONGO" "CONGO_THE_DRC" "COOK_ISLANDS" "COSTA_RICA" "IVORY_COAST" "CROATIA" "CUBA" "CURACAO" "CYPRUS" "CZECH" "DENMARK" "DJIBOUTI" "DOMINICA" "DOMINICAN" "EAST_TIMOR" "ECUADOR" "EGYPT" "EL_SALVADOR" "EQUATORIAL_GUINEA" "ERITREA" "ESTONIA" "ETHIOPIA" "FALKLAND_ISLANDS_MALVINAS" "FAEROE_ISLANDS" "FIJI" "FINLAND" "FRANCE" "FRANCE_METROPOLITAN" "FRENCH_GUIANA" "FRENCH_POLYNESIA" "FRENCH_SOUTHERN_TERRITORIES" "GABON" "GAMBIA" "GEORGIA" "GERMANY" "GHANA" "GIBRALTAR" "GREECE" "GREENLAND" "GRENADA" "GUADELOUPE" "GUAM" "GUATEMALA" "GUINEA" "GUINEA_BISSAU" "GUYANA" "HAITI" "HEARD_AND_MC_DONALD_ISLANDS" "VATICAN" "HONDURAS" "HONG_KONG" "HUNGARY" "ICELAND" "INDIA" "INDONESIA" "IRAN" "IRAQ" "IRELAND" "ISRAEL" "ITALY" "JAMAICA" "JAPAN" "JORDAN" "KAZAKHSTAN" "KENYA" "KIRIBATI" "KOREA_NORTH" "KOREA" "KOSOVO" "KUWAIT" "KYRGYZSTAN" "LAOS" "LATVIA" "LEBANON" "LESOTHO" "LIBERIA" "LIBYA" "LIECHTENSTEIN" "LITHUANIA" "LUXEMBOURG" "MACAU" "MACAULL" "MACEDONIA" "MADAGASCAR" "MALAWI" "MALAYSIA" "MALDIVES" "MALI" "MALTA" "MARSHALL_ISLANDS" "MARTINIQUE" "MAURITANIA" "MAURITIUS" "MAYOTTE" "MEXICO" "MICRONESIA_FEDERATED_STATES_OF" "MOLDOVA_REPUBLIC_OF" "MONACO" "MONGOLIA" "MONTENEGRO" "MONTSERRAT" "MOROCCO" "MOZAMIBIQUE" "MYANMAR_BURMA" "NAMIBIA" "NAURU" "NEPAL" "NETHERLANDS" "NEW_CALEDONIA" "NEW_ZEALAND" "NICARAGUA" "NIGER" "NIGERIA" "NIUE" "NORFOLK_ISLAND" "NORTHERN_MARIANA_ISLANDS" "NORWAY" "OMAN" "PAKISTAN" "PALAU" "PANAMA" "PAPUA_NEW_GUINEA" "PARAGUAY" "PERU" "PHILIPPINES" "PITCAIRN" "POLAND" "PORTUGAL" "PUERTO_RICO" "QATAR" "REUNION" "ROMANIA" "RUSSIA" "RWANDA" "SAINT_KITTS_AND_NEVIS" "SAINT_LUCIA" "SAINT_VINCENT_AND_THE_GRENADINES" "SAMOA" "SAN_MARINO" "SAO_TOME_AND_PRINCIPE" "SAUDI_ARABIA" "SENEGAL" "SERBIA" "SERBIA_MONTENEGRO" "SEYCHELLES" "SIERRA_LEONE" "SINGAPORE" "SLOVAKIA" "SLOVENIA" "SOLOMON_ISLANDS" "SOMALIA" "SOUTH_AFRICA" "SOUTH_GEORGIA_AND_SOUTH_SS" "SOUTH_SUDAN" "SPAIN" "SRI_LANKA" "ST_HELENA" "ST_PIERRE_AND_MIQUELON" "SUDAN" "SURINAME" "SVALBARD_AND_JAN_MAYEN_ISLANDS" "SWAZILAND" "SWEDEN" "SWITZERLAND" "SYRIA" "TAIWAN" "TAJIKISTAN" "TANZANIA_UNITED_REPUBLIC_OF" "THAILAND" "TOGO" "TOKELAU" "TONGA" "TRINIDAD_AND_TOBAGO" "TUNISIA" "TURKEY" "TURKMENISTAN" "TURKS_AND_CAICOS_ISLANDS" "TUVALU" "UGANDA" "UKRAINE" "UAE" "UNITED_KINGDOM" "UNITED_STATES" "URUGUAY" "US_MINOR_ISLANDS" "UZBEKISTAN" "VANUATU" "VENEZUELA" "VIETNAM" "VIRGIN_ISLANDS_BRITISH" "VIRGIN_ISLANDS_US" "WALLIS_AND_FUTUNA_ISLANDS" "WESTERN_SAHARA" "YEMEN" "ZAMBIA" "ZIMBABWE" "DEBUG" "DEMO" "NETHERLANDS_ANTILLES"

The name of the country in which the site and its devices are deployed. This is an optional attribute. It can be null. null.

postalCode
string <= 255 characters

Site postal (zip) code

distributed
boolean
timezone
string

The name of the time zone in which the site and its devices are located. The string must be one of the official time zone strings listed in the file "zone1970.tab" available from IANA at www.iana.org in the file https://www.iana.org/time-zones/repository/releases/tzdata2015e.tar.gz. This field is mandatory.
Validations : Not null and non-empty, valid time zone string

aaaPolicy
object Recursive
Deprecated

This class represents a AAA Policy

aaaPolicyId
string <uuid>
deviceGroups
Array of objects (DeviceGroupElement)

The list of device groups associated with this site.

switchDeviceGroups
Array of objects (SwitchDeviceGroupElement)

The list of switch device groups associated with this site.

switchSerialNumbers
Array of strings

The list of switches in the site. It returns only the serial numbers of the switches.
Valid character set : Alphanumeric, special characters except semi-colon, colon and ampersand

stpEnabled
boolean

A flag to enable STP globally per site.

siteManagerName
string [ 0 .. 64 ] characters
siteManagerEmail
string [ 0 .. 64 ] characters
contact
string [ 0 .. 64 ] characters
treeNode
object (TreeNodeElement) Recursive
snmpConfig
object Recursive

The SNMP configuration created for the site.

enforceVersion
string
Enum: "full" "major" "minor" "none" "strict"

Select enforce version to enforce which AP version will be allowed in the site. Default is major. Options are, full Allow adoption only when the first four octets of the firmware versions match, e.g. 5.1.0.0 major Allow adoption only when the first two octets of the firmware versions match, e.g. 5.1 minor Allow adoption only when the first three octets of the firmware versions match, e.g. 5.1.1 none Allow adoption between any versions strict Allow adoption only when the firmware versions are exactly the same, e.g. 5.1.0.0-123456X

preferredAffinity
string
Enum: "Any" "Primary" "Backup"

Select preferred connection point for APs, assigned to this site.

macAcl
object Recursive

If macAcl is null, then global MAC ACL is used.

protectedAcl
object

If protectedAcl is null, no protection provided.

Responses

201

Newly created SiteElement instance with the configured parameters

default

Error response

post /v3/sites

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/sites

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "eaab6b13-865d-4475-a26f-d3d95b6e0812",
  • "canDelete": true,
  • "canEdit": true,
  • "siteName": "ThornhillCentralized",
  • "country": "CANADA",
  • "distributed": false,
  • "timezone": "America/Toronto",
  • "aaaPolicy":
    {
    },
  • "deviceGroups":
    [
    ],
  • "switchSerialNumbers":
    [
    ],
  • "stpEnabled": false,
  • "siteManagerName": "",
  • "siteManagerEmail": "",
  • "contact": "",
  • "treeNode":
    {
    },
  • "snmpConfig":
    {
    },
  • "features":
    [
    ],
  • "proxied": "Local"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "eaab6b13-865d-4475-a26f-d3d95b6e0812",
  • "canDelete": true,
  • "canEdit": true,
  • "siteName": "ThornhillCentralized",
  • "country": "CANADA",
  • "distributed": false,
  • "timezone": "America/Toronto",
  • "aaaPolicy":
    {
    },
  • "deviceGroups":
    [
    ],
  • "switchSerialNumbers":
    [
    ],
  • "stpEnabled": false,
  • "siteManagerName": "",
  • "siteManagerEmail": "",
  • "contact": "",
  • "treeNode":
    {
    },
  • "snmpConfig":
    {
    },
  • "features":
    [
    ],
  • "proxied": "Local"
}

Get SNMP configuration with default values

Authorizations:

Responses

200

SNMPElement instance with attributes set to default values

default

Error response

get /v1/snmp/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/snmp/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "trapSeverity": "Critical",
  • "snmpVersion": "DISABLED",
  • "engineId": null,
  • "context": null,
  • "v2Communities": { },
  • "v3Users": [ ],
  • "notifications": [ ]
}

Get list of supported countries

Authorizations:

Responses

200

List of supported countries

default

Error response

get /v3/sites/countrylist

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/sites/countrylist

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get site configuration with default values

Authorizations:

Responses

200

SiteElement instance with attributes set to default values

default

Error response

get /v3/sites/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/sites/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "eaab6b13-865d-4475-a26f-d3d95b6e0812",
  • "canDelete": true,
  • "canEdit": true,
  • "siteName": "ThornhillCentralized",
  • "country": "CANADA",
  • "distributed": false,
  • "timezone": "America/Toronto",
  • "aaaPolicy":
    {
    },
  • "deviceGroups":
    [
    ],
  • "switchSerialNumbers":
    [
    ],
  • "stpEnabled": false,
  • "siteManagerName": "",
  • "siteManagerEmail": "",
  • "contact": "",
  • "treeNode":
    {
    },
  • "snmpConfig":
    {
    },
  • "features":
    [
    ],
  • "proxied": "Local"
}

Get site names mapped to IDs

Authorizations:

Responses

200

Map with site names and corresponding IDs

default

Error response

get /v3/sites/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/sites/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get site by ID

Authorizations:
path Parameters
siteId
required
string

A non-empty, valid Site ID

Responses

200

SiteElement instance

default

Error response

get /v3/sites/{siteId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/sites/{siteId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "eaab6b13-865d-4475-a26f-d3d95b6e0812",
  • "canDelete": true,
  • "canEdit": true,
  • "siteName": "ThornhillCentralized",
  • "country": "CANADA",
  • "distributed": false,
  • "timezone": "America/Toronto",
  • "aaaPolicy":
    {
    },
  • "deviceGroups":
    [
    ],
  • "switchSerialNumbers":
    [
    ],
  • "stpEnabled": false,
  • "siteManagerName": "",
  • "siteManagerEmail": "",
  • "contact": "",
  • "treeNode":
    {
    },
  • "snmpConfig":
    {
    },
  • "features":
    [
    ],
  • "proxied": "Local"
}

Update a site by ID

Authorizations:
path Parameters
siteId
required
string

A non-empty, valid Site ID

Request Body schema: application/json

A valid Site with the configured parameters

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
siteName
string [ 1 .. 64 ] characters

A string that uniquely identifies a location
Valid character set : Alphanumeric, special characters except semi-colon, colon and ampersand

country
string
Enum: "AFGHANISTAN" "ALBANIA" "ALGERIA" "AMERICAN_SAMOA" "ANDORRA" "ANGOLA" "ANGUILLA" "ANTARCTICA" "ANTIGUA_BARBUDA" "ARGENTINA" "ARMENIA" "ARUBA" "AUSTRALIA" "AUSTRIA" "AZERBAIJAN" "BAHAMAS" "BAHRAIN" "BANGLADESH" "BARBADOS" "BELARUS" "BELGIUM" "BELIZE" "BENIN" "BERMUDA" "BHUTAN" "BOLIVIA" "BOSNIA_HERZEGOVINA" "BOTSWANA" "BOUVET_ISLAND" "BRAZIL" "BRITISH_INDIAN_OCEAN_TERRITORY" "BRUNEI_DARUSSALAM" "BULGARIA" "BURKINA_FASO" "BURUNDI" "CAMBODIA" "CAMEROON" "CANADA" "CAPE_VERDE" "CAYMAN_ISLANDS" "CENTRAL_AFRICAN_REPUBLIC" "CHAD" "CHILE" "CHINA" "CHRISTMAS_ISLAND" "COCOS_KEELING_ISLANDS" "COLOMBIA" "COMOROS" "CONGO" "CONGO_THE_DRC" "COOK_ISLANDS" "COSTA_RICA" "IVORY_COAST" "CROATIA" "CUBA" "CURACAO" "CYPRUS" "CZECH" "DENMARK" "DJIBOUTI" "DOMINICA" "DOMINICAN" "EAST_TIMOR" "ECUADOR" "EGYPT" "EL_SALVADOR" "EQUATORIAL_GUINEA" "ERITREA" "ESTONIA" "ETHIOPIA" "FALKLAND_ISLANDS_MALVINAS" "FAEROE_ISLANDS" "FIJI" "FINLAND" "FRANCE" "FRANCE_METROPOLITAN" "FRENCH_GUIANA" "FRENCH_POLYNESIA" "FRENCH_SOUTHERN_TERRITORIES" "GABON" "GAMBIA" "GEORGIA" "GERMANY" "GHANA" "GIBRALTAR" "GREECE" "GREENLAND" "GRENADA" "GUADELOUPE" "GUAM" "GUATEMALA" "GUINEA" "GUINEA_BISSAU" "GUYANA" "HAITI" "HEARD_AND_MC_DONALD_ISLANDS" "VATICAN" "HONDURAS" "HONG_KONG" "HUNGARY" "ICELAND" "INDIA" "INDONESIA" "IRAN" "IRAQ" "IRELAND" "ISRAEL" "ITALY" "JAMAICA" "JAPAN" "JORDAN" "KAZAKHSTAN" "KENYA" "KIRIBATI" "KOREA_NORTH" "KOREA" "KOSOVO" "KUWAIT" "KYRGYZSTAN" "LAOS" "LATVIA" "LEBANON" "LESOTHO" "LIBERIA" "LIBYA" "LIECHTENSTEIN" "LITHUANIA" "LUXEMBOURG" "MACAU" "MACAULL" "MACEDONIA" "MADAGASCAR" "MALAWI" "MALAYSIA" "MALDIVES" "MALI" "MALTA" "MARSHALL_ISLANDS" "MARTINIQUE" "MAURITANIA" "MAURITIUS" "MAYOTTE" "MEXICO" "MICRONESIA_FEDERATED_STATES_OF" "MOLDOVA_REPUBLIC_OF" "MONACO" "MONGOLIA" "MONTENEGRO" "MONTSERRAT" "MOROCCO" "MOZAMIBIQUE" "MYANMAR_BURMA" "NAMIBIA" "NAURU" "NEPAL" "NETHERLANDS" "NEW_CALEDONIA" "NEW_ZEALAND" "NICARAGUA" "NIGER" "NIGERIA" "NIUE" "NORFOLK_ISLAND" "NORTHERN_MARIANA_ISLANDS" "NORWAY" "OMAN" "PAKISTAN" "PALAU" "PANAMA" "PAPUA_NEW_GUINEA" "PARAGUAY" "PERU" "PHILIPPINES" "PITCAIRN" "POLAND" "PORTUGAL" "PUERTO_RICO" "QATAR" "REUNION" "ROMANIA" "RUSSIA" "RWANDA" "SAINT_KITTS_AND_NEVIS" "SAINT_LUCIA" "SAINT_VINCENT_AND_THE_GRENADINES" "SAMOA" "SAN_MARINO" "SAO_TOME_AND_PRINCIPE" "SAUDI_ARABIA" "SENEGAL" "SERBIA" "SERBIA_MONTENEGRO" "SEYCHELLES" "SIERRA_LEONE" "SINGAPORE" "SLOVAKIA" "SLOVENIA" "SOLOMON_ISLANDS" "SOMALIA" "SOUTH_AFRICA" "SOUTH_GEORGIA_AND_SOUTH_SS" "SOUTH_SUDAN" "SPAIN" "SRI_LANKA" "ST_HELENA" "ST_PIERRE_AND_MIQUELON" "SUDAN" "SURINAME" "SVALBARD_AND_JAN_MAYEN_ISLANDS" "SWAZILAND" "SWEDEN" "SWITZERLAND" "SYRIA" "TAIWAN" "TAJIKISTAN" "TANZANIA_UNITED_REPUBLIC_OF" "THAILAND" "TOGO" "TOKELAU" "TONGA" "TRINIDAD_AND_TOBAGO" "TUNISIA" "TURKEY" "TURKMENISTAN" "TURKS_AND_CAICOS_ISLANDS" "TUVALU" "UGANDA" "UKRAINE" "UAE" "UNITED_KINGDOM" "UNITED_STATES" "URUGUAY" "US_MINOR_ISLANDS" "UZBEKISTAN" "VANUATU" "VENEZUELA" "VIETNAM" "VIRGIN_ISLANDS_BRITISH" "VIRGIN_ISLANDS_US" "WALLIS_AND_FUTUNA_ISLANDS" "WESTERN_SAHARA" "YEMEN" "ZAMBIA" "ZIMBABWE" "DEBUG" "DEMO" "NETHERLANDS_ANTILLES"

The name of the country in which the site and its devices are deployed. This is an optional attribute. It can be null. null.

postalCode
string <= 255 characters

Site postal (zip) code

distributed
boolean
timezone
string

The name of the time zone in which the site and its devices are located. The string must be one of the official time zone strings listed in the file "zone1970.tab" available from IANA at www.iana.org in the file https://www.iana.org/time-zones/repository/releases/tzdata2015e.tar.gz. This field is mandatory.
Validations : Not null and non-empty, valid time zone string

aaaPolicy
object Recursive
Deprecated

This class represents a AAA Policy

aaaPolicyId
string <uuid>
deviceGroups
Array of objects (DeviceGroupElement)

The list of device groups associated with this site.

switchDeviceGroups
Array of objects (SwitchDeviceGroupElement)

The list of switch device groups associated with this site.

switchSerialNumbers
Array of strings

The list of switches in the site. It returns only the serial numbers of the switches.
Valid character set : Alphanumeric, special characters except semi-colon, colon and ampersand

stpEnabled
boolean

A flag to enable STP globally per site.

siteManagerName
string [ 0 .. 64 ] characters
siteManagerEmail
string [ 0 .. 64 ] characters
contact
string [ 0 .. 64 ] characters
treeNode
object (TreeNodeElement) Recursive
snmpConfig
object Recursive

The SNMP configuration created for the site.

enforceVersion
string
Enum: "full" "major" "minor" "none" "strict"

Select enforce version to enforce which AP version will be allowed in the site. Default is major. Options are, full Allow adoption only when the first four octets of the firmware versions match, e.g. 5.1.0.0 major Allow adoption only when the first two octets of the firmware versions match, e.g. 5.1 minor Allow adoption only when the first three octets of the firmware versions match, e.g. 5.1.1 none Allow adoption between any versions strict Allow adoption only when the firmware versions are exactly the same, e.g. 5.1.0.0-123456X

preferredAffinity
string
Enum: "Any" "Primary" "Backup"

Select preferred connection point for APs, assigned to this site.

macAcl
object Recursive

If macAcl is null, then global MAC ACL is used.

protectedAcl
object

If protectedAcl is null, no protection provided.

Responses

200

The updated site configuration

default

Error response

put /v3/sites/{siteId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/sites/{siteId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "eaab6b13-865d-4475-a26f-d3d95b6e0812",
  • "canDelete": true,
  • "canEdit": true,
  • "siteName": "ThornhillCentralized",
  • "country": "CANADA",
  • "distributed": false,
  • "timezone": "America/Toronto",
  • "aaaPolicy":
    {
    },
  • "deviceGroups":
    [
    ],
  • "switchSerialNumbers":
    [
    ],
  • "stpEnabled": false,
  • "siteManagerName": "",
  • "siteManagerEmail": "",
  • "contact": "",
  • "treeNode":
    {
    },
  • "snmpConfig":
    {
    },
  • "features":
    [
    ],
  • "proxied": "Local"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "eaab6b13-865d-4475-a26f-d3d95b6e0812",
  • "canDelete": true,
  • "canEdit": true,
  • "siteName": "ThornhillCentralized",
  • "country": "CANADA",
  • "distributed": false,
  • "timezone": "America/Toronto",
  • "aaaPolicy":
    {
    },
  • "deviceGroups":
    [
    ],
  • "switchSerialNumbers":
    [
    ],
  • "stpEnabled": false,
  • "siteManagerName": "",
  • "siteManagerEmail": "",
  • "contact": "",
  • "treeNode":
    {
    },
  • "snmpConfig":
    {
    },
  • "features":
    [
    ],
  • "proxied": "Local"
}

Delete a site for a customer

Authorizations:
path Parameters
siteId
required
string

A non-empty, valid Site ID

Responses

200

Site deleted successfully

default

Error response

delete /v3/sites/{siteId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/sites/{siteId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Clone a site

Authorizations:
path Parameters
siteId
required
string

A non-empty, valid Site ID

query Parameters
newSiteName
string

A non-empty, valid names for the new site

Responses

200

Site cloned successfully

default

Error response

post /v3/sites/clone/{siteId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/sites/clone/{siteId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get current stations of a site

Authorizations:
path Parameters
siteid
required
string

Responses

200

List

default

Error response

get /v3/sites/{siteid}/stations

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/sites/{siteid}/stations

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get available widgets for RADIUS servers visibilty report (/v1/sites/visibility/radius/report PUT)

Authorizations:

Responses

200

Returns list of WidgetInfoElement

default

Error response

get /v1/sites/visibility/radius/report/widgets

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/sites/visibility/radius/report/widgets

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get RADIUS Servers Visibilty Report. (Use /v1/sites/visibility/radius/report/widgets to get all available widgets.)

Authorizations:
Request Body schema: application/json

A valid report request

summary
boolean
Default: true

Summary or RADIUS servers details. (Use servers field when set to false)

servers
Array of strings <ipv4>

List of RADIUS servers IP addresses. Used when the "summary" field is false.

duration
string (Duration)
Enum: "D_3h" "D_3d" "D_14d"

Report duration

widgets
Array of objects (WidgetInfoElement)

Responses

200

Returns RadiusHealthReportElement

default

Error response

put /v1/sites/visibility/radius/report

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/sites/visibility/radius/report

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "summary": true,
  • "servers":
    [
    ],
  • "duration": "D_14d",
  • "widgets":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "summary":
    {
    },
  • "details":
    [
    ]
}

Get available widgets for Site report (/v3/sites/report PUT)

Authorizations:

Responses

200

Returns list of WidgetInfoElement

default

Error response

get /v3/sites/report/widgets

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/sites/report/widgets

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get Site report. (Use /v3/sites/report/widgets to get all available widgets. Select one. Then, use /v3/sites/report (PUT))

Authorizations:
Request Body schema: application/json

A valid report request

duration
string (Duration)
Enum: "D_3h" "D_3d" "D_14d"

Report duration

widgets
Array of objects (WidgetInfoElement)

Responses

200

Returns DashboardReportElement

default

Error response

put /v3/sites/report

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/sites/report

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "duration": "D_14d",
  • "widgets":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topSitesByThroughput":
    [
    ],
  • "topSitesByClientCount":
    [
    ],
  • "topAccessPointsByThroughput":
    [
    ],
  • "topAccessPointsByUserCount":
    [
    ],
  • "topServicesByThroughput":
    [
    ],
  • "topUsersByThroughput":
    [
    ],
  • "worstSitesByThroughput":
    [
    ],
  • "worstSitesByClientCount":
    [
    ],
  • "worstAccessPointsByThroughput":
    [
    ],
  • "worstAccessPointsByUserCount":
    [
    ],
  • "worstServicesByThroughput":
    [
    ],
  • "worstUsersByThroughput":
    [
    ],
  • "topSitesByConcurrentUserCount":
    [
    ],
  • "worstSitesByConcurrentClientCount":
    [
    ],
  • "topAccessPointsByConcurrentUserCount":
    [
    ],
  • "worstAccessPointsByConcurrentUserCount":
    [
    ],
  • "topServicesByConcurrentClientCount":
    [
    ],
  • "worstServicesByConcurrentClientCount":
    [
    ],
  • "worstClientsByUsage":
    [
    ],
  • "topClientsByUsage":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "topServicesByClientCount":
    [
    ],
  • "worstServicesByClientCount":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "guestUsersReport":
    [
    ],
  • "dwellTimeReport":
    [
    ],
  • "topSitesBySnr":
    [
    ],
  • "topSitesByChannelUtil":
    [
    ],
  • "worstSitesByChannelUtil":
    [
    ],
  • "worstSitesBySnr":
    [
    ],
  • "worstSitesByRetries":
    [
    ],
  • "topSitesByChannelChanges":
    [
    ],
  • "topSitesByPowerChanges":
    [
    ],
  • "topSitesByRetries":
    [
    ],
  • "networkHealth":
    {
    },
  • "deploymentQoE":
    [
    ],
  • "packetCaptureList":
    [
    ]
}

Get Site report Deprecated

Authorizations:
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H

Duration

widgetList
string
Example: widgetList=topClientsByUsage|2_4,worstClientsByUsage|5

Responses

200

Returns DashboardReportElement

default

Error response

get /v3/sites/report

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/sites/report

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topSitesByThroughput":
    [
    ],
  • "topSitesByClientCount":
    [
    ],
  • "topAccessPointsByThroughput":
    [
    ],
  • "topAccessPointsByUserCount":
    [
    ],
  • "topServicesByThroughput":
    [
    ],
  • "topUsersByThroughput":
    [
    ],
  • "worstSitesByThroughput":
    [
    ],
  • "worstSitesByClientCount":
    [
    ],
  • "worstAccessPointsByThroughput":
    [
    ],
  • "worstAccessPointsByUserCount":
    [
    ],
  • "worstServicesByThroughput":
    [
    ],
  • "worstUsersByThroughput":
    [
    ],
  • "topSitesByConcurrentUserCount":
    [
    ],
  • "worstSitesByConcurrentClientCount":
    [
    ],
  • "topAccessPointsByConcurrentUserCount":
    [
    ],
  • "worstAccessPointsByConcurrentUserCount":
    [
    ],
  • "topServicesByConcurrentClientCount":
    [
    ],
  • "worstServicesByConcurrentClientCount":
    [
    ],
  • "worstClientsByUsage":
    [
    ],
  • "topClientsByUsage":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "topServicesByClientCount":
    [
    ],
  • "worstServicesByClientCount":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "guestUsersReport":
    [
    ],
  • "dwellTimeReport":
    [
    ],
  • "topSitesBySnr":
    [
    ],
  • "topSitesByChannelUtil":
    [
    ],
  • "worstSitesByChannelUtil":
    [
    ],
  • "worstSitesBySnr":
    [
    ],
  • "worstSitesByRetries":
    [
    ],
  • "topSitesByChannelChanges":
    [
    ],
  • "topSitesByPowerChanges":
    [
    ],
  • "topSitesByRetries":
    [
    ],
  • "networkHealth":
    {
    },
  • "deploymentQoE":
    [
    ],
  • "packetCaptureList":
    [
    ]
}

Get report for all sites in the venue

Authorizations:
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H

Duration

widgetList
string
userGroups
string

String representation for the array of dictionary user group definitions

Responses

200

Returns DashboardReportElement

default

Error response

get /v3/sites/report/venue

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/sites/report/venue

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topSitesByThroughput":
    [
    ],
  • "topSitesByClientCount":
    [
    ],
  • "topAccessPointsByThroughput":
    [
    ],
  • "topAccessPointsByUserCount":
    [
    ],
  • "topServicesByThroughput":
    [
    ],
  • "topUsersByThroughput":
    [
    ],
  • "worstSitesByThroughput":
    [
    ],
  • "worstSitesByClientCount":
    [
    ],
  • "worstAccessPointsByThroughput":
    [
    ],
  • "worstAccessPointsByUserCount":
    [
    ],
  • "worstServicesByThroughput":
    [
    ],
  • "worstUsersByThroughput":
    [
    ],
  • "topSitesByConcurrentUserCount":
    [
    ],
  • "worstSitesByConcurrentClientCount":
    [
    ],
  • "topAccessPointsByConcurrentUserCount":
    [
    ],
  • "worstAccessPointsByConcurrentUserCount":
    [
    ],
  • "topServicesByConcurrentClientCount":
    [
    ],
  • "worstServicesByConcurrentClientCount":
    [
    ],
  • "worstClientsByUsage":
    [
    ],
  • "topClientsByUsage":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "topServicesByClientCount":
    [
    ],
  • "worstServicesByClientCount":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "guestUsersReport":
    [
    ],
  • "dwellTimeReport":
    [
    ],
  • "topSitesBySnr":
    [
    ],
  • "topSitesByChannelUtil":
    [
    ],
  • "worstSitesByChannelUtil":
    [
    ],
  • "worstSitesBySnr":
    [
    ],
  • "worstSitesByRetries":
    [
    ],
  • "topSitesByChannelChanges":
    [
    ],
  • "topSitesByPowerChanges":
    [
    ],
  • "topSitesByRetries":
    [
    ],
  • "networkHealth":
    {
    },
  • "deploymentQoE":
    [
    ],
  • "packetCaptureList":
    [
    ]
}

Get available widgets for Site report (/v1/sites/{siteId}/report PUT)

Authorizations:

Responses

200

Returns list of WidgetInfoElement

default

Error response

get /v1/sites/report/widgets

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/sites/report/widgets

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get Site report. (Use /v1/sites/report/widgets to get all available widgets. Select one. Then, use /v1/sites/{siteId}/report (PUT))

Authorizations:
path Parameters
siteId
required
string
Request Body schema: application/json

A valid report request

duration
string (Duration)
Enum: "D_3h" "D_3d" "D_14d"

Report duration

widgets
Array of objects (WidgetInfoElement)

Responses

200

Returns SiteReportElement

default

Error response

put /v1/sites/{siteId}/report

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/sites/{siteId}/report

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "duration": "D_14d",
  • "widgets":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topAccessPointsByThroughput":
    [
    ],
  • "topAccessPointsByUserCount":
    [
    ],
  • "topServicesByThroughput":
    [
    ],
  • "topUsersByThroughput":
    [
    ],
  • "worstAccessPointsByThroughput":
    [
    ],
  • "worstAccessPointsByUserCount":
    [
    ],
  • "worstServicesByThroughput":
    [
    ],
  • "worstUsersByThroughput":
    [
    ],
  • "topAccessPointsByConcurrentUserCount":
    [
    ],
  • "worstAccessPointsByConcurrentUserCount":
    [
    ],
  • "topServicesByConcurrentClientCount":
    [
    ],
  • "worstServicesByConcurrentClientCount":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "topServicesByClientCount":
    [
    ],
  • "worstServicesByClientCount":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "guestUsersReport":
    [
    ],
  • "dwellTimeReport":
    [
    ],
  • "rfQuality":
    [
    ],
  • "topApsByChannelUtil":
    [
    ],
  • "topApsBySnr":
    [
    ],
  • "worstApsBySnr":
    [
    ],
  • "topClientsBySnr":
    [
    ],
  • "worstApsByChannelUtil":
    [
    ],
  • "worstClientsBySnr":
    [
    ],
  • "topClientsByRetries":
    [
    ],
  • "worstClientsByRetries":
    [
    ],
  • "channelDistributionByRFProtocol":
    [
    ],
  • "topApsByChannelChanges":
    [
    ],
  • "topApsByPowerChanges":
    [
    ],
  • "topApsByRetries":
    [
    ],
  • "worstApsByRetries":
    [
    ],
  • "topAccessPointsByRfHealth":
    [
    ],
  • "worstApsByRfHealth":
    [
    ],
  • "topAreaByVisitors":
    [
    ],
  • "worstAreaByVisitors":
    [
    ],
  • "topFloorByVisitors":
    [
    ],
  • "worstFloorByVisitors":
    [
    ],
  • "topMobileClients":
    [
    ],
  • "worstMobileClients":
    [
    ],
  • "topFloorByMobility":
    [
    ],
  • "worstFloorByMobility":
    [
    ],
  • "mobilityOverTime":
    [
    ],
  • "siteQoE":
    [
    ]
}

Get Site report by site ID Deprecated

Authorizations:
path Parameters
siteId
required
string
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
widgetList
string
Example: widgetList=topClientsByUsage|2_4,worstClientsByUsage|5

Responses

200

Returns SiteReportElement if the siteId parameter exists.

default

Error response

get /v1/sites/{siteId}/report

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/sites/{siteId}/report

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topAccessPointsByThroughput":
    [
    ],
  • "topAccessPointsByUserCount":
    [
    ],
  • "topServicesByThroughput":
    [
    ],
  • "topUsersByThroughput":
    [
    ],
  • "worstAccessPointsByThroughput":
    [
    ],
  • "worstAccessPointsByUserCount":
    [
    ],
  • "worstServicesByThroughput":
    [
    ],
  • "worstUsersByThroughput":
    [
    ],
  • "topAccessPointsByConcurrentUserCount":
    [
    ],
  • "worstAccessPointsByConcurrentUserCount":
    [
    ],
  • "topServicesByConcurrentClientCount":
    [
    ],
  • "worstServicesByConcurrentClientCount":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "topServicesByClientCount":
    [
    ],
  • "worstServicesByClientCount":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "guestUsersReport":
    [
    ],
  • "dwellTimeReport":
    [
    ],
  • "rfQuality":
    [
    ],
  • "topApsByChannelUtil":
    [
    ],
  • "topApsBySnr":
    [
    ],
  • "worstApsBySnr":
    [
    ],
  • "topClientsBySnr":
    [
    ],
  • "worstApsByChannelUtil":
    [
    ],
  • "worstClientsBySnr":
    [
    ],
  • "topClientsByRetries":
    [
    ],
  • "worstClientsByRetries":
    [
    ],
  • "channelDistributionByRFProtocol":
    [
    ],
  • "topApsByChannelChanges":
    [
    ],
  • "topApsByPowerChanges":
    [
    ],
  • "topApsByRetries":
    [
    ],
  • "worstApsByRetries":
    [
    ],
  • "topAccessPointsByRfHealth":
    [
    ],
  • "worstApsByRfHealth":
    [
    ],
  • "topAreaByVisitors":
    [
    ],
  • "worstAreaByVisitors":
    [
    ],
  • "topFloorByVisitors":
    [
    ],
  • "worstFloorByVisitors":
    [
    ],
  • "topMobileClients":
    [
    ],
  • "worstMobileClients":
    [
    ],
  • "topFloorByMobility":
    [
    ],
  • "worstFloorByMobility":
    [
    ],
  • "mobilityOverTime":
    [
    ],
  • "siteQoE":
    [
    ]
}

Get report for a Site by Site ID in the venue

Authorizations:
path Parameters
siteId
required
string
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
widgetList
string
userGroups
string

String representation for the array of dictionary user group definitions

Responses

200

Returns SiteReportElement if siteId parameter exists

default

Error response

get /v3/sites/{siteId}/report/venue

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/sites/{siteId}/report/venue

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topAccessPointsByThroughput":
    [
    ],
  • "topAccessPointsByUserCount":
    [
    ],
  • "topServicesByThroughput":
    [
    ],
  • "topUsersByThroughput":
    [
    ],
  • "worstAccessPointsByThroughput":
    [
    ],
  • "worstAccessPointsByUserCount":
    [
    ],
  • "worstServicesByThroughput":
    [
    ],
  • "worstUsersByThroughput":
    [
    ],
  • "topAccessPointsByConcurrentUserCount":
    [
    ],
  • "worstAccessPointsByConcurrentUserCount":
    [
    ],
  • "topServicesByConcurrentClientCount":
    [
    ],
  • "worstServicesByConcurrentClientCount":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "topServicesByClientCount":
    [
    ],
  • "worstServicesByClientCount":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "guestUsersReport":
    [
    ],
  • "dwellTimeReport":
    [
    ],
  • "rfQuality":
    [
    ],
  • "topApsByChannelUtil":
    [
    ],
  • "topApsBySnr":
    [
    ],
  • "worstApsBySnr":
    [
    ],
  • "topClientsBySnr":
    [
    ],
  • "worstApsByChannelUtil":
    [
    ],
  • "worstClientsBySnr":
    [
    ],
  • "topClientsByRetries":
    [
    ],
  • "worstClientsByRetries":
    [
    ],
  • "channelDistributionByRFProtocol":
    [
    ],
  • "topApsByChannelChanges":
    [
    ],
  • "topApsByPowerChanges":
    [
    ],
  • "topApsByRetries":
    [
    ],
  • "worstApsByRetries":
    [
    ],
  • "topAccessPointsByRfHealth":
    [
    ],
  • "worstApsByRfHealth":
    [
    ],
  • "topAreaByVisitors":
    [
    ],
  • "worstAreaByVisitors":
    [
    ],
  • "topFloorByVisitors":
    [
    ],
  • "worstFloorByVisitors":
    [
    ],
  • "topMobileClients":
    [
    ],
  • "worstMobileClients":
    [
    ],
  • "topFloorByMobility":
    [
    ],
  • "worstFloorByMobility":
    [
    ],
  • "mobilityOverTime":
    [
    ],
  • "siteQoE":
    [
    ]
}

Get Impact reports for a site

Authorizations:
query Parameters
duration
string ('3H'|'3D'|'14D')
Default: "3H"
Example: duration=14D

Duration. Valid values: Last 3 Hours, 3 Days, or 14 Days

widgetList
Array of objects (ImpactReportInfo)
Example: widgetList=[object Object]

List of reports to be generated

Responses

200

Returns the requested impact widgets

default

Error response

get /v3/sites/report/impact

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/sites/report/impact

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "impactSiteQoE":
    {
    },
  • "impactApQoE":
    {
    },
  • "impactClientData":
    {
    },
  • "impactCochannel":
    {
    },
  • "impactInterference":
    {
    }
}

Get impact reports for site

Authorizations:
path Parameters
siteId
required
string

Site for which impact reports are requested

query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
widgetList
Array of objects (ImpactReportInfo)
Example: widgetList=[object Object]

Responses

200

Returns ImpactReportElement

default

Error response

get /v3/sites/{siteId}/report/impact

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/sites/{siteId}/report/impact

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "impactSiteQoE":
    {
    },
  • "impactApQoE":
    {
    },
  • "impactClientData":
    {
    },
  • "impactCochannel":
    {
    },
  • "impactInterference":
    {
    }
}

Get historical data

Authorizations:
query Parameters
duration
required
string 3H|3D|14D
Default: "3H"
Example: duration=3H

data bin

query
object (FlexQueryElement)

Parameters for specifying required data key, output type, time range of interest, and filtering criteria

Responses

200

Flex element object

default

Error response

get /v3/sites/report/flex

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/sites/report/flex

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    }
]

Get a list of all station locations on the given floor

Authorizations:
path Parameters
floorId
required
string
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
widgetList
string
Deprecated

Responses

200
default

Error response

get /v3/sites/report/location/floor/{floorId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/sites/report/location/floor/{floorId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "deviceSerialNo": "1740W-2030400000",
  • "timeStamp": 1554476614000,
  • "channelWidth":
    [
    ],
  • "entitlementStatus": 0,
  • "bandAndChannel":
    {
    },
  • "activeAlerts": [ ],
  • "wirelessProtocols":
    [
    ],
  • "wiredClientCount": 0,
  • "hwType": "AP-7612-680B30-WR",
  • "deviceHealth":
    {
    },
  • "qualityMetric": null,
  • "currentPowerLevel":
    {
    },
  • "swVersion": "5.9.3.2-002R",
  • "ipAddress": "10.47.75.108",
  • "location": "DevelopmentLab7",
  • "macAddress": "B8:50:01:3B:3E:1C",
  • "camIpAddress": null,
  • "ethPowerStatus": null,
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topUsersByThroughput":
    [
    ],
  • "worstUsersByThroughput":
    [
    ],
  • "worstClientsByUsage":
    [
    ],
  • "topClientsByUsage":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "rfQuality":
    [
    ],
  • "channelUtilization2_4":
    [
    ],
  • "channelUtilization5":
    [
    ],
  • "noisePerRadio":
    [
    ],
  • "ratioOfCurrentUsersToBand":
    [
    ],
  • "topClientsBySnr":
    [
    ],
  • "worstClientsBySnr":
    [
    ],
  • "topClientsByRetries":
    [
    ],
  • "worstClientsByRetries":
    [
    ],
  • "baseliningAPRFQI":
    [
    ],
  • "baseliningAPRss":
    [
    ],
  • "baseliningAPTxRate":
    [
    ],
  • "baseliningAPRxRate":
    [
    ],
  • "baseliningAPRetries":
    [
    ],
  • "baseliningAPCochannel":
    [
    ],
  • "baseliningAPClientData":
    [
    ],
  • "baseliningAPInterference":
    [
    ],
  • "baseliningAPCochannel_5":
    [
    ],
  • "baseliningAPClientData_5":
    [
    ],
  • "baseliningAPInterference_5":
    [
    ],
  • "apQoE":
    [
    ]
}

Get filtered list of all stations Deprecated

Filter the list of all stations base on query.

Authorizations:
query Parameters
query
string

Query string to filter the stations list

requestedColumns
Array of strings

Columns list to show

duration
string
Default: "3H"
Example: duration=3H
showActive
boolean
Default: true

Show only active stations

Responses

200

Filtered stations list with the requested columns

default

Error response

get /v1/stations/query

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/stations/query

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get filtered list of all stations

Filter the list of all stations based on query.

Authorizations:
query Parameters
query
string

Query string to filter the stations list

requestedColumns
Array of strings

List of columns to display

duration
string
Default: "3H"
Example: duration=3H
showActive
boolean
Default: true

Show only active stations

Responses

200

Filtered stations list with the requested columns

default

Error response

get /v2/stations/query

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v2/stations/query

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get filtered list of all stations Deprecated

Filter the list of all stations base on query.

Authorizations:
query Parameters
query
string

Query string to filter the stations list

columnsVisualize
Array of strings

Columns list to return

duration
string
Default: "3H"
Example: duration=3H
showActive
boolean
Default: true

Show only active stations

Responses

200

Filtered stations list with the requested visualize columns

default

Error response

get /v1/stations/query/visualize

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/stations/query/visualize

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "deviceSerialNo": "1740W-2030400000",
  • "timeStamp": 1554476614000,
  • "channelWidth":
    [
    ],
  • "entitlementStatus": 0,
  • "bandAndChannel":
    {
    },
  • "activeAlerts": [ ],
  • "wirelessProtocols":
    [
    ],
  • "wiredClientCount": 0,
  • "hwType": "AP-7612-680B30-WR",
  • "deviceHealth":
    {
    },
  • "qualityMetric": null,
  • "currentPowerLevel":
    {
    },
  • "swVersion": "5.9.3.2-002R",
  • "ipAddress": "10.47.75.108",
  • "location": "DevelopmentLab7",
  • "macAddress": "B8:50:01:3B:3E:1C",
  • "camIpAddress": null,
  • "ethPowerStatus": null,
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topUsersByThroughput":
    [
    ],
  • "worstUsersByThroughput":
    [
    ],
  • "worstClientsByUsage":
    [
    ],
  • "topClientsByUsage":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "rfQuality":
    [
    ],
  • "channelUtilization2_4":
    [
    ],
  • "channelUtilization5":
    [
    ],
  • "noisePerRadio":
    [
    ],
  • "ratioOfCurrentUsersToBand":
    [
    ],
  • "topClientsBySnr":
    [
    ],
  • "worstClientsBySnr":
    [
    ],
  • "topClientsByRetries":
    [
    ],
  • "worstClientsByRetries":
    [
    ],
  • "baseliningAPRFQI":
    [
    ],
  • "baseliningAPRss":
    [
    ],
  • "baseliningAPTxRate":
    [
    ],
  • "baseliningAPRxRate":
    [
    ],
  • "baseliningAPRetries":
    [
    ],
  • "baseliningAPCochannel":
    [
    ],
  • "baseliningAPClientData":
    [
    ],
  • "baseliningAPInterference":
    [
    ],
  • "baseliningAPCochannel_5":
    [
    ],
  • "baseliningAPClientData_5":
    [
    ],
  • "baseliningAPInterference_5":
    [
    ],
  • "apQoE":
    [
    ]
}

Get filtered list of all stations

Filter the list of all stations base on query.

Authorizations:
query Parameters
query
string

Query string to filter the stations list

columnsVisualize
Array of strings

Columns list to return

duration
string
Default: "3H"
Example: duration=3H
showActive
boolean
Default: true

Show only active stations

Responses

200

Filtered stations list with the requested visualize columns

default

Error response

get /v2/stations/query/visualize

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v2/stations/query/visualize

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "deviceSerialNo": "1740W-2030400000",
  • "timeStamp": 1554476614000,
  • "channelWidth":
    [
    ],
  • "entitlementStatus": 0,
  • "bandAndChannel":
    {
    },
  • "activeAlerts": [ ],
  • "wirelessProtocols":
    [
    ],
  • "wiredClientCount": 0,
  • "hwType": "AP-7612-680B30-WR",
  • "deviceHealth":
    {
    },
  • "qualityMetric": null,
  • "currentPowerLevel":
    {
    },
  • "swVersion": "5.9.3.2-002R",
  • "ipAddress": "10.47.75.108",
  • "location": "DevelopmentLab7",
  • "macAddress": "B8:50:01:3B:3E:1C",
  • "camIpAddress": null,
  • "ethPowerStatus": null,
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topUsersByThroughput":
    [
    ],
  • "worstUsersByThroughput":
    [
    ],
  • "worstClientsByUsage":
    [
    ],
  • "topClientsByUsage":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "rfQuality":
    [
    ],
  • "channelUtilization2_4":
    [
    ],
  • "channelUtilization5":
    [
    ],
  • "noisePerRadio":
    [
    ],
  • "ratioOfCurrentUsersToBand":
    [
    ],
  • "topClientsBySnr":
    [
    ],
  • "worstClientsBySnr":
    [
    ],
  • "topClientsByRetries":
    [
    ],
  • "worstClientsByRetries":
    [
    ],
  • "baseliningAPRFQI":
    [
    ],
  • "baseliningAPRss":
    [
    ],
  • "baseliningAPTxRate":
    [
    ],
  • "baseliningAPRxRate":
    [
    ],
  • "baseliningAPRetries":
    [
    ],
  • "baseliningAPCochannel":
    [
    ],
  • "baseliningAPClientData":
    [
    ],
  • "baseliningAPInterference":
    [
    ],
  • "baseliningAPCochannel_5":
    [
    ],
  • "baseliningAPClientData_5":
    [
    ],
  • "baseliningAPInterference_5":
    [
    ],
  • "apQoE":
    [
    ]
}

Return the columns list for /v1/stations/query and /v1/stations/query/visualize Deprecated

Returns the optional columns list and context values base on the time

Authorizations:
query Parameters
duration
string
Default: "3H"
Example: duration=3H
showActive
boolean
Default: true

Show only active stations.

suggestValues
boolean
Default: true

Scan for suggested column values

Responses

200

Return the optional columns list

default

Error response

get /v1/stations/query/columns

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/stations/query/columns

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ipAddress":
    {
    },
  • "softwareVersion":
    {
    }
}

Return the columns list for v2/stations/query and v2/stations/query/visualize

Returns the optional columns list and context values base on the time

Authorizations:
query Parameters
duration
string
Default: "3H"
Example: duration=3H
showActive
boolean
Default: true

Show only active stations.

suggestValues
boolean
Default: true

Scan for suggest values for columns

Responses

200

Return the optional columns list

default

Error response

get /v2/stations/query/columns

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v2/stations/query/columns

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ipAddress":
    {
    },
  • "softwareVersion":
    {
    }
}

Get the list of global settings for all sites

Authorizations:

Responses

200

Global settings

default

Error response

get /v1/globalsettings

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/globalsettings

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "cpAutoLogin": "Hide",
  • "cloudVisibility":
    {
    },
  • "txPowerRepresentation": "PerChain",
  • "extNatAddr": "134.141.122.1",
  • "trafficShaping": true
}

Set global settings for all sites

Authorizations:
Request Body schema: application/json

A valid GlobalSettingsElement instance

property name*
object

Responses

200

GlobalSettingsElement instance with the configured parameters

default

Error response

put /v1/globalsettings

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/globalsettings

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "cpAutoLogin": "Hide",
  • "cloudVisibility":
    {
    },
  • "txPowerRepresentation": "PerChain",
  • "extNatAddr": "134.141.122.1",
  • "trafficShaping": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "cpAutoLogin": "Hide",
  • "cloudVisibility":
    {
    },
  • "txPowerRepresentation": "PerChain",
  • "extNatAddr": "134.141.122.1",
  • "trafficShaping": true
}

Get Site Smart RF report.

Authorizations:
path Parameters
siteId
required
string
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H

Responses

200

Returns Smart RF SiteReportElement if the siteId parameter exists

default

Error response

get /v3/sites/{siteId}/smartrf

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/sites/{siteId}/smartrf

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "countOfUniqueUsersReport":
    [
    ],
  • "topAccessPointsByThroughput":
    [
    ],
  • "topAccessPointsByUserCount":
    [
    ],
  • "topServicesByThroughput":
    [
    ],
  • "topUsersByThroughput":
    [
    ],
  • "worstAccessPointsByThroughput":
    [
    ],
  • "worstAccessPointsByUserCount":
    [
    ],
  • "worstServicesByThroughput":
    [
    ],
  • "worstUsersByThroughput":
    [
    ],
  • "topAccessPointsByConcurrentUserCount":
    [
    ],
  • "worstAccessPointsByConcurrentUserCount":
    [
    ],
  • "topServicesByConcurrentClientCount":
    [
    ],
  • "worstServicesByConcurrentClientCount":
    [
    ],
  • "topManufacturersByClientCount":
    [
    ],
  • "topOsByClientCountReport":
    [
    ],
  • "worstManufacturersByClientCount":
    [
    ],
  • "worstOsByClientCountReport":
    [
    ],
  • "topServicesByClientCount":
    [
    ],
  • "worstServicesByClientCount":
    [
    ],
  • "clientDistributionByRFProtocol":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "topAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByClientCountReport":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "guestUsersReport":
    [
    ],
  • "dwellTimeReport":
    [
    ],
  • "rfQuality":
    [
    ],
  • "topApsByChannelUtil":
    [
    ],
  • "topApsBySnr":
    [
    ],
  • "worstApsBySnr":
    [
    ],
  • "topClientsBySnr":
    [
    ],
  • "worstApsByChannelUtil":
    [
    ],
  • "worstClientsBySnr":
    [
    ],
  • "topClientsByRetries":
    [
    ],
  • "worstClientsByRetries":
    [
    ],
  • "channelDistributionByRFProtocol":
    [
    ],
  • "topApsByChannelChanges":
    [
    ],
  • "topApsByPowerChanges":
    [
    ],
  • "topApsByRetries":
    [
    ],
  • "worstApsByRetries":
    [
    ],
  • "topAccessPointsByRfHealth":
    [
    ],
  • "worstApsByRfHealth":
    [
    ],
  • "topAreaByVisitors":
    [
    ],
  • "worstAreaByVisitors":
    [
    ],
  • "topFloorByVisitors":
    [
    ],
  • "worstFloorByVisitors":
    [
    ],
  • "topMobileClients":
    [
    ],
  • "worstMobileClients":
    [
    ],
  • "topFloorByMobility":
    [
    ],
  • "worstFloorByMobility":
    [
    ],
  • "mobilityOverTime":
    [
    ],
  • "siteQoE":
    [
    ]
}

StatisticsManager

Retrieve station information.

Get current stations of a tenant across all sites

Authorizations:
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
showActive
boolean
Default: true

Show only active stations.

Responses

200

List

default

Error response

get /v1/stations

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/stations

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Disassociate list of stations

Authorizations:
query Parameters
deleteHistory
boolean
Default: false
Request Body schema: application/json
custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
macList
Array of strings

A list of MAC addresses.

Responses

200

Returns OK on success, or returns a failure code

default

Error response

post /v1/stations/disassociate

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/stations/disassociate

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "5e590503-8983-4795-b2ba-962b6f388554",
  • "canDelete": true,
  • "canEdit": true,
  • "macList":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "5e590503-8983-4795-b2ba-962b6f388554",
  • "canDelete": true,
  • "canEdit": true,
  • "macList":
    [
    ]
}

Get station by MAC address

Authorizations:
path Parameters
macaddress
required
string

Responses

200

StationElement

default

Error response

get /v1/stations/{macaddress}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/stations/{macaddress}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "macAddress": "D8:84:66:79:E3:02",
  • "ipAddress": "10.47.75.132",
  • "manufacturer": "Extreme Networks, Inc.",
  • "rss": 0,
  • "siteId": "eaab6b13-865d-4475-a26f-d3d95b6e0812",
  • "accessPointSerialNumber": "1703Y-1411400000",
  • "v6UniqueLocalAddress": null,
  • "serviceId": "9cfd5161-79b0-4c87-be1c-5568bbf3c44a",
  • "dot11nAdvanced": 0,
  • "accessPointName": "1703Y-1411400000",
  • "receivedRate": 100000000,
  • "v6linkLocalAddress": null,
  • "capability": 0,
  • "status": "ACTIVE",
  • "roleId": "4459ee6c-2f76-11e7-93ae-92361f002671",
  • "radioId": 20,
  • "protocol": null,
  • "lastSeen": 1554485524000,
  • "v6GlobalAddress": null,
  • "dlLostRetriesPackets": 0,
  • "transmittedRate": 100000000,
  • "dlLostRetriesBytes": 0,
  • "inBytes": 3405172422,
  • "inPackets": 2432617,
  • "outBytes": 58535209,
  • "outPackets": 948090,
  • "proxied": "Local",
  • "dhcpHostName": "AP3916ic-CAM-D8846679E302",
  • "osType": "",
  • "ipv6Address":
    [
    ],
  • "userName": "",
  • "role": "Enterprise User",
  • "deviceType": "EXTR2MP-CAM"
}

Get available widgets for Station report (/v1/stations/{stationId}/report PUT)

Authorizations:

Responses

200

Returns list of WidgetInfoElement

default

Error response

get /v1/stations/report/widgets

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/stations/report/widgets

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get Site report. (Use /v1/stations/report/widgets to get all available widgets. Select one. Then, use /v1/stations/{stationId}/report (PUT))

Authorizations:
path Parameters
stationId
required
string
Request Body schema: application/json

A valid report request

duration
string (Duration)
Enum: "D_3h" "D_3d" "D_14d"

Report duration

widgets
Array of objects (WidgetInfoElement)

Responses

200

Returns StationReportElement

default

Error response

put /v1/stations/{stationId}/report

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/stations/{stationId}/report

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "duration": "D_14d",
  • "widgets":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "role": "Enterprise User",
  • "lastRssReceived": -68,
  • "v6UniqueLocalAddress": null,
  • "lastTimeSeen": 1554315753000,
  • "v6linkLocalAddress": null,
  • "osType": "",
  • "lastKnownLocation": "ThornhillDistributed",
  • "v6GlobalAddress": null,
  • "currentBandAndProtocol": "Channel: Auto, Mode: anc",
  • "ipAddress": "10.49.30.199",
  • "serviceName": "ecaopen",
  • "manufacturer": "Apple, Inc.",
  • "macAddress": "40:B3:95:6B:27:EF",
  • "deviceCapability": 0,
  • "proxied": "Local",
  • "ipv6Address":
    [
    ],
  • "deviceFamily": "Apple iOS",
  • "deviceType": "iPhone/iPad/iPod/Watch/ATV",
  • "dhcpHostName": "iPhone",
  • "ssid": "ecaopen",
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "appGroupsThroughputDetails":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "rfQuality":
    [
    ],
  • "baseliningRFQI":
    [
    ],
  • "baseliningRss":
    [
    ],
  • "baseliningTxRate":
    [
    ],
  • "baseliningRxRate":
    [
    ],
  • "baseliningWirelessRTT":
    [
    ],
  • "baseliningNetworkRTT":
    [
    ],
  • "baseliningRetries":
    [
    ]
}

Get station with station ID Deprecated

Authorizations:
path Parameters
stationId
required
string
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
widgetList
string
Example: widgetList=throughputReport|2_4,byteUtilization|5

Responses

200
default

Error response

get /v1/stations/{stationId}/report

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/stations/{stationId}/report

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "role": "Enterprise User",
  • "lastRssReceived": -68,
  • "v6UniqueLocalAddress": null,
  • "lastTimeSeen": 1554315753000,
  • "v6linkLocalAddress": null,
  • "osType": "",
  • "lastKnownLocation": "ThornhillDistributed",
  • "v6GlobalAddress": null,
  • "currentBandAndProtocol": "Channel: Auto, Mode: anc",
  • "ipAddress": "10.49.30.199",
  • "serviceName": "ecaopen",
  • "manufacturer": "Apple, Inc.",
  • "macAddress": "40:B3:95:6B:27:EF",
  • "deviceCapability": 0,
  • "proxied": "Local",
  • "ipv6Address":
    [
    ],
  • "deviceFamily": "Apple iOS",
  • "deviceType": "iPhone/iPad/iPod/Watch/ATV",
  • "dhcpHostName": "iPhone",
  • "ssid": "ecaopen",
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "appGroupsThroughputDetails":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "rfQuality":
    [
    ],
  • "baseliningRFQI":
    [
    ],
  • "baseliningRss":
    [
    ],
  • "baseliningTxRate":
    [
    ],
  • "baseliningRxRate":
    [
    ],
  • "baseliningWirelessRTT":
    [
    ],
  • "baseliningNetworkRTT":
    [
    ],
  • "baseliningRetries":
    [
    ]
}

Get Location report for a station

Authorizations:
path Parameters
stationId
required
string
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
widgetList
string
Deprecated

Responses

200
default

Error response

get /v1/stations/{stationId}/location

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/stations/{stationId}/location

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "role": "Enterprise User",
  • "lastRssReceived": -68,
  • "v6UniqueLocalAddress": null,
  • "lastTimeSeen": 1554315753000,
  • "v6linkLocalAddress": null,
  • "osType": "",
  • "lastKnownLocation": "ThornhillDistributed",
  • "v6GlobalAddress": null,
  • "currentBandAndProtocol": "Channel: Auto, Mode: anc",
  • "ipAddress": "10.49.30.199",
  • "serviceName": "ecaopen",
  • "manufacturer": "Apple, Inc.",
  • "macAddress": "40:B3:95:6B:27:EF",
  • "deviceCapability": 0,
  • "proxied": "Local",
  • "ipv6Address":
    [
    ],
  • "deviceFamily": "Apple iOS",
  • "deviceType": "iPhone/iPad/iPod/Watch/ATV",
  • "dhcpHostName": "iPhone",
  • "ssid": "ecaopen",
  • "throughputReport":
    [
    ],
  • "byteUtilization":
    [
    ],
  • "topAppGroupsByThroughputReport":
    [
    ],
  • "worstAppGroupsByThroughputReport":
    [
    ],
  • "appGroupsThroughputDetails":
    [
    ],
  • "worstAppGroupsByUsage":
    [
    ],
  • "topAppGroupsByUsage":
    [
    ],
  • "rfQuality":
    [
    ],
  • "baseliningRFQI":
    [
    ],
  • "baseliningRss":
    [
    ],
  • "baseliningTxRate":
    [
    ],
  • "baseliningRxRate":
    [
    ],
  • "baseliningWirelessRTT":
    [
    ],
  • "baseliningNetworkRTT":
    [
    ],
  • "baseliningRetries":
    [
    ]
}

Get all station events

Authorizations:
path Parameters
macaddress
required
string

MAC address of the station

query Parameters
endTime
number >= 1

End time in milliseconds

startTime
number >= 1

Start time in milliseconds

Responses

200

List containing the station log.

default

Error response

get /v1/stations/events/{macaddress}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/stations/events/{macaddress}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get acess point wireless and wired interface statistics

Authorizations:
path Parameters
apSerialNumber
required
string (SerialNumber) ^[\p{Print}&&[^ ;:&\p{Cntrl}'"]]{1,16}$
Example: 1730Y-1007800000

Valid access point serial number

query Parameters
rfStats
boolean

If true, returns the RF statistics only

Responses

200

Returns access point statistical counters for wired and wireless interfaces

default

Error response

get /v1/aps/ifstats/{apSerialNumber}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/ifstats/{apSerialNumber}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "serialNumber": "1703Y-1411400000",
  • "wired": null,
  • "wireless": null,
  • "wirelessRf":
    [
    ]
}

Get access point wireless and wired statistics across all sites

Authorizations:
query Parameters
rfStats
boolean

If true, returns only the RF statistics

Responses

200

Array of access point statistical counters for wired and wireless interfaces

default

Error response

get /v1/aps/ifstats

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aps/ifstats

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

SwitchManager

Manage switch controllers.

Get list of switches for a customer

Authorizations:
query Parameters
includeBpe
boolean

Flag to specify if all the BPEs of the CB are to be included

Responses

200

List of all switches

default

Error response

get /v1/switches

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get switch display names

Authorizations:

Responses

200

Map with switch display names and corresponding hardware types

default

Error response

get /v1/switches/displaynames

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/displaynames

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "AP3915i-ROW": "Wireless AP3915i-ROW Internal",
  • "AP3916ic-FCC": "Wireless AP3916ic-FCC Internal",
  • "AP-7562-670042-IL": "AP-7562-670042-IL"
}

Delete switches for a customer

Authorizations:

Responses

204

Switches deleted successfully

default

Error response

delete /v1/switches/list

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/list

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Provide list of switches to be rebooted during next check-in

Authorizations:
Request Body schema: application/json

A non-empty, valid SwitchSerialNumberList having the list of switch serial numbers

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
serialNumbers
Array of strings

A list of access point serial numbers

Responses

200

Status of the operation

default

Error response

put /v1/switches/reboot

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/reboot

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "serialNumbers":
    [
    ],
  • "custId": "...",
  • "id": "...",
  • "canDelete": true,
  • "canEdit": true
}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Assign switches to a site

Authorizations:
Request Body schema: application/json
siteId
required
string <uuid>

UUID of site

serialNumbers
required
Array of strings

A list of access point serial numbers

Responses

200

Switches assigned to site successfully

default

Error response

put /v1/switches/assign

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/assign

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "siteId": "26942420-6179-11e8-a0a4-c98f03226474",
  • "serialNumbers":
    [
    ]
}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get switch by ID

Authorizations:
path Parameters
serialNumber
required
string

A non-empty, valid switch SerialNumber

Responses

200

SwitchElement instance if customer has a switch with the given ID

default

Error response

get /v1/switches/{serialNumber}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/{serialNumber}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "serialNumber": "1733N-42224",
  • "macaddress": "00:04:96:9e:fc:bc",
  • "softwareVersion": "1.2.5.13",
  • "hostSite": "ThornhillCentralized",
  • "switchType": "210-48p-GE4",
  • "sysDescription": "200SeriesOS 210-48p-GE4",
  • "sysUpTime": 0,
  • "systemName": "1733N-42224",
  • "sysOid": "1.3.6.1.4.1.1916.2.265",
  • "operatingSystem": "200SeriesOS",
  • "mgmtIpAddress": "11.12.12.3",
  • "mgmtPort": "",
  • "siteId": "eaab6b13-865d-4475-a26f-d3d95b6e0812",
  • "lacpEnabled": false,
  • "lacploggingLevel": "warning",
  • "ports":
    [
    ],
  • "dot1xConfig":
    {
    },
  • "lldpConfig":
    {
    },
  • "stpConfig":
    {
    },
  • "macAuthConfig":
    {
    },
  • "license":
    {
    },
  • "poeElement":
    {
    },
  • "logins": [ ],
  • "capability":
    {
    },
  • "currentAssets":
    [
    ],
  • "desiredAssets":
    [
    ],
  • "igmpEnabled": false,
  • "floorId": null,
  • "enableSSHAccess": false,
  • "baseService": null
}

Update switch configuration

Authorizations:
path Parameters
serialNumber
required
string

A non-empty, valid switch SerialNumber

Request Body schema: application/json
custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
serialNumber
required
string

The globally unique serial numberof the device being registered. The serial number is represented as a string. The actual length and format of the string depends on the type of device being registered. This attribute of the device must not be null. Validations: Not required, read-only attribute.
Valid character set: Alphanumeric and special characters, except semi-colon, colon, and ampersand.

macaddress
string

The MAC address of the edge switch being managed. This attribute is read-only.


Validations: Not required, as it is a read-only attribute.

softwareVersion
string

The version number of the software installed on the switch
Validations: Not required, as it is a read-only attribute.
Valid character set : Alphanumeric and special characters, except semi-colon, colon, and ampersand.

hostSite
string

The site with which the switch is associated
Validations: The site name must be between 0 and 64 characters.
Valid character set: Alphanumeric and special characters, except semi-colon, colon, and ampersand.

switchType
required
string

The model number of the device. The model number is a human-readable string and is likely how the device is referred to in customer documentation and data sheets.


Validations: Not required, as it is a read-only attribute.

sysDescription
string

The user-added details about the edge device


Validations: A string value between 0 and 255 characters inclusive.
Valid character set: Alphanumeric and special characters, except semi-colon and ampersand.

sysUpTime
number

The time since the edge device is up


Validations: Not required, as it is a read-only attribute.

systemName
string

An administratively-assigned name for this managed device


Validations: A string value between 0 and 255 characters inclusive.
Valid character set: Alphanumeric and special characters, except semi-colon, colon, and ampersand.

sysOid
string

System object identifier, the vendor identification for the device This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining what kind of box' is being managed. For example, if the vendorExtreme, Inc.' was assigned the subtree 1.3.6.1.4.1.1916, it could assign the identifier 1.3.6.1.4.1.1916.1.1 to one of its switches."


Validations: Not required, as it is a read-only attribute.

operatingSystem
string

The software running on the device


Validations: Not required, read-only attribute

mgmtIpAddress
string

The management IP address of the device
Validations: Not required, as it is a read-only attribute.

mgmtPort
string

The port providing management connectivity to the switch

siteId
string <uuid>

The site with which the switch is associated

lacpEnabled
boolean

A flag to enable/disable LACP on the device
Supported values: true/false

lacploggingLevel
string
Enum: "emergency" "alert" "error" "warning" "notice" "info" "debug" "none"

The severity for the LACP event logging on this device

ports
Array of objects (PortElement)

The list of port elements representing the physical ports on the switch
Validation: A list of valid PortElement objects

dot1xConfig
object Recursive
Deprecated

The Dot1x configuration on the switch

lldpConfig
object Recursive

The LLDP configuration on the switch

stpConfig
object Recursive

The STP configuration on the switch

macAuthConfig
object Recursive
Deprecated

The MAC based authentication configuration on the switch

license
object Recursive

The license details of the device

poeElement
object Recursive

The POE configuration supported at the switch level

logins
Array of objects (SwitchLoginElement) [ 0 .. 1 ] items

The list of login credentials

capability
object Recursive

The hardware and software features supported by the switch

currentAssets
Array of objects (AssetElement)

The list of assets reported by the switch. This attribute is read-only.

desiredAssets
Array of objects (AssetElement)

The list of assets to be pushed to the switch. Read-only from REST API. The desired assets get set by ConfigurationEditor in response to the scheduling of an upgrade.

igmpEnabled
boolean

A flag to enable or disable IGMP snooping on the device

floorId
string

Floor configured in the switch

enableSSHAccess
boolean

Access to this field requires GTAC level privileges or higher. Full administrators cannot set this field. SSH access is only used by GTAC and higher level support teams. This controls whether the switch enables its SSHD server. This value is set to false by default.

baseService
string
Enum: "GRACE_PERIOD" "LICENSED" "UNLICENSED" "UNENTITLED"

Base Service associated with the switch.

ledStatus
string
Enum: "OFF" "ON"

LED Status of the port. Options are (ON/OFF)

bpeConfigs
Array of objects (BPEConfigElement)

List of BPE configurations. Indicates on which cascade slot and cascade port a particular bridge port extender is connected and its configuration.

managedByCB
Array of strings

Contains a list of parent Client Bridge serial numbers

hwMode
string
Enum: "SWITCH" "CB" "BPE"

Identifies the hardware mode of the switch. Options are (Switch, CB, BPE).

slotNumber
string ^(0?[0-9]?[0-9]|1[0-5]?[0-9]|16[0-2])$

The slot number of the switch. Validations Range 1-162.

vims
Array of objects (VimElement)

The list of VIM modules connected to the switch

Responses

200

The updated switch configuration

default

Error response

put /v1/switches/{serialNumber}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/{serialNumber}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "serialNumber": "1733N-42224",
  • "macaddress": "00:04:96:9e:fc:bc",
  • "softwareVersion": "1.2.5.13",
  • "hostSite": "ThornhillCentralized",
  • "switchType": "210-48p-GE4",
  • "sysDescription": "200SeriesOS 210-48p-GE4",
  • "sysUpTime": 0,
  • "systemName": "1733N-42224",
  • "sysOid": "1.3.6.1.4.1.1916.2.265",
  • "operatingSystem": "200SeriesOS",
  • "mgmtIpAddress": "11.12.12.3",
  • "mgmtPort": "",
  • "siteId": "eaab6b13-865d-4475-a26f-d3d95b6e0812",
  • "lacpEnabled": false,
  • "lacploggingLevel": "warning",
  • "ports":
    [
    ],
  • "dot1xConfig":
    {
    },
  • "lldpConfig":
    {
    },
  • "stpConfig":
    {
    },
  • "macAuthConfig":
    {
    },
  • "license":
    {
    },
  • "poeElement":
    {
    },
  • "logins": [ ],
  • "capability":
    {
    },
  • "currentAssets":
    [
    ],
  • "desiredAssets":
    [
    ],
  • "igmpEnabled": false,
  • "floorId": null,
  • "enableSSHAccess": false,
  • "baseService": null
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "serialNumber": "1733N-42224",
  • "macaddress": "00:04:96:9e:fc:bc",
  • "softwareVersion": "1.2.5.13",
  • "hostSite": "ThornhillCentralized",
  • "switchType": "210-48p-GE4",
  • "sysDescription": "200SeriesOS 210-48p-GE4",
  • "sysUpTime": 0,
  • "systemName": "1733N-42224",
  • "sysOid": "1.3.6.1.4.1.1916.2.265",
  • "operatingSystem": "200SeriesOS",
  • "mgmtIpAddress": "11.12.12.3",
  • "mgmtPort": "",
  • "siteId": "eaab6b13-865d-4475-a26f-d3d95b6e0812",
  • "lacpEnabled": false,
  • "lacploggingLevel": "warning",
  • "ports":
    [
    ],
  • "dot1xConfig":
    {
    },
  • "lldpConfig":
    {
    },
  • "stpConfig":
    {
    },
  • "macAuthConfig":
    {
    },
  • "license":
    {
    },
  • "poeElement":
    {
    },
  • "logins": [ ],
  • "capability":
    {
    },
  • "currentAssets":
    [
    ],
  • "desiredAssets":
    [
    ],
  • "igmpEnabled": false,
  • "floorId": null,
  • "enableSSHAccess": false,
  • "baseService": null
}

Delete a switch for a customer

Authorizations:
path Parameters
serialNumber
required
string

A non-empty, valid switch SerialNumber

Responses

200

Switch deletion status

default

Error response

delete /v1/switches/{serialNumber}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/{serialNumber}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Enable download of logs from switch

Authorizations:
path Parameters
serialNumber
required
string

A non-empty, valid switch serial number

query Parameters
deleteAction
boolean

Responses

200

Status of the operation

default

Error response

put /v1/switches/{serialNumber}/logs

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/{serialNumber}/logs

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Enable switch reboot during next check-in

Authorizations:
path Parameters
serialNumber
required
string

Responses

200

Status of the operation

default

Error response

put /v1/switches/{serialNumber}/reboot

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/{serialNumber}/reboot

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Clone a switch configuration

Clone a switch

Authorizations:
query Parameters
from
required
string ^[[\\p{Print}&&[^\t\n\r;:&\\p{Cntrl}]]*]{11,11}$

A non-empty, valid switch serial number from which the configuration should be cloned

to
required
string ^[[\\p{Print}&&[^\t\n\r;:&\\p{Cntrl}]]*]{11,11}$

A non-empty, valid switch serial number to which the configuration should be cloned.

Responses

201

Returns a cloned SwitchElement instance.\n
Returns an error message with the reason if the operation results in an error.

post /v1/switches/clone

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/clone

Enable switch reset during next check-in

Authorizations:
path Parameters
serialNumber
required
string

A non-empty, valid switch serial number

Responses

200

Status of the operation

default

Error response

put /v1/switches/{serialNumber}/reset

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/{serialNumber}/reset

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Set the flag on the backend, indicating the opening of the remote console. Admin permission levels - Full Admin

Authorizations:
path Parameters
serialNumber
required
string ^[[\\p{Print}&&[^\t\n\r;:&\\p{Cntrl}]]*]{11,11}$

A non-empty, valid Switch SerialNumber

consoleAction
required
string (ConsoleAction)
Enum: "Connect" "Disconnect"
Example: Connect

console action requested

query Parameters
timeout
number

A valid timeout value. A valid integer value. The range is between 0 and 32768

Responses

200

Status of the operation

default

Error response

put /v1/switches/{serialNumber}/console/{consoleAction}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/{serialNumber}/console/{consoleAction}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get list of traces download URL for a switch

Authorizations:
path Parameters
serialNumber
required
string

A non-empty, valid switch serial number, timeout value

Responses

200

List of traces download URL

default

Error response

get /v1/switches/{serialNumber}/traceurls

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/{serialNumber}/traceurls

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • "string"
]

Enable switch upgrade during next check-in

Authorizations:
path Parameters
serialNumber
required
string

A non-empty, valid switch serial number

Responses

200

Status of the operation.

default

Error response

put /v1/switches/{serialNumber}/upgrade

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/{serialNumber}/upgrade

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Method to configure a switch port

Authorizations:
path Parameters
portNumber
required
string
serialNumber
required
string

A non-empty, valid Switch SerialNumber

Request Body schema: application/json
custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
portSpeed
string
Enum: "UNKNOWN" "T1Speed" "WAN_SPEED" "TEN" "T3Speed" "SPEED_TEN100" "SPEED_1GIG" "SPEED_10GIG" "SPEED_25GIG" "SPEED_40GIG" "SPEED_50GIG" "SPEED_100GIG" "INFINIBAND_SPEED" "AUTO"

The actual port speed

typeOfService
number
adminStatus
string
Enum: "On" "Off"

Supports administratively enabling and disabling a port

defaultPolicy
string
poePortConfig
object Recursive

The POE configuration on the port

lagmembers
Array of strings

A list of LAG member ports

lagType
string
Enum: "Master" "member" "None"

A flag to identify if a port is LAG master or member port

taggedTopologies
Array of strings

A list of tagged toplogies configured in a site

untaggedTopology
string

The untaggedTopology configured in a site

pvid
string

The port vlan ID

duplex
string
Enum: "ETH_DUPLEX_TYPE_HALF" "ETH_DUPLEX_TYPE_FULL"

Duplex that can be assigned to the port. Default is FULL.

enableEEE
boolean

A flag to enable energy efficient ethernet. Both ends of the link must have EEE enabled for it to take effect. Default is false.

dot1xEnabled
boolean

A flag to indicate if Dot1x is enabled on the port

macAuthEnabled
boolean

A flag to indicate if MAC-based authentication is enabled on the port

portName
string

The name of the port. Default Name: portNumber.

portType
string
Enum: "ACCESS" "INTERSWITCH" "OTHER" "HOST" "BPECASCADE" "MLAG_ISC"

The type of the port. Supported values are ACCESS/INTERSWITCH/OTHER/HOST/BPECASCADE/MLAG_ISC.

portAlias
string [\\p{Print}&&[^\t\n\r;:&\\p{Cntrl}]]{1,255}

The user assigned name for the port. ExtremeCloud will auto generate portAliases to be the serial number of the device + port ID, and will not allow the user to set the port (this isto match ZTP+implementation). Validations: Alphanumeric and special characters, except semi-colon, colon, and ampersand.

lldpenabled
boolean

A flag to indicate if LLDP is enabled on the port. Valid values are true/false.

stpenabled
boolean

A flag to indicate if STP is enabled on the port. Valid values true/false.

portCapability
object Recursive

Returns the capability, software/hardware of a switch port

portPaths
Array of strings

The portPaths represents the possible ways this port can be reached. Like CB1SerialNumber:slotNumber:portNumber CB2SerialNumber:slotNumber:portNumber BPESerialNumber:portNumber

Responses

204

The updated Switch if the configuration initiated successfully.

default

Error response

put /v1/switches/{serialNumber}/ports/{portNumber}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/{serialNumber}/ports/{portNumber}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "portSpeed": "AUTO",
  • "typeOfService": 0,
  • "adminStatus": "On",
  • "defaultPolicy": null,
  • "poePortConfig":
    {
    },
  • "lagmembers": [ ],
  • "lagType": "None",
  • "taggedTopologies":
    [
    ],
  • "untaggedTopology": "efd5f044-26c8-11e7-93ae-92361f002671",
  • "pvid": "efd5f044-26c8-11e7-93ae-92361f002671",
  • "dot1xEnabled": false,
  • "macAuthEnabled": false,
  • "portNumber": "1",
  • "portName": "0/1",
  • "portType": "INTERSWITCH",
  • "portAlias": "1",
  • "lldpenabled": true,
  • "stpenabled": true,
  • "portCapability":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "portSpeed": "AUTO",
  • "typeOfService": 0,
  • "adminStatus": "On",
  • "defaultPolicy": null,
  • "poePortConfig":
    {
    },
  • "lagmembers": [ ],
  • "lagType": "None",
  • "taggedTopologies":
    [
    ],
  • "untaggedTopology": "efd5f044-26c8-11e7-93ae-92361f002671",
  • "pvid": "efd5f044-26c8-11e7-93ae-92361f002671",
  • "dot1xEnabled": false,
  • "macAuthEnabled": false,
  • "portNumber": "1",
  • "portName": "0/1",
  • "portType": "INTERSWITCH",
  • "portAlias": "1",
  • "lldpenabled": true,
  • "stpenabled": true,
  • "portCapability":
    {
    }
}

Get a specified switch port slot

Get a specified port on the specified slot of the switch. Admin permission levels: All

Authorizations:
path Parameters
portNumber
required
string

A non-empty, valid port number

serialNumber
required
string

A non-empty, valid switch serial number

slotNumber
required
string

A non-empty, valid slot number

Responses

200

Returns the PortElement instance with the specified ID.
Returns an error message with the reason if there is no port with the specified ID or if the operation results in an error.

get /v1/switches/{serialNumber}/slots/{slotNumber}/ports/{portNumber}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/{serialNumber}/slots/{slotNumber}/ports/{portNumber}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "portSpeed": "AUTO",
  • "typeOfService": 0,
  • "adminStatus": "On",
  • "defaultPolicy": null,
  • "poePortConfig":
    {
    },
  • "lagmembers": [ ],
  • "lagType": "None",
  • "taggedTopologies":
    [
    ],
  • "untaggedTopology": "efd5f044-26c8-11e7-93ae-92361f002671",
  • "pvid": "efd5f044-26c8-11e7-93ae-92361f002671",
  • "dot1xEnabled": false,
  • "macAuthEnabled": false,
  • "portNumber": "1",
  • "portName": "0/1",
  • "portType": "INTERSWITCH",
  • "portAlias": "1",
  • "lldpenabled": true,
  • "stpenabled": true,
  • "portCapability":
    {
    }
}

Update the port configuration on a specified switch port slot

Update the port configuration on a specified slot of the switch Admin permission levels: Full admin

Authorizations:
path Parameters
portNumber
required
string

A non-empty, valid port number

serialNumber
required
string

A non-empty, valid switch serial number

slotNumber
required
string

A non-empty, valid slot number

Request Body schema: application/json
custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
portSpeed
string
Enum: "UNKNOWN" "T1Speed" "WAN_SPEED" "TEN" "T3Speed" "SPEED_TEN100" "SPEED_1GIG" "SPEED_10GIG" "SPEED_25GIG" "SPEED_40GIG" "SPEED_50GIG" "SPEED_100GIG" "INFINIBAND_SPEED" "AUTO"

The actual port speed

typeOfService
number
adminStatus
string
Enum: "On" "Off"

Supports administratively enabling and disabling a port

defaultPolicy
string
poePortConfig
object Recursive

The POE configuration on the port

lagmembers
Array of strings

A list of LAG member ports

lagType
string
Enum: "Master" "member" "None"

A flag to identify if a port is LAG master or member port

taggedTopologies
Array of strings

A list of tagged toplogies configured in a site

untaggedTopology
string

The untaggedTopology configured in a site

pvid
string

The port vlan ID

duplex
string
Enum: "ETH_DUPLEX_TYPE_HALF" "ETH_DUPLEX_TYPE_FULL"

Duplex that can be assigned to the port. Default is FULL.

enableEEE
boolean

A flag to enable energy efficient ethernet. Both ends of the link must have EEE enabled for it to take effect. Default is false.

dot1xEnabled
boolean

A flag to indicate if Dot1x is enabled on the port

macAuthEnabled
boolean

A flag to indicate if MAC-based authentication is enabled on the port

portName
string

The name of the port. Default Name: portNumber.

portType
string
Enum: "ACCESS" "INTERSWITCH" "OTHER" "HOST" "BPECASCADE" "MLAG_ISC"

The type of the port. Supported values are ACCESS/INTERSWITCH/OTHER/HOST/BPECASCADE/MLAG_ISC.

portAlias
string [\\p{Print}&&[^\t\n\r;:&\\p{Cntrl}]]{1,255}

The user assigned name for the port. ExtremeCloud will auto generate portAliases to be the serial number of the device + port ID, and will not allow the user to set the port (this isto match ZTP+implementation). Validations: Alphanumeric and special characters, except semi-colon, colon, and ampersand.

lldpenabled
boolean

A flag to indicate if LLDP is enabled on the port. Valid values are true/false.

stpenabled
boolean

A flag to indicate if STP is enabled on the port. Valid values true/false.

portCapability
object Recursive

Returns the capability, software/hardware of a switch port

portPaths
Array of strings

The portPaths represents the possible ways this port can be reached. Like CB1SerialNumber:slotNumber:portNumber CB2SerialNumber:slotNumber:portNumber BPESerialNumber:portNumber

Responses

204

Returns the updated PortElement instance with the specified ID.\n
Returns an error message with the reason if there is no port with the specified ID or if the operation results in an error.

put /v1/switches/{serialNumber}/slots/{slotNumber}/ports/{portNumber}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/{serialNumber}/slots/{slotNumber}/ports/{portNumber}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "portSpeed": "AUTO",
  • "typeOfService": 0,
  • "adminStatus": "On",
  • "defaultPolicy": null,
  • "poePortConfig":
    {
    },
  • "lagmembers": [ ],
  • "lagType": "None",
  • "taggedTopologies":
    [
    ],
  • "untaggedTopology": "efd5f044-26c8-11e7-93ae-92361f002671",
  • "pvid": "efd5f044-26c8-11e7-93ae-92361f002671",
  • "dot1xEnabled": false,
  • "macAuthEnabled": false,
  • "portNumber": "1",
  • "portName": "0/1",
  • "portType": "INTERSWITCH",
  • "portAlias": "1",
  • "lldpenabled": true,
  • "stpenabled": true,
  • "portCapability":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "portSpeed": "AUTO",
  • "typeOfService": 0,
  • "adminStatus": "On",
  • "defaultPolicy": null,
  • "poePortConfig":
    {
    },
  • "lagmembers": [ ],
  • "lagType": "None",
  • "taggedTopologies":
    [
    ],
  • "untaggedTopology": "efd5f044-26c8-11e7-93ae-92361f002671",
  • "pvid": "efd5f044-26c8-11e7-93ae-92361f002671",
  • "dot1xEnabled": false,
  • "macAuthEnabled": false,
  • "portNumber": "1",
  • "portName": "0/1",
  • "portType": "INTERSWITCH",
  • "portAlias": "1",
  • "lldpenabled": true,
  • "stpenabled": true,
  • "portCapability":
    {
    }
}

Get a list of all CLI backups for the switch

Authorizations:
path Parameters
serialNumber
required
string ^[[\\p{Print}&&[^\t\n\r;:&\\p{Cntrl}]]*]{11,11}$

A non-empty, valid switch SerialNumber

Responses

200

List of CLI backups for the switch

default

Error response

get /v1/switches/{serialNumber}/clibackups

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/{serialNumber}/clibackups

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Initiate request to change the configuration mode

Authorizations:
path Parameters
serialNumber
required
string ^[[\\p{Print}&&[^\t\n\r;:&\\p{Cntrl}]]*]{11,11}$

A non-empty, valid switch serial number

configurationMode
required
string (ConfigurationMode)
Enum: "CliMode" "GuiMode"
Example: CliMode

The switch configuration mode. Valid values are CliMode or GuiMode

Responses

200

Status of the operation.

default

Error response

put /v1/switches/{serialNumber}/configurationmode/{configurationMode}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/{serialNumber}/configurationmode/{configurationMode}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Initiate request to CliConfiguration Module to backup the script

Authorizations:
path Parameters
serialNumber
required
string ^[[\\p{Print}&&[^\t\n\r;:&\\p{Cntrl}]]*]{11,11}$

A non-empty, valid switch serial number

Responses

200

Status of the operation.

default

Error response

put /v1/switches/{serialNumber}/cliconfigs/backup

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/{serialNumber}/cliconfigs/backup

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Initiate request to send the specified CLI script to the switch

Authorizations:
path Parameters
serialNumber
required
string ^[[\\p{Print}&&[^\t\n\r;:&\\p{Cntrl}]]*]{11,11}$

A non-empty, valid switch serial number

name
required
string (CliConfigName)
Enum: "latest" "previous"
Example: latest

The name of the CLI script to send to the switch

Responses

200

Status of the operation.

default

Error response

put /v1/switches/{serialNumber}/cliconfigs/restore/{name}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/{serialNumber}/cliconfigs/restore/{name}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Initiate request to send the specified CLI script to the switch

Authorizations:
path Parameters
serialNumber
required
string ^[[\\p{Print}&&[^\t\n\r;:&\\p{Cntrl}]]*]{11,11}$

A non-empty, valid switch serial number

Request Body schema: application/json
custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
userName
string

The user name
Validations : Not null and non-empty string.

password
string

The password
Validations : Not null and non-empty string.

accessLevel
string
Enum: "READ_ONLY" "READ_WRITE" "SUPER_USER"

The user access level
Validations : Not null and non-empty access level as string.

Responses

204

The updated switch login if the configuration initiated successfully

default

Error response

put /v1/switches/{serialNumber}/login

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/{serialNumber}/login

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "userName": "...",
  • "password": "...",
  • "accessLevel": "READ_ONLY",
  • "custId": "...",
  • "id": "...",
  • "canDelete": true,
  • "canEdit": true
}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get available widgets for Port report (/v1/switches/{serialNumber}/ports/{portId}/report PUT)

Authorizations:

Responses

200

Returns list of WidgetInfoElement

default

Error response

get /v1/switches/ports/report/widgets

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/ports/report/widgets

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get Port report. (Use /v1/switches/ports/report/widgets to get all available widgets. Select one. Then, use /v1/switches/{serialNumber}/ports/{portId}/report (PUT))

Authorizations:
path Parameters
serialNumber
required
string ^[[\\p{Print}&&[^\t\n\r;:&\\p{Cntrl}]]*]{11,11}$

A non-empty, valid switch serial number

portId
required
string
Request Body schema: application/json

A valid report request

duration
string (Duration)
Enum: "D_3h" "D_3d" "D_14d"

Report duration

widgets
Array of objects (WidgetInfoElement)

Responses

200

Returns PortReportElement

default

Error response

put /v1/switches/{serialNumber}/ports/{portId}/report

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/{serialNumber}/ports/{portId}/report

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "duration": "D_14d",
  • "widgets":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "usedPort": false,
  • "poeState": "disabled",
  • "portNumber": "0/2",
  • "stpRole": "disabled",
  • "linkStatus": "ready",
  • "stpStatus": "disabled",
  • "poeVoltage": 0,
  • "poeCurrent": 0,
  • "neighbors":
    {
    },
  • "poePower": 0,
  • "poeClass": "searching",
  • "actualPortSpeed": "AUTO",
  • "byteUtilization":
    [
    ],
  • "packetUtilization":
    [
    ],
  • "txRxErrorsReport":
    [
    ],
  • "topBusiestPortsOfSwitch":
    [
    ],
  • "portFunctionDistribution":
    [
    ],
  • "poeEnabledVsDisabled":
    [
    ],
  • "packetThroughput":
    [
    ],
  • "byteThroughput":
    [
    ]
}

Get Port report by switch serial number Deprecated

Authorizations:
path Parameters
serialNumber
required
string ^[[\\p{Print}&&[^\t\n\r;:&\\p{Cntrl}]]*]{11,11}$

A non-empty, valid switch serial number

portId
required
string
query Parameters
duration
string 3H|3D|14D
Default: "3H"
Example: duration=3H
widgetList
string
Example: widgetList=byteUtilization,throughputReport

Responses

200

PortReportElement if Port ID is set

default

Error response

get /v1/switches/{serialNumber}/ports/{portId}/report

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/{serialNumber}/ports/{portId}/report

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "usedPort": false,
  • "poeState": "disabled",
  • "portNumber": "0/2",
  • "stpRole": "disabled",
  • "linkStatus": "ready",
  • "stpStatus": "disabled",
  • "poeVoltage": 0,
  • "poeCurrent": 0,
  • "neighbors":
    {
    },
  • "poePower": 0,
  • "poeClass": "searching",
  • "actualPortSpeed": "AUTO",
  • "byteUtilization":
    [
    ],
  • "packetUtilization":
    [
    ],
  • "txRxErrorsReport":
    [
    ],
  • "topBusiestPortsOfSwitch":
    [
    ],
  • "portFunctionDistribution":
    [
    ],
  • "poeEnabledVsDisabled":
    [
    ],
  • "packetThroughput":
    [
    ],
  • "byteThroughput":
    [
    ]
}

Get available widgets for Switch report (/v1/switches/{serialNumber}/report PUT)

Authorizations:

Responses

200

Returns list of WidgetInfoElement

default

Error response

get /v1/switches/report/widgets

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/report/widgets

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get Switch report. (Use /v1/switches/report/widgets to get all available widgets. Select one. Then, use /v1/switches/{serialNumber}/report (PUT))

Authorizations:
path Parameters
serialNumber
required
string
Request Body schema: application/json

A valid report request

duration
string (Duration)
Enum: "D_3h" "D_3d" "D_14d"

Report duration

widgets
Array of objects (WidgetInfoElement)

Responses

200

Returns SwitchReportElement

default

Error response

put /v1/switches/{serialNumber}/report

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/{serialNumber}/report

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "duration": "D_14d",
  • "widgets":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "v6UniqueLocalAddress": null,
  • "deviceSerialNo": "1733N-42224",
  • "entitlementStatus": 0,
  • "hwType": "210-48p-GE4",
  • "fanStatus":
    {
    },
  • "macAddress": "00:04:96:9E:FC:BC",
  • "totalPoePower": 0,
  • "psuStatus":
    {
    },
  • "temperatureStatus":
    {
    },
  • "temperature":
    {
    },
  • "swVersion": "1.2.5.13",
  • "portAttributesMap":
    {
    },
  • "v6GlobalAddress": null,
  • "v6linkLocalAddress": null,
  • "timeStamp": 1554313083476.449,
  • "ipAddress": "",
  • "location": "Default",
  • "powerBudget": 185,
  • "operatingSystem": "",
  • "byteUtilization":
    [
    ],
  • "packetUtilization":
    [
    ],
  • "txRxErrorsReport":
    [
    ],
  • "topBusiestPortsOfSwitch":
    [
    ],
  • "portFunctionDistribution":
    [
    ],
  • "poeEnabledVsDisabled":
    [
    ],
  • "packetThroughput":
    [
    ],
  • "byteThroughput":
    [
    ]
}

Get Switch report by serial number Deprecated

Authorizations:
path Parameters
serialNumber
required
string
query Parameters
duration
string
Default: "3H"
Example: duration=3H
widgetList
string
Example: widgetList=packetThroughput

Responses

200

SwitchReportElement if switchSerialNumber is set

default

Error response

get /v1/switches/{serialNumber}/report

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/switches/{serialNumber}/report

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "v6UniqueLocalAddress": null,
  • "deviceSerialNo": "1733N-42224",
  • "entitlementStatus": 0,
  • "hwType": "210-48p-GE4",
  • "fanStatus":
    {
    },
  • "macAddress": "00:04:96:9E:FC:BC",
  • "totalPoePower": 0,
  • "psuStatus":
    {
    },
  • "temperatureStatus":
    {
    },
  • "temperature":
    {
    },
  • "swVersion": "1.2.5.13",
  • "portAttributesMap":
    {
    },
  • "v6GlobalAddress": null,
  • "v6linkLocalAddress": null,
  • "timeStamp": 1554313083476.449,
  • "ipAddress": "",
  • "location": "Default",
  • "powerBudget": 185,
  • "operatingSystem": "",
  • "byteUtilization":
    [
    ],
  • "packetUtilization":
    [
    ],
  • "txRxErrorsReport":
    [
    ],
  • "topBusiestPortsOfSwitch":
    [
    ],
  • "portFunctionDistribution":
    [
    ],
  • "poeEnabledVsDisabled":
    [
    ],
  • "packetThroughput":
    [
    ],
  • "byteThroughput":
    [
    ]
}

TopologyManager

Create and manage topology.

Get a list of all topologies

Authorizations:

Responses

200
default

Error response

get /v1/topologies

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/topologies

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new topology

Authorizations:
Request Body schema: application/json

A valid topology instance. The topology instance must have the mandatory attributes like name. It can also have optional attributes.

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
required
string

The unique name of the VLAN. Must not be null or empty.
Validations : Not null and non-empty string having 1 to 255 characters.
Valid character set : Alphanumeric, special characters except semi-colon, colon and ampersand

vlanid
required
number

A VLAN ID between 1 to 4094.
Validations : Integer value between 1 and 4094.

tagged
boolean

Indicates whether frames transmitted on this VLAN should include the VLAN tag in the transmission.

multicastFilters
Array of objects (MulticastFilterElement)
multicastBridging
boolean
mode
required
string (Modes)
Enum: "BridgedAtAp" "BridgedAtAc" "Physical" "Management" "FabricAttach" "Vxlan" "Gre"
group
number
members
Array of strings
mtu
number
enableMgmtTraffic
boolean
dhcpServers
string
l3Presence
boolean

l3Presence State if layer 3 (IP) is used for the topology

ipAddress
string

Valid IP address of the topology if layer 3 is used

cidr
number [ 0 .. 32 ]

Cidr: Classless Inter-Domain Routing of the topology if layer 3 is used

gateway
string

Gateway IP address of the topology if layer 3 is used

dhcpStartIpRange
string
dhcpEndIpRange
string
dhcpMode
string (DhcpMode)
Enum: "DHCPNone" "DHCPRelay" "DHCPLocal"
dhcpDomain
string
dhcpDefaultLease
number
dhcpMaxLease
number
dhcpDnsServers
string
wins
string
cert
number
certCa
number
portName
string
vlanMapToEsa
number
dhcpExclusions
Array of objects (DhcpExclusionsElement)
foreignIpAddress
string
apRegistration
boolean
fqdn
string
isid
number
pool
Array of strings <uuid>

For topology group this array is non-null non-empty list of topology IDs of member topologies. For regular topologies this array is null

vni
number [ 1 .. 16777215 ]

Vxlan VNI number

remoteVtepIp
string <ipv4>

Vxlan remote-endpoint IP address

concentrators
Array of strings <uuid> [ 1 .. 3 ] items

Specifies the list of GRE / IPSec concentrators when topology mode is "Gre". Null for all other topology modes.

profiles
Array of strings <uuid>

List of profiles that have this topology assigned as "Additional Topology".

blockNonEssentialBroadcast
boolean
Default: false

When enabled, all broadcasts on the topology (except ARP and DHCP) are blocked

Responses

201

Newly created topology instance with the configured parameters

default

Error response

post /v1/topologies

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/topologies

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "",
  • "id": "c50e25f6-413e-11e9-97b3-000c29a7fe8f",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "VlanGroup_1 dsf",
  • "vlanid": 5,
  • "tagged": false,
  • "multicastFilters": [ ],
  • "multicastBridging": false,
  • "mode": "BridgedAtAc",
  • "group": 0,
  • "members": [ ],
  • "mtu": 1500,
  • "enableMgmtTraffic": false,
  • "dhcpServers": "",
  • "l3Presence": true,
  • "ipAddress": "0.0.0.0",
  • "cidr": 0,
  • "gateway": "0.0.0.0",
  • "dhcpStartIpRange": "0.0.0.0",
  • "dhcpEndIpRange": "0.0.0.0",
  • "dhcpMode": "DHCPNone",
  • "dhcpDomain": "",
  • "dhcpDefaultLease": 36000,
  • "dhcpMaxLease": 2592000,
  • "dhcpDnsServers": "",
  • "wins": "",
  • "cert": 0,
  • "certCa": 0,
  • "portName": "csi9",
  • "vlanMapToEsa": -1,
  • "dhcpExclusions": [ ],
  • "foreignIpAddress": "0.0.0.0",
  • "apRegistration": false,
  • "fqdn": "",
  • "isid": 0,
  • "pool":
    [
    ],
  • "proxied": "Local",
  • "features":
    [
    ],
  • "blockNonEssentialBroadcast": false
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "",
  • "id": "c50e25f6-413e-11e9-97b3-000c29a7fe8f",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "VlanGroup_1 dsf",
  • "vlanid": 5,
  • "tagged": false,
  • "multicastFilters": [ ],
  • "multicastBridging": false,
  • "mode": "BridgedAtAc",
  • "group": 0,
  • "members": [ ],
  • "mtu": 1500,
  • "enableMgmtTraffic": false,
  • "dhcpServers": "",
  • "l3Presence": true,
  • "ipAddress": "0.0.0.0",
  • "cidr": 0,
  • "gateway": "0.0.0.0",
  • "dhcpStartIpRange": "0.0.0.0",
  • "dhcpEndIpRange": "0.0.0.0",
  • "dhcpMode": "DHCPNone",
  • "dhcpDomain": "",
  • "dhcpDefaultLease": 36000,
  • "dhcpMaxLease": 2592000,
  • "dhcpDnsServers": "",
  • "wins": "",
  • "cert": 0,
  • "certCa": 0,
  • "portName": "csi9",
  • "vlanMapToEsa": -1,
  • "dhcpExclusions": [ ],
  • "foreignIpAddress": "0.0.0.0",
  • "apRegistration": false,
  • "fqdn": "",
  • "isid": 0,
  • "pool":
    [
    ],
  • "proxied": "Local",
  • "features":
    [
    ],
  • "blockNonEssentialBroadcast": false
}

Get topology with default values

Authorizations:

Responses

200

TopologyElement instance with attributes set to default values

default

Error response

get /v1/topologies/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/topologies/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "",
  • "id": "c50e25f6-413e-11e9-97b3-000c29a7fe8f",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "VlanGroup_1 dsf",
  • "vlanid": 5,
  • "tagged": false,
  • "multicastFilters": [ ],
  • "multicastBridging": false,
  • "mode": "BridgedAtAc",
  • "group": 0,
  • "members": [ ],
  • "mtu": 1500,
  • "enableMgmtTraffic": false,
  • "dhcpServers": "",
  • "l3Presence": true,
  • "ipAddress": "0.0.0.0",
  • "cidr": 0,
  • "gateway": "0.0.0.0",
  • "dhcpStartIpRange": "0.0.0.0",
  • "dhcpEndIpRange": "0.0.0.0",
  • "dhcpMode": "DHCPNone",
  • "dhcpDomain": "",
  • "dhcpDefaultLease": 36000,
  • "dhcpMaxLease": 2592000,
  • "dhcpDnsServers": "",
  • "wins": "",
  • "cert": 0,
  • "certCa": 0,
  • "portName": "csi9",
  • "vlanMapToEsa": -1,
  • "dhcpExclusions": [ ],
  • "foreignIpAddress": "0.0.0.0",
  • "apRegistration": false,
  • "fqdn": "",
  • "isid": 0,
  • "pool":
    [
    ],
  • "proxied": "Local",
  • "features":
    [
    ],
  • "blockNonEssentialBroadcast": false
}

Get topology name to ID map

Authorizations:

Responses

200

Map with topology name and corresponding ID

default

Error response

get /v1/topologies/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/topologies/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get topology by ID

Authorizations:
path Parameters
topologyId
required
string

A non-empty, valid Topology ID

Responses

200

TopologyElement instance with the given ID

default

Error response

get /v1/topologies/{topologyId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/topologies/{topologyId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "",
  • "id": "c50e25f6-413e-11e9-97b3-000c29a7fe8f",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "VlanGroup_1 dsf",
  • "vlanid": 5,
  • "tagged": false,
  • "multicastFilters": [ ],
  • "multicastBridging": false,
  • "mode": "BridgedAtAc",
  • "group": 0,
  • "members": [ ],
  • "mtu": 1500,
  • "enableMgmtTraffic": false,
  • "dhcpServers": "",
  • "l3Presence": true,
  • "ipAddress": "0.0.0.0",
  • "cidr": 0,
  • "gateway": "0.0.0.0",
  • "dhcpStartIpRange": "0.0.0.0",
  • "dhcpEndIpRange": "0.0.0.0",
  • "dhcpMode": "DHCPNone",
  • "dhcpDomain": "",
  • "dhcpDefaultLease": 36000,
  • "dhcpMaxLease": 2592000,
  • "dhcpDnsServers": "",
  • "wins": "",
  • "cert": 0,
  • "certCa": 0,
  • "portName": "csi9",
  • "vlanMapToEsa": -1,
  • "dhcpExclusions": [ ],
  • "foreignIpAddress": "0.0.0.0",
  • "apRegistration": false,
  • "fqdn": "",
  • "isid": 0,
  • "pool":
    [
    ],
  • "proxied": "Local",
  • "features":
    [
    ],
  • "blockNonEssentialBroadcast": false
}

Method to update a topology

Authorizations:
path Parameters
topologyId
required
string

A non-empty, valid Topology ID

Request Body schema: application/json

A valid topology with the configured parameters. The topology must have the mandatory attributes (for example, name). It can also have optional attributes.

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
required
string

The unique name of the VLAN. Must not be null or empty.
Validations : Not null and non-empty string having 1 to 255 characters.
Valid character set : Alphanumeric, special characters except semi-colon, colon and ampersand

vlanid
required
number

A VLAN ID between 1 to 4094.
Validations : Integer value between 1 and 4094.

tagged
boolean

Indicates whether frames transmitted on this VLAN should include the VLAN tag in the transmission.

multicastFilters
Array of objects (MulticastFilterElement)
multicastBridging
boolean
mode
required
string (Modes)
Enum: "BridgedAtAp" "BridgedAtAc" "Physical" "Management" "FabricAttach" "Vxlan" "Gre"
group
number
members
Array of strings
mtu
number
enableMgmtTraffic
boolean
dhcpServers
string
l3Presence
boolean

l3Presence State if layer 3 (IP) is used for the topology

ipAddress
string

Valid IP address of the topology if layer 3 is used

cidr
number [ 0 .. 32 ]

Cidr: Classless Inter-Domain Routing of the topology if layer 3 is used

gateway
string

Gateway IP address of the topology if layer 3 is used

dhcpStartIpRange
string
dhcpEndIpRange
string
dhcpMode
string (DhcpMode)
Enum: "DHCPNone" "DHCPRelay" "DHCPLocal"
dhcpDomain
string
dhcpDefaultLease
number
dhcpMaxLease
number
dhcpDnsServers
string
wins
string
cert
number
certCa
number
portName
string
vlanMapToEsa
number
dhcpExclusions
Array of objects (DhcpExclusionsElement)
foreignIpAddress
string
apRegistration
boolean
fqdn
string
isid
number
pool
Array of strings <uuid>

For topology group this array is non-null non-empty list of topology IDs of member topologies. For regular topologies this array is null

vni
number [ 1 .. 16777215 ]

Vxlan VNI number

remoteVtepIp
string <ipv4>

Vxlan remote-endpoint IP address

concentrators
Array of strings <uuid> [ 1 .. 3 ] items

Specifies the list of GRE / IPSec concentrators when topology mode is "Gre". Null for all other topology modes.

profiles
Array of strings <uuid>

List of profiles that have this topology assigned as "Additional Topology".

blockNonEssentialBroadcast
boolean
Default: false

When enabled, all broadcasts on the topology (except ARP and DHCP) are blocked

Responses

200

The updated topology if the update operation initiated successfully

default

Error response

put /v1/topologies/{topologyId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/topologies/{topologyId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "",
  • "id": "c50e25f6-413e-11e9-97b3-000c29a7fe8f",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "VlanGroup_1 dsf",
  • "vlanid": 5,
  • "tagged": false,
  • "multicastFilters": [ ],
  • "multicastBridging": false,
  • "mode": "BridgedAtAc",
  • "group": 0,
  • "members": [ ],
  • "mtu": 1500,
  • "enableMgmtTraffic": false,
  • "dhcpServers": "",
  • "l3Presence": true,
  • "ipAddress": "0.0.0.0",
  • "cidr": 0,
  • "gateway": "0.0.0.0",
  • "dhcpStartIpRange": "0.0.0.0",
  • "dhcpEndIpRange": "0.0.0.0",
  • "dhcpMode": "DHCPNone",
  • "dhcpDomain": "",
  • "dhcpDefaultLease": 36000,
  • "dhcpMaxLease": 2592000,
  • "dhcpDnsServers": "",
  • "wins": "",
  • "cert": 0,
  • "certCa": 0,
  • "portName": "csi9",
  • "vlanMapToEsa": -1,
  • "dhcpExclusions": [ ],
  • "foreignIpAddress": "0.0.0.0",
  • "apRegistration": false,
  • "fqdn": "",
  • "isid": 0,
  • "pool":
    [
    ],
  • "proxied": "Local",
  • "features":
    [
    ],
  • "blockNonEssentialBroadcast": false
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "",
  • "id": "c50e25f6-413e-11e9-97b3-000c29a7fe8f",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "VlanGroup_1 dsf",
  • "vlanid": 5,
  • "tagged": false,
  • "multicastFilters": [ ],
  • "multicastBridging": false,
  • "mode": "BridgedAtAc",
  • "group": 0,
  • "members": [ ],
  • "mtu": 1500,
  • "enableMgmtTraffic": false,
  • "dhcpServers": "",
  • "l3Presence": true,
  • "ipAddress": "0.0.0.0",
  • "cidr": 0,
  • "gateway": "0.0.0.0",
  • "dhcpStartIpRange": "0.0.0.0",
  • "dhcpEndIpRange": "0.0.0.0",
  • "dhcpMode": "DHCPNone",
  • "dhcpDomain": "",
  • "dhcpDefaultLease": 36000,
  • "dhcpMaxLease": 2592000,
  • "dhcpDnsServers": "",
  • "wins": "",
  • "cert": 0,
  • "certCa": 0,
  • "portName": "csi9",
  • "vlanMapToEsa": -1,
  • "dhcpExclusions": [ ],
  • "foreignIpAddress": "0.0.0.0",
  • "apRegistration": false,
  • "fqdn": "",
  • "isid": 0,
  • "pool":
    [
    ],
  • "proxied": "Local",
  • "features":
    [
    ],
  • "blockNonEssentialBroadcast": false
}

Delete topology for a customer

Authorizations:
path Parameters
topologyId
required
string

A non-empty, valid Topology Id

Responses

200

Topology deleted successfully

default

Error response

delete /v1/topologies/{topologyId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/topologies/{topologyId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get list of all topologies

Authorizations:
query Parameters
modes
Array of strings (Modes)
Items Enum: "BridgedAtAp" "BridgedAtAc" "Physical" "Management" "FabricAttach" "Vxlan" "Gre"
Example: modes=.../topologies?modes=BridgedAtAp,ISC

List of topology modes.

Responses

200

Get the list of all V3 topologies.

default

Error response

get /v3/topologies

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/topologies

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

XLocationManager

Manage ExtremeLocation profile configuration.

Get list of all XLocation profiles Deprecated

Authorizations:

Responses

200
default

Error response

get /v3/xlocation

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/xlocation

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new XLocation element Deprecated

Authorizations:
Request Body schema: application/json

A valid XLocation instance. The XLocation instance must have the mandatory attributes like name. It can also have optional attributes.

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
string
svrAddr
string

List of server address

minRss
number

Minimum RSS

reportFreq
number

Report Frequency 1~60 seconds. Default is 10 seconds.

tenantId
string

Responses

201

Newly created XLocation instance with the configured parameters

default

Error response

post /v3/xlocation

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/xlocation

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "32cd2466-8503-4aec-9c69-48dda52f1b96",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "GavinExtrLocation",
  • "svrAddr": "feeds1.extremelocation.com",
  • "minRss": -80,
  • "reportFreq": 10,
  • "tenantId": "373105369723"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "32cd2466-8503-4aec-9c69-48dda52f1b96",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "GavinExtrLocation",
  • "svrAddr": "feeds1.extremelocation.com",
  • "minRss": -80,
  • "reportFreq": 10,
  • "tenantId": "373105369723"
}

Get XLocation profile with default values Deprecated

Authorizations:

Responses

200

XLocationProfileElement instance with attributes set to default values

default

Error response

get /v3/xlocation/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/xlocation/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "32cd2466-8503-4aec-9c69-48dda52f1b96",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "GavinExtrLocation",
  • "svrAddr": "feeds1.extremelocation.com",
  • "minRss": -80,
  • "reportFreq": 10,
  • "tenantId": "373105369723"
}

Get XLocation profile names mapped to ID Deprecated

Authorizations:

Responses

200

Map with XLocation profile name and corresponding ID

default

Error response

get /v3/xlocation/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/xlocation/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get XLocation profile by ID Deprecated

Authorizations:
path Parameters
xlocationId
required
string

A non-empty, valid XLocation Id

Responses

200

XLocationProfileElement instance with the given ID

default

Error response

get /v3/xlocation/{xlocationId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/xlocation/{xlocationId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "32cd2466-8503-4aec-9c69-48dda52f1b96",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "GavinExtrLocation",
  • "svrAddr": "feeds1.extremelocation.com",
  • "minRss": -80,
  • "reportFreq": 10,
  • "tenantId": "373105369723"
}

Update an XLocation Profile Deprecated

Authorizations:
path Parameters
xlocationId
required
string

A non-empty, valid XLocation profile Id

Request Body schema: application/json

A valid XLocation profile with the configured parameters. The XLocation Profile must have the mandatory attributes like name. It can have other optional attributes.

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
string
svrAddr
string

List of server address

minRss
number

Minimum RSS

reportFreq
number

Report Frequency 1~60 seconds. Default is 10 seconds.

tenantId
string

Responses

200

The updated XLocation profile

default

Error response

put /v3/xlocation/{xlocationId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/xlocation/{xlocationId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "32cd2466-8503-4aec-9c69-48dda52f1b96",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "GavinExtrLocation",
  • "svrAddr": "feeds1.extremelocation.com",
  • "minRss": -80,
  • "reportFreq": 10,
  • "tenantId": "373105369723"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "32cd2466-8503-4aec-9c69-48dda52f1b96",
  • "canDelete": false,
  • "canEdit": true,
  • "name": "GavinExtrLocation",
  • "svrAddr": "feeds1.extremelocation.com",
  • "minRss": -80,
  • "reportFreq": 10,
  • "tenantId": "373105369723"
}

Delete XLocation profile for a customer Deprecated

Authorizations:
path Parameters
xlocationId
required
string

A non-empty, valid XLocation Id

Responses

200

XLocation Profile deletion status

default

Error response

delete /v3/xlocation/{xlocationId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/xlocation/{xlocationId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

WorkFlowManager

Retrieve device or profile workflow.

Get sites or profiles that are using a given device or profile

Authorizations:
query Parameters
type
required
string (ConfigurableObjectType)
Enum: "Unknown" "Profile" "Adsp" "Analytics" "Ap" "Iot" "Cos" "Positioning" "Rfmgmt" "Role" "Switch" "Xlocation" "Service" "Rtls" "Topology" "Devicegroup" "Site" "Backup" "Ntp" "L2port" "PhysicalInterface" "AAAPolicy" "Availability" "Meshpoint" "License" "Dns"
Example: type=Unknown

The type of device or profile that users want to know which sites or profiles are using it.

id
required
string

When the device type is Switch or AP, users running an ID query must provide a serial number. Otherwise, users must provide a valid UUID.

Responses

200

Get the list of ConfigurableObjectElement that represents the entity that is used by the query parameters.

default

Error response

get /v1/workflow

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/workflow

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "useBy":
    [
    ],
  • "refsTo":
    [
    ]
}

SwitchPortProfileManager

Create and manage port profiles. **Note:This resource manager will be supported in a future release.

Get list of all port profiles.

Authorizations:

Responses

200

List containing all the port profiles.

default

Error response

get /v3/switchportprofile

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/switchportprofile

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new port profile.

Authorizations:
Request Body schema: application/json

A non-empty, valid profile instance with the configured parameters.

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
portSpeed
string
Enum: "UNKNOWN" "T1Speed" "WAN_SPEED" "TEN" "T3Speed" "SPEED_TEN100" "SPEED_1GIG" "SPEED_10GIG" "SPEED_25GIG" "SPEED_40GIG" "SPEED_50GIG" "SPEED_100GIG" "INFINIBAND_SPEED" "AUTO"

The actual port speed

typeOfService
number
adminStatus
string
Enum: "On" "Off"

Supports administratively enabling and disabling a port

defaultPolicy
string
poePortConfig
object Recursive

The POE configuration on the port

lagmembers
Array of strings

A list of LAG member ports

lagType
string
Enum: "Master" "member" "None"

A flag to identify if a port is LAG master or member port

taggedTopologies
Array of strings

A list of tagged toplogies configured in a site

untaggedTopology
string

The untaggedTopology configured in a site

pvid
string

The port vlan ID

duplex
string
Enum: "ETH_DUPLEX_TYPE_HALF" "ETH_DUPLEX_TYPE_FULL"

Duplex that can be assigned to the port. Default is FULL.

enableEEE
boolean

A flag to enable energy efficient ethernet. Both ends of the link must have EEE enabled for it to take effect. Default is false.

dot1xEnabled
boolean

A flag to indicate if Dot1x is enabled on the port

macAuthEnabled
boolean

A flag to indicate if MAC-based authentication is enabled on the port

name
string ^[a-zA-Z0-9.-_]{1,64}$

The profile name.

Responses

200

The newly created SwitchPortProfileElement instance

default

Error response

post /v3/switchportprofile

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/switchportprofile

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "portSpeed": "UNKNOWN",
  • "typeOfService": 0,
  • "adminStatus": "On",
  • "defaultPolicy": "string",
  • "poePortConfig":
    {
    },
  • "lagmembers":
    [
    ],
  • "lagType": "Master",
  • "taggedTopologies":
    [
    ],
  • "untaggedTopology": "string",
  • "pvid": "string",
  • "duplex": "ETH_DUPLEX_TYPE_HALF",
  • "enableEEE": true,
  • "dot1xEnabled": true,
  • "macAuthEnabled": true,
  • "name": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "portSpeed": "UNKNOWN",
  • "typeOfService": 0,
  • "adminStatus": "On",
  • "defaultPolicy": "string",
  • "poePortConfig":
    {
    },
  • "lagmembers":
    [
    ],
  • "lagType": "Master",
  • "taggedTopologies":
    [
    ],
  • "untaggedTopology": "string",
  • "pvid": "string",
  • "duplex": "ETH_DUPLEX_TYPE_HALF",
  • "enableEEE": true,
  • "dot1xEnabled": true,
  • "macAuthEnabled": true,
  • "name": "string"
}

Get a switch port profile with default values

Authorizations:

Responses

200

SwitchPortProfileElement instance with attributes set to default values

default

Error response

get /v3/switchportprofile/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/switchportprofile/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "portSpeed": "UNKNOWN",
  • "typeOfService": 0,
  • "adminStatus": "On",
  • "defaultPolicy": "string",
  • "poePortConfig":
    {
    },
  • "lagmembers":
    [
    ],
  • "lagType": "Master",
  • "taggedTopologies":
    [
    ],
  • "untaggedTopology": "string",
  • "pvid": "string",
  • "duplex": "ETH_DUPLEX_TYPE_HALF",
  • "enableEEE": true,
  • "dot1xEnabled": true,
  • "macAuthEnabled": true,
  • "name": "string"
}

Get switch port profile names mapped to IDs

Authorizations:

Responses

200

Map with profile names and corresponding IDs

default

Error response

get /v3/switchportprofile/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/switchportprofile/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get a profile by its uuid

Authorizations:
path Parameters
profileId
required
string <uuid>

Responses

200

A profile instance with the given uuid

default

Error response

get /v3/switchportprofile/{profileId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/switchportprofile/{profileId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "portSpeed": "UNKNOWN",
  • "typeOfService": 0,
  • "adminStatus": "On",
  • "defaultPolicy": "string",
  • "poePortConfig":
    {
    },
  • "lagmembers":
    [
    ],
  • "lagType": "Master",
  • "taggedTopologies":
    [
    ],
  • "untaggedTopology": "string",
  • "pvid": "string",
  • "duplex": "ETH_DUPLEX_TYPE_HALF",
  • "enableEEE": true,
  • "dot1xEnabled": true,
  • "macAuthEnabled": true,
  • "name": "string"
}

Update a port profile.

Authorizations:
path Parameters
profileId
required
string <uuid>
Request Body schema: application/json
custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
portSpeed
string
Enum: "UNKNOWN" "T1Speed" "WAN_SPEED" "TEN" "T3Speed" "SPEED_TEN100" "SPEED_1GIG" "SPEED_10GIG" "SPEED_25GIG" "SPEED_40GIG" "SPEED_50GIG" "SPEED_100GIG" "INFINIBAND_SPEED" "AUTO"

The actual port speed

typeOfService
number
adminStatus
string
Enum: "On" "Off"

Supports administratively enabling and disabling a port

defaultPolicy
string
poePortConfig
object Recursive

The POE configuration on the port

lagmembers
Array of strings

A list of LAG member ports

lagType
string
Enum: "Master" "member" "None"

A flag to identify if a port is LAG master or member port

taggedTopologies
Array of strings

A list of tagged toplogies configured in a site

untaggedTopology
string

The untaggedTopology configured in a site

pvid
string

The port vlan ID

duplex
string
Enum: "ETH_DUPLEX_TYPE_HALF" "ETH_DUPLEX_TYPE_FULL"

Duplex that can be assigned to the port. Default is FULL.

enableEEE
boolean

A flag to enable energy efficient ethernet. Both ends of the link must have EEE enabled for it to take effect. Default is false.

dot1xEnabled
boolean

A flag to indicate if Dot1x is enabled on the port

macAuthEnabled
boolean

A flag to indicate if MAC-based authentication is enabled on the port

name
string ^[a-zA-Z0-9.-_]{1,64}$

The profile name.

Responses

200

The updated SwitchPortProfileElement instance

default

Error response

put /v3/switchportprofile/{profileId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/switchportprofile/{profileId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "portSpeed": "UNKNOWN",
  • "typeOfService": 0,
  • "adminStatus": "On",
  • "defaultPolicy": "string",
  • "poePortConfig":
    {
    },
  • "lagmembers":
    [
    ],
  • "lagType": "Master",
  • "taggedTopologies":
    [
    ],
  • "untaggedTopology": "string",
  • "pvid": "string",
  • "duplex": "ETH_DUPLEX_TYPE_HALF",
  • "enableEEE": true,
  • "dot1xEnabled": true,
  • "macAuthEnabled": true,
  • "name": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "portSpeed": "UNKNOWN",
  • "typeOfService": 0,
  • "adminStatus": "On",
  • "defaultPolicy": "string",
  • "poePortConfig":
    {
    },
  • "lagmembers":
    [
    ],
  • "lagType": "Master",
  • "taggedTopologies":
    [
    ],
  • "untaggedTopology": "string",
  • "pvid": "string",
  • "duplex": "ETH_DUPLEX_TYPE_HALF",
  • "enableEEE": true,
  • "dot1xEnabled": true,
  • "macAuthEnabled": true,
  • "name": "string"
}

Delete a profile by its uuid

Authorizations:
path Parameters
profileId
required
string

Responses

200

Profile deleted successfully

delete /v3/switchportprofile/{profileId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/switchportprofile/{profileId}

EGuestManager

Create and manage EGuest configuration.

Get all EGuest Services

Authorizations:

Responses

200

Get an EGuest deployments

default

Error response

get /v1/eguest

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/eguest

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new EGuest

Authorizations:
Request Body schema: application/json

A valid EGuestElement instance

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
string
cpFqdn
string (?=^.{4,253}$)(^((?!-)[a-zA-Z0-9-]{1,63}(?<!-)\.)+[a-zA-Z]{2,63}$)

EGuest FQDN.

authenticationRadiusServer
object (RadiusServerElement) Recursive

RADIUS element for MUs authentication.

accountingRadiusServer
object (RadiusServerElement) Recursive

RADIUS element for MUs authentication.

userName
string

Callback user name.

password
string [ 1 .. 64 ] characters

Callback password.

Responses

201

Newly created EGuest.

default

Error response

post /v1/eguest

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/eguest

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "cpFqdn": "string",
  • "authenticationRadiusServer":
    {
    },
  • "accountingRadiusServer":
    {
    },
  • "userName": "string",
  • "password": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "cpFqdn": "string",
  • "authenticationRadiusServer":
    {
    },
  • "accountingRadiusServer":
    {
    },
  • "userName": "string",
  • "password": "string"
}

Get the default EGuest configuration

Authorizations:

Responses

200

EGuestElement instance with attributes set to default values

default

Error response

get /v1/eguest/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/eguest/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "cpFqdn": "string",
  • "authenticationRadiusServer":
    {
    },
  • "accountingRadiusServer":
    {
    },
  • "userName": "string",
  • "password": "string"
}

Get EGuest name to ID map

Authorizations:

Responses

200

Map with EGuest name and corresponding ID

default

Error response

get /v1/eguest/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/eguest/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get an EGuest by ID

Authorizations:
path Parameters
eguestId
required
string

A non-empty, valid EGuest ID

Responses

200

EGuestElement instance with the given ID

default

Error response

get /v1/eguest/{eguestId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/eguest/{eguestId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "cpFqdn": "string",
  • "authenticationRadiusServer":
    {
    },
  • "accountingRadiusServer":
    {
    },
  • "userName": "string",
  • "password": "string"
}

Update an EGuest

Authorizations:
path Parameters
eguestId
required
string

A non-empty, valid EGuest ID

Request Body schema: application/json

A valid EGuest with the configured parameters

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
string
cpFqdn
string (?=^.{4,253}$)(^((?!-)[a-zA-Z0-9-]{1,63}(?<!-)\.)+[a-zA-Z]{2,63}$)

EGuest FQDN.

authenticationRadiusServer
object (RadiusServerElement) Recursive

RADIUS element for MUs authentication.

accountingRadiusServer
object (RadiusServerElement) Recursive

RADIUS element for MUs authentication.

userName
string

Callback user name.

password
string [ 1 .. 64 ] characters

Callback password.

Responses

200

The updated EGuest

default

Error response

put /v1/eguest/{eguestId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/eguest/{eguestId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "cpFqdn": "string",
  • "authenticationRadiusServer":
    {
    },
  • "accountingRadiusServer":
    {
    },
  • "userName": "string",
  • "password": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "cpFqdn": "string",
  • "authenticationRadiusServer":
    {
    },
  • "accountingRadiusServer":
    {
    },
  • "userName": "string",
  • "password": "string"
}

Delete an EGuest

Authorizations:
path Parameters
eguestId
required
string

A non-empty, valid EGuest ID

Responses

200

EGuest deleted successfully

default

Error response

delete /v1/eguest/{eguestId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/eguest/{eguestId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

AAAPolicyManager

This resource manager serves all resource requests and initiates all operations on the AAAPolicy entity.

Get all AAA Policies

Authorizations:

Responses

200

Get all AAA Policies

default

Error response

get /v1/aaapolicy

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aaapolicy

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new AAA Policy.

Authorizations:
Request Body schema: application/json

A valid AAA Policy instance.

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
string

Name of the policy

healthCheck
integer [ 60 .. 86400 ]
accountingStart
string (AccountingStart)
Default: "NoDelay"
Enum: "OnAcquiringIP" "NoDelay"
serverPoolingMode
string
Enum: "failover" "loadBalance"
attributes
object
accountingInterimInterval
integer [ 60 .. 3600 ]
includeFramedIp
boolean
Default: false

Flag to include the Framed-IP attribute in the RADIUS access request.

accountingType
string (AccountingType)
Enum: "StartInterimStop" "StartStop"
authenticationType
string (RadiusAuthProtocol)
Enum: "PAP" "CHAP" "MSCHAP" "MSCHAP2"
radiusAccountingEnabled
boolean
Deprecated
authenticationRadiusServers
Array of objects (RadiusServerElement)
accountingRadiusServers
Array of objects (RadiusServerElement)
reportNasLocation
boolean
operatorNamespace
string (OperatorNamespace)
Enum: "None" "Tadig" "Realm" "E212" "OneCC"
operatorName
string <= 255 characters
accountingAccessAlg
string (AccountingAccessAlg)
Default: "Broadcast"
Enum: "Broadcast" "RoundRobin"
denyOnAuthFailure
object (DenyOnAuthFailureElement)

Minimizes the RADIUS server load that is created by repeated authentication requests.

reauthTimeoutOvr
integer [ 0 .. 300 ]
Default: 0

'Overrides the reauthentication timeout specified by the RADIUS server. Values are: 0 - timeout disabled, or 60-300 seconds'.

Responses

201

Newly created AAA Policy.

default

Error response

post /v1/aaapolicy

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aaapolicy

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "healthCheck": 60,
  • "accountingStart": "NoDelay",
  • "serverPoolingMode": "failover",
  • "attributes":
    {
    },
  • "accountingInterimInterval": 60,
  • "includeFramedIp": false,
  • "accountingType": "StartStop",
  • "authenticationType": "PAP",
  • "radiusAccountingEnabled": true,
  • "authenticationRadiusServers":
    [
    ],
  • "accountingRadiusServers":
    [
    ],
  • "reportNasLocation": true,
  • "operatorNamespace": "Realm",
  • "operatorName": "string",
  • "accountingAccessAlg": "Broadcast",
  • "denyOnAuthFailure":
    {
    },
  • "reauthTimeoutOvr": 0
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "healthCheck": 60,
  • "accountingStart": "NoDelay",
  • "serverPoolingMode": "failover",
  • "attributes":
    {
    },
  • "accountingInterimInterval": 60,
  • "includeFramedIp": false,
  • "accountingType": "StartStop",
  • "authenticationType": "PAP",
  • "radiusAccountingEnabled": true,
  • "authenticationRadiusServers":
    [
    ],
  • "accountingRadiusServers":
    [
    ],
  • "reportNasLocation": true,
  • "operatorNamespace": "Realm",
  • "operatorName": "string",
  • "accountingAccessAlg": "Broadcast",
  • "denyOnAuthFailure":
    {
    },
  • "reauthTimeoutOvr": 0
}

Get the default AAA Policy configuration

Authorizations:

Responses

200

AAA Policy instance with attributes set to default values

default

Error response

get /v1/aaapolicy/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aaapolicy/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "healthCheck": 60,
  • "accountingStart": "NoDelay",
  • "serverPoolingMode": "failover",
  • "attributes":
    {
    },
  • "accountingInterimInterval": 60,
  • "includeFramedIp": false,
  • "accountingType": "StartStop",
  • "authenticationType": "PAP",
  • "radiusAccountingEnabled": true,
  • "authenticationRadiusServers":
    [
    ],
  • "accountingRadiusServers":
    [
    ],
  • "reportNasLocation": true,
  • "operatorNamespace": "Realm",
  • "operatorName": "string",
  • "accountingAccessAlg": "Broadcast",
  • "denyOnAuthFailure":
    {
    },
  • "reauthTimeoutOvr": 0
}

Get AAA Policy name to ID map

Authorizations:

Responses

200

Map with AAA Policy name and corresponding ID

default

Error response

get /v1/aaapolicy/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aaapolicy/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get a AAA policy by ID

Authorizations:
path Parameters
id
required
string

A non-empty, valid AAA Policy ID

Responses

200

AAA Policy instance with the given ID

default

Error response

get /v1/aaapolicy/{id}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aaapolicy/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "healthCheck": 60,
  • "accountingStart": "NoDelay",
  • "serverPoolingMode": "failover",
  • "attributes":
    {
    },
  • "accountingInterimInterval": 60,
  • "includeFramedIp": false,
  • "accountingType": "StartStop",
  • "authenticationType": "PAP",
  • "radiusAccountingEnabled": true,
  • "authenticationRadiusServers":
    [
    ],
  • "accountingRadiusServers":
    [
    ],
  • "reportNasLocation": true,
  • "operatorNamespace": "Realm",
  • "operatorName": "string",
  • "accountingAccessAlg": "Broadcast",
  • "denyOnAuthFailure":
    {
    },
  • "reauthTimeoutOvr": 0
}

Update a AAA Policy instance

Authorizations:
path Parameters
id
required
string

A non-empty, valid AAA Policy ID

Request Body schema: application/json

A valid AAA Policy with the configured parameters

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
string

Name of the policy

healthCheck
integer [ 60 .. 86400 ]
accountingStart
string (AccountingStart)
Default: "NoDelay"
Enum: "OnAcquiringIP" "NoDelay"
serverPoolingMode
string
Enum: "failover" "loadBalance"
attributes
object
accountingInterimInterval
integer [ 60 .. 3600 ]
includeFramedIp
boolean
Default: false

Flag to include the Framed-IP attribute in the RADIUS access request.

accountingType
string (AccountingType)
Enum: "StartInterimStop" "StartStop"
authenticationType
string (RadiusAuthProtocol)
Enum: "PAP" "CHAP" "MSCHAP" "MSCHAP2"
radiusAccountingEnabled
boolean
Deprecated
authenticationRadiusServers
Array of objects (RadiusServerElement)
accountingRadiusServers
Array of objects (RadiusServerElement)
reportNasLocation
boolean
operatorNamespace
string (OperatorNamespace)
Enum: "None" "Tadig" "Realm" "E212" "OneCC"
operatorName
string <= 255 characters
accountingAccessAlg
string (AccountingAccessAlg)
Default: "Broadcast"
Enum: "Broadcast" "RoundRobin"
denyOnAuthFailure
object (DenyOnAuthFailureElement)

Minimizes the RADIUS server load that is created by repeated authentication requests.

reauthTimeoutOvr
integer [ 0 .. 300 ]
Default: 0

'Overrides the reauthentication timeout specified by the RADIUS server. Values are: 0 - timeout disabled, or 60-300 seconds'.

Responses

200

The updated AAA Policy

default

Error response

put /v1/aaapolicy/{id}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aaapolicy/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "healthCheck": 60,
  • "accountingStart": "NoDelay",
  • "serverPoolingMode": "failover",
  • "attributes":
    {
    },
  • "accountingInterimInterval": 60,
  • "includeFramedIp": false,
  • "accountingType": "StartStop",
  • "authenticationType": "PAP",
  • "radiusAccountingEnabled": true,
  • "authenticationRadiusServers":
    [
    ],
  • "accountingRadiusServers":
    [
    ],
  • "reportNasLocation": true,
  • "operatorNamespace": "Realm",
  • "operatorName": "string",
  • "accountingAccessAlg": "Broadcast",
  • "denyOnAuthFailure":
    {
    },
  • "reauthTimeoutOvr": 0
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "healthCheck": 60,
  • "accountingStart": "NoDelay",
  • "serverPoolingMode": "failover",
  • "attributes":
    {
    },
  • "accountingInterimInterval": 60,
  • "includeFramedIp": false,
  • "accountingType": "StartStop",
  • "authenticationType": "PAP",
  • "radiusAccountingEnabled": true,
  • "authenticationRadiusServers":
    [
    ],
  • "accountingRadiusServers":
    [
    ],
  • "reportNasLocation": true,
  • "operatorNamespace": "Realm",
  • "operatorName": "string",
  • "accountingAccessAlg": "Broadcast",
  • "denyOnAuthFailure":
    {
    },
  • "reauthTimeoutOvr": 0
}

Delete a AAA Policy instance

Authorizations:
path Parameters
id
required
string

A non-empty, valid AAA Policy ID

Responses

200

AAA Policy deleted successfully

default

Error response

delete /v1/aaapolicy/{id}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/aaapolicy/{id}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

BestPracticeManager

This resource manager allows the user to see and accept Best Practice recommendations.

Perform best practice evaluation

Authorizations:

Responses

200

Result of best peactice evaluations

default

Error response

get /v1/bestpractices/evaluate

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/bestpractices/evaluate

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "timestamp": 0,
  • "conditions":
    [
    ]
}

Accept evaluation for specified best practice condition and update evaluationResult as intentional

Authorizations:
path Parameters
id
required
string <uuid>

A non-empty, valid BestPracticeCondition ID

Responses

200

Accept evaluation.

default

Error response

put /v1/bestpractices/{id}/accept

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/bestpractices/{id}/accept

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

ApplicationKeysManager

Get list of all application keys

Authorizations:
query Parameters
user
string

Optional. If present, get the application keys for the user.

Responses

200
default

Error response

get /v1/appkeys

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/appkeys

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new application key

Authorizations:
Request Body schema: application/json

A valid ApplicationKeyElement instance

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean

Responses

201

The newly created application key

default

Error response

post /v1/appkeys

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/appkeys

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "key": "string",
  • "password": "string",
  • "user": "string",
  • "timeCreated": 0,
  • "timeLastUsed": 0
}

Get an application key by appKey

Authorizations:
path Parameters
appKey
required
string

A non-empty, valid application key

Responses

200

An ApplicationKeyElement instance for the given appKey

default

Error response

get /v1/appkeys/{appKey}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/appkeys/{appKey}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "key": "string",
  • "password": "string",
  • "user": "string",
  • "timeCreated": 0,
  • "timeLastUsed": 0
}

Delete an application key

Authorizations:
path Parameters
appKey
required
string

A non-empty, valid application key

Responses

200

Application key deleted successfully

default

Error response

delete /v1/appkeys/{appKey}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/appkeys/{appKey}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

MeshpointManager

Get list of all meshpoints for a customer

Authorizations:

Responses

200

List containing all the meshpoints

default

Error response

get /v3/meshpoints

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/meshpoints

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new meshpoint

Authorizations:
Request Body schema: application/json

A non-empty, valid meshpoint instance with the configured parameters. The instance must have the mandatory attribute Meshpoint Name. It can also have optional attributes.

custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
required
string

The unique mesh name defined by the user.
Validations : Meshpoint name must be a Not null and non-empty string, between 1 to 64 characters.
Valid character set : Alphanumeric, special characters except semi-colon, colon and ampersand

meshId
string [ 1 .. 32 ] [\\p{Print}&&[^\t\n\r;:&\\p{Cntrl}]]{1,32}

The Mesh ID is an identifier used to delineate different mesh networks. APs must have the same Mesh ID in order to form mesh links. When a MeshConnex policy is configured and mapped to a radio interface, the AP sends beacons that comprise the Meshpoint Neighbor table. When APs with configured meshpoints exchange beacons, the Mesh ID is checked. If an AP receives a mesh beacon with a Mesh ID that does not match its own configured Mesh ID, the beacon is dropped. If the Mesh ID matches, then the AP adds an entry for the neighbor in the Meshpoint Neighbor table.
Validations : Mesh ID must be a Not null and non-empty string, between 1 to 32 characters.

root
boolean
Deprecated
Default: false

An AP configured with a meshpoint can either be designated as a root or non-root AP. Root APs have a wired backhaul. They are considered gateway devices between the wired and wireless network. They are referred to as meshpoint roots. Mesh APs that do not have a backhaul connection are simply referred to as meshpoints. Define the AP root status in the configuration Profile or device override.

controlVlan
string <uuid>

UUID of topology that represents control VLAN of the meshpoint. The control VLAN in the meshpoint configuration is used to facilitate root-to-root communication for handoffs. This VLAN only has significance for meshpoint root APs. When a meshpoint AP, wireless client, or VMM moves from under one root to another, a bind announcement (BANN) is sent on control VLAN to alert the wired infrastructure and other meshpoint roots that the MAC address of a meshpoint, client device, or VMM has moved. Also, Layer 2 updates are sent on any VLAN configured on the device that has moved. The broadcast Layer 2 updates ensure that all root APs and the core infrastructure are aware that client MACs being proxied by the moved AP are aware of the change.

neighborTimeout
integer [ 60 .. 86400 ]
Default: 120

The Neighbor Idle Timeout is the amount of time (in seconds) when no traffic is received from a neighbor before it is declared offline. This is typically set to a low value (1-2 minutes), so that a non functioning neighbor has a minimum impact on the mesh network. When a neighboring AP stops sending beacons, the timeout ensures that the neighbor is removed from the Meshpoint Neighbor table.

privacy
object

Responses

200

Newly created MeshpointElement instance

default

Error response

post /v3/meshpoints

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/meshpoints

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "26942420-6179-11e8-a0a4-c98f03226474",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "meshpoint1",
  • "meshId": "meshpoint1",
  • "root": false,
  • "controlVlan": "4459ee6c-2f76-11e7-93ae-92361f002671",
  • "neighborTimeout": 120,
  • "privacy":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "26942420-6179-11e8-a0a4-c98f03226474",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "meshpoint1",
  • "meshId": "meshpoint1",
  • "root": false,
  • "controlVlan": "4459ee6c-2f76-11e7-93ae-92361f002671",
  • "neighborTimeout": 120,
  • "privacy":
    {
    }
}

Get meshpoint with default values

Authorizations:

Responses

200

MeshpointElement instance with attributes set to default values

default

Error response

get /v3/meshpoints/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/meshpoints/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "26942420-6179-11e8-a0a4-c98f03226474",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "meshpoint1",
  • "meshId": "meshpoint1",
  • "root": false,
  • "controlVlan": "4459ee6c-2f76-11e7-93ae-92361f002671",
  • "neighborTimeout": 120,
  • "privacy":
    {
    }
}

Get profile meshpoint with default values

Authorizations:

Responses

200

ProfileMeshpointElement instance with attributes set to default values

default

Error response

get /v3/meshpoints/profile/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/meshpoints/profile/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "meshpointId": "26942420-6179-11e8-a0a4-c98f03226474",
  • "pathSelectionMethod": "Uniform",
  • "monitorCrm": false,
  • "monitorPrimaryLink": false,
  • "preferredNeighbor": null,
  • "preferredRoot": null,
  • "preferredBand": "BandNONE",
  • "hysteresisMinTh": -60,
  • "hysteresisPeriod": 10,
  • "hysteresisDelta": 5,
  • "hysteresisSNRDelta": 22,
  • "excludeWiredPeer": false,
  • "meshRoot": false,
  • "meshRootOvr": true,
  • "costRoot": false,
  • "rootSelectionMethod": "None",
  • "bandSettings":
    [
    ]
}

Get meshpoint names mapped to IDs

Authorizations:

Responses

200

Map with meshpoint names and corresponding IDs

default

Error response

get /v3/meshpoints/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/meshpoints/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get a meshpoint by its ID

Authorizations:
path Parameters
meshpointId
required
string <uuid>

Responses

200

A meshpoint instance with the given uuid

default

Error response

get /v3/meshpoints/{meshpointId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/meshpoints/{meshpointId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "26942420-6179-11e8-a0a4-c98f03226474",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "meshpoint1",
  • "meshId": "meshpoint1",
  • "root": false,
  • "controlVlan": "4459ee6c-2f76-11e7-93ae-92361f002671",
  • "neighborTimeout": 120,
  • "privacy":
    {
    }
}

Update a meshpoint by its ID

Authorizations:
path Parameters
meshpointId
required
string <uuid>
Request Body schema: application/json
custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
name
required
string

The unique mesh name defined by the user.
Validations : Meshpoint name must be a Not null and non-empty string, between 1 to 64 characters.
Valid character set : Alphanumeric, special characters except semi-colon, colon and ampersand

meshId
string [ 1 .. 32 ] [\\p{Print}&&[^\t\n\r;:&\\p{Cntrl}]]{1,32}

The Mesh ID is an identifier used to delineate different mesh networks. APs must have the same Mesh ID in order to form mesh links. When a MeshConnex policy is configured and mapped to a radio interface, the AP sends beacons that comprise the Meshpoint Neighbor table. When APs with configured meshpoints exchange beacons, the Mesh ID is checked. If an AP receives a mesh beacon with a Mesh ID that does not match its own configured Mesh ID, the beacon is dropped. If the Mesh ID matches, then the AP adds an entry for the neighbor in the Meshpoint Neighbor table.
Validations : Mesh ID must be a Not null and non-empty string, between 1 to 32 characters.

root
boolean
Deprecated
Default: false

An AP configured with a meshpoint can either be designated as a root or non-root AP. Root APs have a wired backhaul. They are considered gateway devices between the wired and wireless network. They are referred to as meshpoint roots. Mesh APs that do not have a backhaul connection are simply referred to as meshpoints. Define the AP root status in the configuration Profile or device override.

controlVlan
string <uuid>

UUID of topology that represents control VLAN of the meshpoint. The control VLAN in the meshpoint configuration is used to facilitate root-to-root communication for handoffs. This VLAN only has significance for meshpoint root APs. When a meshpoint AP, wireless client, or VMM moves from under one root to another, a bind announcement (BANN) is sent on control VLAN to alert the wired infrastructure and other meshpoint roots that the MAC address of a meshpoint, client device, or VMM has moved. Also, Layer 2 updates are sent on any VLAN configured on the device that has moved. The broadcast Layer 2 updates ensure that all root APs and the core infrastructure are aware that client MACs being proxied by the moved AP are aware of the change.

neighborTimeout
integer [ 60 .. 86400 ]
Default: 120

The Neighbor Idle Timeout is the amount of time (in seconds) when no traffic is received from a neighbor before it is declared offline. This is typically set to a low value (1-2 minutes), so that a non functioning neighbor has a minimum impact on the mesh network. When a neighboring AP stops sending beacons, the timeout ensures that the neighbor is removed from the Meshpoint Neighbor table.

privacy
object

Responses

200

The updated MeshpointElement instance

default

Error response

put /v3/meshpoints/{meshpointId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/meshpoints/{meshpointId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "26942420-6179-11e8-a0a4-c98f03226474",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "meshpoint1",
  • "meshId": "meshpoint1",
  • "root": false,
  • "controlVlan": "4459ee6c-2f76-11e7-93ae-92361f002671",
  • "neighborTimeout": 120,
  • "privacy":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "26942420-6179-11e8-a0a4-c98f03226474",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "meshpoint1",
  • "meshId": "meshpoint1",
  • "root": false,
  • "controlVlan": "4459ee6c-2f76-11e7-93ae-92361f002671",
  • "neighborTimeout": 120,
  • "privacy":
    {
    }
}

Delete a meshpoint by its ID

Authorizations:
path Parameters
meshpointId
required
string

Responses

200

Meshpoint deleted successfully

default

Error response

delete /v3/meshpoints/{meshpointId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/meshpoints/{meshpointId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get a meshpoint tree by its ID

Authorizations:
path Parameters
meshpointId
required
string <uuid>

UUID of meshpoint

Responses

200

A meshpoint tree for the given uuid

default

Error response

get /v3/meshpoints/tree/{meshpointId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/meshpoints/tree/{meshpointId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": "26942420-6179-11e8-a0a4-c98f03226474",
  • "canDelete": false,
  • "canEdit": false,
  • "name": "meshpoint1",
  • "meshId": "meshpoint1"
}

Get a meshpoint AP's information by its ID

Authorizations:
path Parameters
meshpointId
required
string <uuid>

UUID of meshpoint

Responses

200

A meshpoint AP's info

default

Error response

get /v3/meshpoints/{meshpointId}/bssid

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v3/meshpoints/{meshpointId}/bssid

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

MSPManager

Get a list of all MSPBriefSites instances for a tenant

Get a list of all MSPBriefSites instances for a tenant

Authorizations:
path Parameters
tenantId
required
string

A non-empty, valid tenantId for the customer

Responses

200

Get a list of all MSPBriefSites instances for a tenant

get /v1/msp/briefsites/{tenantId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/msp/briefsites/{tenantId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

TestSuiteManager

Get list of all test suites

Authorizations:

Responses

200
default

Error response

get /v1/apservices/testsuites

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/apservices/testsuites

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new test suite

Authorizations:
Request Body schema: application/json

A test suite instance.

custId
string
id
required
string <uuid>
canDelete
boolean
canEdit
boolean
name
required
string ^[a-zA-Z0-9._ -]{1,64}$

Test suite name

useDhcp
boolean

Test client IP address method (use DHCP or static address)

staticAddr
object (ClientStaticSettingElement)

Client static setting

mac
object (MacSettingElement)

MAC setting

tests
Array of objects (ApServiceTestElement)

Responses

201

Newly created test suite instance with the configured parameters

default

Error response

post /v1/apservices/testsuites

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/apservices/testsuites

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": null,
  • "name": "test1",
  • "useDhcp": true,
  • "mac":
    {
    },
  • "tests":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": null,
  • "name": "test1",
  • "useDhcp": true,
  • "mac":
    {
    },
  • "tests":
    [
    ]
}

Get a test suite profile with default values

Authorizations:

Responses

200

APTestSuiteElement instance with attributes set to default values

default

Error response

get /v1/apservices/testsuites/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/apservices/testsuites/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": null,
  • "name": "test1",
  • "useDhcp": true,
  • "mac":
    {
    },
  • "tests":
    [
    ]
}

Get test suite names mapped to ID

Authorizations:

Responses

200

Map with test suite name and corresponding ID

default

Error response

get /v1/apservices/testsuites/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/apservices/testsuites/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get test suite by ID

Authorizations:
path Parameters
testSuiteId
required
string

A non-empty, valid test suite ID

Responses

200

APTestSuiteElement instance with the given ID

default

Error response

get /v1/apservices/testsuites/{testSuiteId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/apservices/testsuites/{testSuiteId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": null,
  • "name": "test1",
  • "useDhcp": true,
  • "mac":
    {
    },
  • "tests":
    [
    ]
}

Update a test suite by ID

Authorizations:
path Parameters
testSuiteId
required
string

A non-empty, valid test suite ID

Request Body schema: application/json

A valid test suite with the configured parameters

custId
string
id
required
string <uuid>
canDelete
boolean
canEdit
boolean
name
required
string ^[a-zA-Z0-9._ -]{1,64}$

Test suite name

useDhcp
boolean

Test client IP address method (use DHCP or static address)

staticAddr
object (ClientStaticSettingElement)

Client static setting

mac
object (MacSettingElement)

MAC setting

tests
Array of objects (ApServiceTestElement)

Responses

200

The updated AP test suite

default

Error response

put /v1/apservices/testsuites/{testSuiteId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/apservices/testsuites/{testSuiteId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": null,
  • "name": "test1",
  • "useDhcp": true,
  • "mac":
    {
    },
  • "tests":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": null,
  • "name": "test1",
  • "useDhcp": true,
  • "mac":
    {
    },
  • "tests":
    [
    ]
}

Delete test suite

Authorizations:
path Parameters
testSuiteId
required
string

A non-empty, valid test suite ID

Responses

200

Test suite deletion status

default

Error response

delete /v1/apservices/testsuites/{testSuiteId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/apservices/testsuites/{testSuiteId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Delete test suite list

Authorizations:
query Parameters
testSuiteIds
required
string <uuid>

A non-empty, valid test suite ID

Responses

200

Test suite deletion status

default

Error response

delete /v1/apservices/testsuites/list

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/apservices/testsuites/list

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Start a test run by ID

Authorizations:
Request Body schema: application/json

A list of valid test run IDs

Array
string <uuid>

Responses

200

Test run started

default

Error response

put /v1/apservices/testrun/start

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/apservices/testrun/start

Request samples

Content type
application/json
Copy
Expand all Collapse all
[
  • "string"
]

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Get list of all test runs

Authorizations:

Responses

200
default

Error response

get /v1/apservices/testrun

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/apservices/testrun

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a test run

Authorizations:
Request Body schema: application/json

An AP test run instance

custId
string
id
required
string <uuid>
canDelete
boolean
canEdit
boolean
name
required
string ^[a-zA-Z0-9._ -]{1,64}$

Test name

duration
required
integer [ 1 .. 60 ]

Test duration in minutes

serviceId
required
string <uuid>

The WLAN ID used for this test run. This requires an open WLAN for the test client to work.

testSuiteId
required
string <uuid>
devices
required
Array of strings (SerialNumber)

List of serial numbers

iperfBasePort
integer

A base port for the iperf server. A non-zero integer, automatically incremented based on the number of devices under test.

bandId
Array of strings (RadioBand)
Items Enum: "Band5" "Band6" "Band24" "BandNONE"

Array of radio bands under test. Only one band supported at a time.

testClient
string (ClientTestMode)
Enum: "Wired" "Wireless"

Client test mode

Responses

201

A newly created AP test run instance with the configured parameters

default

Error response

post /v1/apservices/testrun

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/apservices/testrun

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "duration": 1,
  • "serviceId": "string",
  • "testSuiteId": "string",
  • "devices":
    [
    ],
  • "iperfBasePort": 0,
  • "bandId":
    [
    ],
  • "testClient": "Wireless"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "duration": 1,
  • "serviceId": "string",
  • "testSuiteId": "string",
  • "devices":
    [
    ],
  • "iperfBasePort": 0,
  • "bandId":
    [
    ],
  • "testClient": "Wireless"
}

Get AP test run with default values

Authorizations:

Responses

200

APTestRunElement instance with attributes set to default values

default

Error response

get /v1/apservices/testrun/default

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/apservices/testrun/default

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "duration": 1,
  • "serviceId": "string",
  • "testSuiteId": "string",
  • "devices":
    [
    ],
  • "iperfBasePort": 0,
  • "bandId":
    [
    ],
  • "testClient": "Wireless"
}

Get APTestRunElement names mapped to ID

Authorizations:

Responses

200

Map with APTestRun name and corresponding ID

default

Error response

get /v1/apservices/testrun/nametoidmap

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/apservices/testrun/nametoidmap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "SA201-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf09312",
  • "AP7562-default": "41f88f5a-f0c0-11e7-8c3f-9a214cf0930c",
  • "AP3915i-PR-Test": "bed07288-4914-11e9-b6fc-000c29a7fe8f"
}

Get test run by ID

Authorizations:
path Parameters
testRunId
required
string

A non-empty, valid test run ID

Responses

200

APTestRunElement instance with the given ID

default

Error response

get /v1/apservices/testrun/{testRunId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/apservices/testrun/{testRunId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "duration": 1,
  • "serviceId": "string",
  • "testSuiteId": "string",
  • "devices":
    [
    ],
  • "iperfBasePort": 0,
  • "bandId":
    [
    ],
  • "testClient": "Wireless"
}

Update a test run by ID

Authorizations:
path Parameters
testRunId
required
string <uuid>

A non-empty, valid test run ID

Request Body schema: application/json

A valid test run with the configured parameters

custId
string
id
required
string <uuid>
canDelete
boolean
canEdit
boolean
name
required
string ^[a-zA-Z0-9._ -]{1,64}$

Test name

duration
required
integer [ 1 .. 60 ]

Test duration in minutes

serviceId
required
string <uuid>

The WLAN ID used for this test run. This requires an open WLAN for the test client to work.

testSuiteId
required
string <uuid>
devices
required
Array of strings (SerialNumber)

List of serial numbers

iperfBasePort
integer

A base port for the iperf server. A non-zero integer, automatically incremented based on the number of devices under test.

bandId
Array of strings (RadioBand)
Items Enum: "Band5" "Band6" "Band24" "BandNONE"

Array of radio bands under test. Only one band supported at a time.

testClient
string (ClientTestMode)
Enum: "Wired" "Wireless"

Client test mode

Responses

200

The updated AP test run

default

Error response

put /v1/apservices/testrun/{testRunId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/apservices/testrun/{testRunId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "duration": 1,
  • "serviceId": "string",
  • "testSuiteId": "string",
  • "devices":
    [
    ],
  • "iperfBasePort": 0,
  • "bandId":
    [
    ],
  • "testClient": "Wireless"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": "string",
  • "id": "string",
  • "canDelete": true,
  • "canEdit": true,
  • "name": "string",
  • "duration": 1,
  • "serviceId": "string",
  • "testSuiteId": "string",
  • "devices":
    [
    ],
  • "iperfBasePort": 0,
  • "bandId":
    [
    ],
  • "testClient": "Wireless"
}

Delete AP test run

Authorizations:
path Parameters
testRunId
required
string

A non-empty, valid test run ID

Responses

200

AP test run deletion status

default

Error response

delete /v1/apservices/testrun/{testRunId}

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/apservices/testrun/{testRunId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Return stats for a test run by ID Deprecated

Authorizations:
path Parameters
testRunId
required
string

A non-empty, valid test run ID

Responses

200

The updated stats for AP test run

default

Error response

get /v1/apservices/testrun/{testRunId}/stats

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/apservices/testrun/{testRunId}/stats

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Delete all the test results associated with the test run ID and age Deprecated

Authorizations:
path Parameters
testRunId
required
string

A non-empty, valid test run ID

query Parameters
age
required
integer

Delete all results older than the specified age value (in minutes). Use 0 for delete all.

Responses

200

Successful deletion

default

Error response

delete /v1/apservices/testrun/{testRunId}/age

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/apservices/testrun/{testRunId}/age

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Return stats for a test run by ID

Authorizations:
path Parameters
testRunId
required
string

A non-empty, valid test run ID

query Parameters
age
integer

Returns test run results, based on the test run ID, newer than the specified age value (in minutes). If not present, all available test run results will be returned

Responses

200

The updated stats for AP test run

default

Error response

get /v1/apservices/testrun/{testRunId}/results

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/apservices/testrun/{testRunId}/results

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Delete stats for a test run by ID

Authorizations:
path Parameters
testRunId
required
string

A non-empty, valid test run ID

query Parameters
age
required
integer

Deletes all test run results, based on the test run ID, older than the specified age value (in minutes). Use a 0 value to delete all test run results associated with the provided test run ID

Responses

200

Test runs deleted successfully

default

Error response

delete /v1/apservices/testrun/{testRunId}/results

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/apservices/testrun/{testRunId}/results

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Delete list of the test run results by their IDs and start time.

Authorizations:
query Parameters
idStartTime
required
string <uuid:time>
Example: idStartTime=bfea75f9-f36e-46bb-86ef-4507bffcf507:1668221162,bfea75f9-f36e-46bb-86ef-4507bffcf507:2668221164

A non-empty, valid test run ID:start time(timestamp in seconds since epoch)

Responses

200

Test runs deleted successfully

default

Error response

delete /v1/apservices/testrun/result/list

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/apservices/testrun/result/list

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "errors":
    [
    ]
}

Device Manager

Get access point adoption rules

Authorizations:

Responses

200

Adoption rules for the access point

default

Error response

get /v1/devices/adoptionrules

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/devices/adoptionrules

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Update access point adoption rules

Authorizations:
Request Body schema: application/json

The list of access point adoption rules

Array
custId
string
id
string <uuid>
canDelete
boolean
canEdit
boolean
deviceCategory
string (DeviceAdoptionCategory)
Enum: "AP" "Switch"

Device type to which the adoption rule applies

ipAddress
string

This represents device IP address

isIpAddressPrivate
boolean
Deprecated

Indicates whether or not the ipAddress parameter represents a private IP address. This parameter is not received in the request. When it is false, the device adoption rule matches the device public IP address (NATed). When it is true, the device adoption rule matches the device private IP address. The default value is false (Public).

cidr
number [ 0 .. 32 ]
hostname
string
model
string
serial
string
siteId
string <uuid>

Specifies which site a device should be assigned to when assignment criteria matches. When siteId is null, siteName is used as a pattern.

siteName
string

When siteId is null, siteName is used as pattern with substitution strings: $DNS-SUFFIX[x:y] uses the substring of the DNS suffix of the AP, from character at position x to character at position y. y must be greater than or equal to x. (The DNS suffix is FQDN without the hostname.) For example, if the AP reports FQDN ap27u18.cath.extremenetworks.com, then DNS suffix is cath.extremenetworks.com. $FQDN[x:y] uses the substring of FQDN/hostname of AP, from character at position x to character at position y. y must be greater than or equal to x. For example, if the device is assigned to a site named SITE-$FQDN[5:7], and the AP reports its hostname as ap27u18.cath.extremenetworks.com, then the AP is assigned to the site named SITE-u18. The following variants of substitution strings can be used: x The whole string, for example: SITE-$FQDN x Substring from beginning to a particular index, for example: SITE-$FQDN[:3] x Substring from a particular index to the end, for example: SITE-$FQDN[5:] x Substring from index x to index y (x <= y), for example: SITE-$FQDN[3:5]

If such a site does not exist, an error is logged and ExtremeCloud IQ Controller continues the evaluation of adoption rules.

devGrName
string

Specifies the name of a device group a device should be assigned to when criteria matches. devGrName can use substitution strings. See "siteName" for a description of substitution strings.

action
string (DeviceAdoptionRuleAction)
Enum: "Allow" "Deny" "Redirect"

Allow: Let device adopt and assign it to a site and device group Deny: Do not allow device to adopt Redirect: do not allow device to adopt, and redirect the device to another management entity

redirectTo
string

When action==Redirect, specifies IPv4 address or FQDN of the new adopter.

Responses

204

Status of the operation.

default

Error response

put /v1/devices/adoptionrules

ExtremeCloud IQ Controller REST API Server

https://{IP_Address}:5825/management/v1/devices/adoptionrules

Request samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custId": null,
  • "id": null,
  • "canDelete": null,
  • "canEdit": null,
  • "ipAddress": "0.0.0.0",
  • "cidr": 0,
  • "hostname": "aaa",
  • "model": "aaa",
  • "serial": "",
  • "siteId": "eaab6b13-865d-4475-a26f-d3d95b6e0812",
  • "devGrName": "DG-3935-Blackstone"
}