ExtremeGuest REST API (6.0.0)

Download OpenAPI specification:Download

Introduction

The ExtremeGuest API allows developers to programmatically create, access, and manage guest users, devices, sites, customers, and access points in a simple and secure manner. It 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 ExtremeGuest 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 access the REST API Development Center via the ExtremeGuest Graphical User Interface (GUI). Go to Operations > REST API in the GUI to test out API calls. You can also use tools like Postman, an easy-to-use Chrome extension for making HTTP requests. Note: To submit API calls and make configuration changes through the REST API, your RESTful API consuming program needs to have logged in using full Administrator credentials.

Authentication and Authorization

The ExtremeGuest API 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. To begin, pass your login credentials within a POST request to the /v1/oauth2/token endpoint with the following JSON data and structure:

{
   "grantType": "password",
   "userId": "string",
   "password": "string"
}

In exchange for these credentials the ExtremeGuest 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":"OWtsSajgOvHo7TOQV4nrQdMWp1bW8TZG",
    "token_type":"Bearer",
    "idle_timeout":0,
    "twoFactorAuthenticationRequired":false,
    "resetPassword":false,
    "aclTemplate":{},
    "expires_in":86400
}

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 3600 indicates that the access token expires in one hour 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}, where {IP_Address} is the IPv4 or IPv6 address of the server that hosts the on-premise ExtremeGuest installation.
The URI to the resource The resource to create, update, query, or delete. For example, /v1/guestdevices.
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/guestUsers/{guestUserId}, where {guestUserId} 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 get an access token or make API calls, syntax is Authorization: username:password
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 ExtremeGuest REST API 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

oauth2/token

OAuth2 authentication and authorization

Create an access token using Oauth2 authorization

Authorizations:
Request Body schema: application/json

A valid RequestTokenElement object containing the manadatory properties for administrator authentication and authorization

grantType
required
string [ 8 .. 16 ] characters
Default: "password"

A non-empty, valid string with the default value of password

userId
required
string [ 1 .. 64 ] characters

Username for the account

scope
string <= 128 characters

Scope of the access token. This field is not currently used.

password
required
string [ 1 .. 64 ] characters

Password for the above user account.

Responses

200

Access token was created successfully

post /v1/oauth2/token

ExtremeGuest API Server URL

https://IP_Address/v1/oauth2/token

Request samples

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

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "access_token": "string",
  • "token_type": "Bearer",
  • "idle_timeout": 0,
  • "twoFactorAuthenticationRequired": false,
  • "resetPassword": false,
  • "aclTemplate": { },
  • "expires_in": 0
}

Delete an access token

Authorizations:
path Parameters
accessToken
required
string

The access token to be deleted

Responses

400

Invalid access token supplied

delete /v1/oauth2/token/{accessToken}

ExtremeGuest API Server URL

https://IP_Address/v1/oauth2/token/{accessToken}

guestusers

Configure and manage guest users. Operations supported by this resource correspond to managing guest users through the ExtremeGuest Web Admin GUI.

Create a new guest user account

Authorizations:
Request Body schema: application/json

A valid GuestUserElement object with the attributes to be created

firstName
required
string <= 64 characters

First name of the guest user.

lastName
required
string <= 64 characters

Last name of the guest user.

email
string [ 6 .. 128 ] characters

Email address of the guest user. The email address can not be reused for another guest user. At least one field must be provided among userId, email, and mobileNumber. This property can not be modified after creation.

mobileNumber
string [ 10 .. 64 ] characters

Mobile number of the guest user. The string must contain numbers only, including country code. The mobile number can not be reused for another guest user. At least one field must be provided among userId, email, and mobileNumber. This property can not be modified after creation.

userId
string [ 1 .. 128 ] characters

User name for the guest user account. It is recommended to use only lower case letters and digits in the user name. White space characters and the characters @, -, :, . are not permitted in user name. The user name cannot be all digits and cannot be reused for another guest user. At least one field must be provided among userId, email, and mobileNumber. This property can not be modified after creation.

password
required
string [ 1 .. 128 ] characters

Password for the guest user account

organization
string <= 128 characters

Name of the guest user organization

reason
string <= 128 characters

Field to add any additional notes

siteName
required
string [ 1 .. 32 ] characters

Initial site of the guest user. The site must be already present.

groupName
required
string [ 1 .. 64 ] characters

User group of the guest user. The group must be already present.

startTime
required
string <date-time>

Time when the guest user account gets activated

expiryTime
required
string <date-time>

Time when the guest user account expires

id
string

A unique identifier generated by ExtremeGuest for each resource

Responses

200

Guest user account was created

405

Invalid input

post /v1/guestusers

ExtremeGuest API Server URL

https://IP_Address/v1/guestusers

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "firstName": "string",
  • "lastName": "string",
  • "email": "string",
  • "mobileNumber": "stringstri",
  • "userId": "string",
  • "password": "string",
  • "organization": "string",
  • "reason": "string",
  • "siteName": "string",
  • "groupName": "string",
  • "startTime": "2019-08-07T17:37:51Z",
  • "expiryTime": "2019-08-07T17:37:51Z",
  • "id": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "firstName": "string",
  • "lastName": "string",
  • "email": "string",
  • "mobileNumber": "stringstri",
  • "userId": "string",
  • "password": "string",
  • "organization": "string",
  • "reason": "string",
  • "siteName": "string",
  • "groupName": "string",
  • "startTime": "2019-08-07T17:37:51Z",
  • "expiryTime": "2019-08-07T17:37:51Z",
  • "id": "string"
}

Retrieve guest user information

Returns a single or multiple guest users

Authorizations:
query Parameters
siteName
string

A valid site name of the specified guest user

networkName
string

A valid network name of the specified guest user

page
integer

The zero-relative start index of the entire list of items that are returned in the response. Default value of page is 0

page_size
integer

The number of items to return in the response. For example, the combination of page=0 and page_size=20 returns the first 20 items

Responses

200

Guest user information

400

Invalid input supplied

404

Guest user not found

get /v1/guestusers

ExtremeGuest API Server URL

https://IP_Address/v1/guestusers

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "firstName": "string",
  • "lastName": "string",
  • "email": "string",
  • "mobileNumber": "stringstri",
  • "userId": "string",
  • "password": "string",
  • "organization": "string",
  • "reason": "string",
  • "siteName": "string",
  • "groupName": "string",
  • "startTime": "2019-08-07T17:37:51Z",
  • "expiryTime": "2019-08-07T17:37:51Z",
  • "id": "string"
}

Retrieve guest user account information by ID

Returns a single guest user

Authorizations:
path Parameters
guestUserId
required
string

A valid ID for the guest user account to be retrieved

Responses

200

Guest user information

400

Invalid ID supplied

404

Guest user not found

get /v1/guestusers/{guestUserId}

ExtremeGuest API Server URL

https://IP_Address/v1/guestusers/{guestUserId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "firstName": "string",
  • "lastName": "string",
  • "email": "string",
  • "mobileNumber": "stringstri",
  • "userId": "string",
  • "password": "string",
  • "organization": "string",
  • "reason": "string",
  • "siteName": "string",
  • "groupName": "string",
  • "startTime": "2019-08-07T17:37:51Z",
  • "expiryTime": "2019-08-07T17:37:51Z",
  • "id": "string"
}

Update a guest user account by ID

Authorizations:
path Parameters
guestUserId
required
string

A valid ID for the guest user account to be updated

Request Body schema: application/json

A valid GuestUserElement object containing the updated parameters

firstName
required
string <= 64 characters

First name of the guest user.

lastName
required
string <= 64 characters

Last name of the guest user.

email
string [ 6 .. 128 ] characters

Email address of the guest user. The email address can not be reused for another guest user. At least one field must be provided among userId, email, and mobileNumber. This property can not be modified after creation.

mobileNumber
string [ 10 .. 64 ] characters

Mobile number of the guest user. The string must contain numbers only, including country code. The mobile number can not be reused for another guest user. At least one field must be provided among userId, email, and mobileNumber. This property can not be modified after creation.

userId
string [ 1 .. 128 ] characters

User name for the guest user account. It is recommended to use only lower case letters and digits in the user name. White space characters and the characters @, -, :, . are not permitted in user name. The user name cannot be all digits and cannot be reused for another guest user. At least one field must be provided among userId, email, and mobileNumber. This property can not be modified after creation.

password
required
string [ 1 .. 128 ] characters

Password for the guest user account

organization
string <= 128 characters

Name of the guest user organization

reason
string <= 128 characters

Field to add any additional notes

siteName
required
string [ 1 .. 32 ] characters

Initial site of the guest user. The site must be already present.

groupName
required
string [ 1 .. 64 ] characters

User group of the guest user. The group must be already present.

startTime
required
string <date-time>

Time when the guest user account gets activated

expiryTime
required
string <date-time>

Time when the guest user account expires

id
string

A unique identifier generated by ExtremeGuest for each resource

Responses

200

Updated guest user information

405

Invalid input

put /v1/guestusers/{guestUserId}

ExtremeGuest API Server URL

https://IP_Address/v1/guestusers/{guestUserId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "firstName": "string",
  • "lastName": "string",
  • "email": "string",
  • "mobileNumber": "stringstri",
  • "userId": "string",
  • "password": "string",
  • "organization": "string",
  • "reason": "string",
  • "siteName": "string",
  • "groupName": "string",
  • "startTime": "2019-08-07T17:37:51Z",
  • "expiryTime": "2019-08-07T17:37:51Z",
  • "id": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "firstName": "string",
  • "lastName": "string",
  • "email": "string",
  • "mobileNumber": "stringstri",
  • "userId": "string",
  • "password": "string",
  • "organization": "string",
  • "reason": "string",
  • "siteName": "string",
  • "groupName": "string",
  • "startTime": "2019-08-07T17:37:51Z",
  • "expiryTime": "2019-08-07T17:37:51Z",
  • "id": "string"
}

Delete a guest user account by ID

Authorizations:
path Parameters
guestUserId
required
string

A valid ID of the guest user account to be deleted

Responses

200

Guest user account was deleted successfully

400

Invalid ID supplied

404

Guest user not found

delete /v1/guestusers/{guestUserId}

ExtremeGuest API Server URL

https://IP_Address/v1/guestusers/{guestUserId}

Retrieve guest user account information by email ID

Returns a single guest user

Authorizations:
path Parameters
emailId
required
string

A valid guest user email ID

query Parameters
page
integer

The zero-relative start index of the entire list of items that are returned in the response. Default value of page is 0

page_size
integer

The number of items to return in the response. For example, the combination of page=0 and page_size=20 returns the first 20 items

Responses

200

Guest user account information

400

Invalid ID supplied

404

Guest user not found

get /v1/guestusers/byemail/{emailId}

ExtremeGuest API Server URL

https://IP_Address/v1/guestusers/byemail/{emailId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "firstName": "string",
  • "lastName": "string",
  • "email": "string",
  • "mobileNumber": "stringstri",
  • "userId": "string",
  • "password": "string",
  • "organization": "string",
  • "reason": "string",
  • "siteName": "string",
  • "groupName": "string",
  • "startTime": "2019-08-07T17:37:51Z",
  • "expiryTime": "2019-08-07T17:37:51Z",
  • "id": "string"
}

Update a guest user account by email ID

Authorizations:
path Parameters
emailId
required
string

The email address for the guest user account to be updated

Request Body schema: application/json

A valid GuestUserElement object containing the new values of parameters to be updated.

firstName
required
string <= 64 characters

First name of the guest user.

lastName
required
string <= 64 characters

Last name of the guest user.

email
string [ 6 .. 128 ] characters

Email address of the guest user. The email address can not be reused for another guest user. At least one field must be provided among userId, email, and mobileNumber. This property can not be modified after creation.

mobileNumber
string [ 10 .. 64 ] characters

Mobile number of the guest user. The string must contain numbers only, including country code. The mobile number can not be reused for another guest user. At least one field must be provided among userId, email, and mobileNumber. This property can not be modified after creation.

userId
string [ 1 .. 128 ] characters

User name for the guest user account. It is recommended to use only lower case letters and digits in the user name. White space characters and the characters @, -, :, . are not permitted in user name. The user name cannot be all digits and cannot be reused for another guest user. At least one field must be provided among userId, email, and mobileNumber. This property can not be modified after creation.

password
required
string [ 1 .. 128 ] characters

Password for the guest user account

organization
string <= 128 characters

Name of the guest user organization

reason
string <= 128 characters

Field to add any additional notes

siteName
required
string [ 1 .. 32 ] characters

Initial site of the guest user. The site must be already present.

groupName
required
string [ 1 .. 64 ] characters

User group of the guest user. The group must be already present.

startTime
required
string <date-time>

Time when the guest user account gets activated

expiryTime
required
string <date-time>

Time when the guest user account expires

id
string

A unique identifier generated by ExtremeGuest for each resource

Responses

200

Guest user account has been updated

405

Invalid input

put /v1/guestusers/byemail/{emailId}

ExtremeGuest API Server URL

https://IP_Address/v1/guestusers/byemail/{emailId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "firstName": "string",
  • "lastName": "string",
  • "email": "string",
  • "mobileNumber": "stringstri",
  • "userId": "string",
  • "password": "string",
  • "organization": "string",
  • "reason": "string",
  • "siteName": "string",
  • "groupName": "string",
  • "startTime": "2019-08-07T17:37:51Z",
  • "expiryTime": "2019-08-07T17:37:51Z",
  • "id": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "firstName": "string",
  • "lastName": "string",
  • "email": "string",
  • "mobileNumber": "stringstri",
  • "userId": "string",
  • "password": "string",
  • "organization": "string",
  • "reason": "string",
  • "siteName": "string",
  • "groupName": "string",
  • "startTime": "2019-08-07T17:37:51Z",
  • "expiryTime": "2019-08-07T17:37:51Z",
  • "id": "string"
}

Delete a guest user account by email ID

Authorizations:
path Parameters
emailId
required
string

The email address of the guest user account to be deleted

Responses

200

Guest user account has been deleted

400

Invalid ID supplied

404

Guest user not found

delete /v1/guestusers/byemail/{emailId}

ExtremeGuest API Server URL

https://IP_Address/v1/guestusers/byemail/{emailId}

Retrieve guest user account information by mobile number

Returns a single guest user

Authorizations:
path Parameters
mobileNumber
required
string

The mobile number associated with the guest user account. The string must contain numbers only, including country code.

query Parameters
page
integer

The zero-relative start index of the entire list of items that are returned in the response. Default value of page is 0

page_size
integer

The number of items to return in the response. For example, the combination of page=0 and page_size=20 returns the first 20 items

Responses

200

Guest user account information

400

Invalid mobile number supplied

404

Guest user not found

get /v1/guestusers/bymobile/{mobileNumber}

ExtremeGuest API Server URL

https://IP_Address/v1/guestusers/bymobile/{mobileNumber}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "firstName": "string",
  • "lastName": "string",
  • "email": "string",
  • "mobileNumber": "stringstri",
  • "userId": "string",
  • "password": "string",
  • "organization": "string",
  • "reason": "string",
  • "siteName": "string",
  • "groupName": "string",
  • "startTime": "2019-08-07T17:37:51Z",
  • "expiryTime": "2019-08-07T17:37:51Z",
  • "id": "string"
}

Update a guest user account by mobile number

Authorizations:
path Parameters
mobileNumber
required
string

The mobile number associated with the guest user account to be updated. The string must contain numbers only, including country code.

Request Body schema: application/json

A valid GuestUserElement object containing the new values for parameters to be updated

firstName
required
string <= 64 characters

First name of the guest user.

lastName
required
string <= 64 characters

Last name of the guest user.

email
string [ 6 .. 128 ] characters

Email address of the guest user. The email address can not be reused for another guest user. At least one field must be provided among userId, email, and mobileNumber. This property can not be modified after creation.

mobileNumber
string [ 10 .. 64 ] characters

Mobile number of the guest user. The string must contain numbers only, including country code. The mobile number can not be reused for another guest user. At least one field must be provided among userId, email, and mobileNumber. This property can not be modified after creation.

userId
string [ 1 .. 128 ] characters

User name for the guest user account. It is recommended to use only lower case letters and digits in the user name. White space characters and the characters @, -, :, . are not permitted in user name. The user name cannot be all digits and cannot be reused for another guest user. At least one field must be provided among userId, email, and mobileNumber. This property can not be modified after creation.

password
required
string [ 1 .. 128 ] characters

Password for the guest user account

organization
string <= 128 characters

Name of the guest user organization

reason
string <= 128 characters

Field to add any additional notes

siteName
required
string [ 1 .. 32 ] characters

Initial site of the guest user. The site must be already present.

groupName
required
string [ 1 .. 64 ] characters

User group of the guest user. The group must be already present.

startTime
required
string <date-time>

Time when the guest user account gets activated

expiryTime
required
string <date-time>

Time when the guest user account expires

id
string

A unique identifier generated by ExtremeGuest for each resource

Responses

200

Guest user account was updated successfully

405

Invalid input provided

put /v1/guestusers/bymobile/{mobileNumber}

ExtremeGuest API Server URL

https://IP_Address/v1/guestusers/bymobile/{mobileNumber}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "firstName": "string",
  • "lastName": "string",
  • "email": "string",
  • "mobileNumber": "stringstri",
  • "userId": "string",
  • "password": "string",
  • "organization": "string",
  • "reason": "string",
  • "siteName": "string",
  • "groupName": "string",
  • "startTime": "2019-08-07T17:37:51Z",
  • "expiryTime": "2019-08-07T17:37:51Z",
  • "id": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "firstName": "string",
  • "lastName": "string",
  • "email": "string",
  • "mobileNumber": "stringstri",
  • "userId": "string",
  • "password": "string",
  • "organization": "string",
  • "reason": "string",
  • "siteName": "string",
  • "groupName": "string",
  • "startTime": "2019-08-07T17:37:51Z",
  • "expiryTime": "2019-08-07T17:37:51Z",
  • "id": "string"
}

Delete a guest user account by mobile number

Authorizations:
path Parameters
mobileNumber
required
string

The mobile number of the guest user account to be deleted. The string must contain numbers only, including country code.

Responses

200

Guest user account deleted successfully

400

Invalid ID supplied

404

Guest user not found

delete /v1/guestusers/bymobile/{mobileNumber}

ExtremeGuest API Server URL

https://IP_Address/v1/guestusers/bymobile/{mobileNumber}

guestdevices

Configure and manage guest devices. Operations supported by this resource correspond to managing guest devices through the ExtremeGuest Vendor Admin GUI.

Create a new guest device

Authorizations:
Request Body schema: application/json

A valid GuestDeviceElement object with the attributes to be created

macAddress
required
string [ 12 .. 17 ] characters

MAC address of the guest device in AA-BB-CC-DD-EE-FF format. This property can not be modified after creation.

siteName
required
string [ 1 .. 32 ] characters

Name of the guest device site. The site must be already present.

networkName
required
string [ 1 .. 32 ] characters

Name of the network that serves this guest device. The network must be already present.

groupName
required
string [ 1 .. 64 ] characters

User group of the guest device. The group must be already present.

vendorName
required
string <= 128 characters

Name of the vendor to classify the guest device

deviceType
required
string <= 128 characters

Type of the guest device

deviceOs
required
string <= 128 characters

Name of the operating system in the guest device

deviceBrowser
required
string <= 128 characters

Name of the web browser in the guest device

expiryTime
required
string <date-time>

Time when the guest device will be automatically deleted

id
string

A unique identifier generated by ExtremeGuest for each resource

Responses

200

Returns the newly created guest device object

405

Invalid input

post /v1/guestdevices

ExtremeGuest API Server URL

https://IP_Address/v1/guestdevices

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "macAddress": "stringstring",
  • "siteName": "string",
  • "networkName": "string",
  • "groupName": "string",
  • "vendorName": "string",
  • "deviceType": "string",
  • "deviceOs": "string",
  • "deviceBrowser": "string",
  • "expiryTime": "2019-08-07T17:37:51Z",
  • "id": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "macAddress": "stringstring",
  • "siteName": "string",
  • "networkName": "string",
  • "groupName": "string",
  • "vendorName": "string",
  • "deviceType": "string",
  • "deviceOs": "string",
  • "deviceBrowser": "string",
  • "expiryTime": "2019-08-07T17:37:51Z",
  • "id": "string"
}

Retrieve guest device information

Returns a single or multiple guest device

Authorizations:
query Parameters
siteName
string

A valid site name of the specified guest device

networkName
string

A valid network name of the specified guest device

page
integer

The zero-relative start index of the entire list of items that are returned in the response. Default value of page is 0

page_size
integer

The number of items to return in the response. For example, the combination of page=0 and page_size=20 returns the first 20 items

Responses

200

Guest device information

400

Invalid ID supplied

404

Guest device not found

get /v1/guestdevices

ExtremeGuest API Server URL

https://IP_Address/v1/guestdevices

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "macAddress": "stringstring",
  • "siteName": "string",
  • "networkName": "string",
  • "groupName": "string",
  • "vendorName": "string",
  • "deviceType": "string",
  • "deviceOs": "string",
  • "deviceBrowser": "string",
  • "expiryTime": "2019-08-07T17:37:51Z",
  • "id": "string"
}

Retrieve guest device information by ID

Returns a single guest device

Authorizations:
path Parameters
guestDeviceId
required
string

A valid ID of the guest device to be retrieved

Responses

200

Guest device information

400

Invalid ID supplied

404

Guest device not found

get /v1/guestdevices/{guestDeviceId}

ExtremeGuest API Server URL

https://IP_Address/v1/guestdevices/{guestDeviceId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "macAddress": "stringstring",
  • "siteName": "string",
  • "networkName": "string",
  • "groupName": "string",
  • "vendorName": "string",
  • "deviceType": "string",
  • "deviceOs": "string",
  • "deviceBrowser": "string",
  • "expiryTime": "2019-08-07T17:37:51Z",
  • "id": "string"
}

Update a guest device by ID

Authorizations:
path Parameters
guestDeviceId
required
string

A valid ID of the guest device to be updated

Request Body schema: application/json

A valid GuestDeviceElement object containing the new values for parameter to be updated

macAddress
required
string [ 12 .. 17 ] characters

MAC address of the guest device in AA-BB-CC-DD-EE-FF format. This property can not be modified after creation.

siteName
required
string [ 1 .. 32 ] characters

Name of the guest device site. The site must be already present.

networkName
required
string [ 1 .. 32 ] characters

Name of the network that serves this guest device. The network must be already present.

groupName
required
string [ 1 .. 64 ] characters

User group of the guest device. The group must be already present.

vendorName
required
string <= 128 characters

Name of the vendor to classify the guest device

deviceType
required
string <= 128 characters

Type of the guest device

deviceOs
required
string <= 128 characters

Name of the operating system in the guest device

deviceBrowser
required
string <= 128 characters

Name of the web browser in the guest device

expiryTime
required
string <date-time>

Time when the guest device will be automatically deleted

id
string

A unique identifier generated by ExtremeGuest for each resource

Responses

200

Updated guest device information

405

Invalid input

put /v1/guestdevices/{guestDeviceId}

ExtremeGuest API Server URL

https://IP_Address/v1/guestdevices/{guestDeviceId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "macAddress": "stringstring",
  • "siteName": "string",
  • "networkName": "string",
  • "groupName": "string",
  • "vendorName": "string",
  • "deviceType": "string",
  • "deviceOs": "string",
  • "deviceBrowser": "string",
  • "expiryTime": "2019-08-07T17:37:51Z",
  • "id": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "macAddress": "stringstring",
  • "siteName": "string",
  • "networkName": "string",
  • "groupName": "string",
  • "vendorName": "string",
  • "deviceType": "string",
  • "deviceOs": "string",
  • "deviceBrowser": "string",
  • "expiryTime": "2019-08-07T17:37:51Z",
  • "id": "string"
}

Delete a guest device by ID

Authorizations:
path Parameters
guestDeviceId
required
string

A valid ID of the guest device to be deleted

Responses

200

Guest device was deleted successfully

400

Invalid ID supplied

404

Guest device not found

delete /v1/guestdevices/{guestDeviceId}

ExtremeGuest API Server URL

https://IP_Address/v1/guestdevices/{guestDeviceId}

Retrieve guest device information by MAC address

Returns a single guest device

Authorizations:
path Parameters
macAddress
required
string

A valid MAC address of the guest device to be retrieved

Responses

200

Guest device information

400

Invalid ID supplied

404

Guest device not found

get /v1/guestdevices/bymac/{macAddress}

ExtremeGuest API Server URL

https://IP_Address/v1/guestdevices/bymac/{macAddress}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "macAddress": "stringstring",
  • "siteName": "string",
  • "networkName": "string",
  • "groupName": "string",
  • "vendorName": "string",
  • "deviceType": "string",
  • "deviceOs": "string",
  • "deviceBrowser": "string",
  • "expiryTime": "2019-08-07T17:37:51Z",
  • "id": "string"
}

Update guest device information by MAC address

Authorizations:
path Parameters
macAddress
required
string

A valid MAC address of the guest device to be updated

Request Body schema: application/json

A valid GuestDeviceElement object containing the new values of parameters to be updated

macAddress
required
string [ 12 .. 17 ] characters

MAC address of the guest device in AA-BB-CC-DD-EE-FF format. This property can not be modified after creation.

siteName
required
string [ 1 .. 32 ] characters

Name of the guest device site. The site must be already present.

networkName
required
string [ 1 .. 32 ] characters

Name of the network that serves this guest device. The network must be already present.

groupName
required
string [ 1 .. 64 ] characters

User group of the guest device. The group must be already present.

vendorName
required
string <= 128 characters

Name of the vendor to classify the guest device

deviceType
required
string <= 128 characters

Type of the guest device

deviceOs
required
string <= 128 characters

Name of the operating system in the guest device

deviceBrowser
required
string <= 128 characters

Name of the web browser in the guest device

expiryTime
required
string <date-time>

Time when the guest device will be automatically deleted

id
string

A unique identifier generated by ExtremeGuest for each resource

Responses

200

Updated guest device information

405

Invalid input

put /v1/guestdevices/bymac/{macAddress}

ExtremeGuest API Server URL

https://IP_Address/v1/guestdevices/bymac/{macAddress}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "macAddress": "stringstring",
  • "siteName": "string",
  • "networkName": "string",
  • "groupName": "string",
  • "vendorName": "string",
  • "deviceType": "string",
  • "deviceOs": "string",
  • "deviceBrowser": "string",
  • "expiryTime": "2019-08-07T17:37:51Z",
  • "id": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "macAddress": "stringstring",
  • "siteName": "string",
  • "networkName": "string",
  • "groupName": "string",
  • "vendorName": "string",
  • "deviceType": "string",
  • "deviceOs": "string",
  • "deviceBrowser": "string",
  • "expiryTime": "2019-08-07T17:37:51Z",
  • "id": "string"
}

Delete guest device by MAC address

Authorizations:
path Parameters
macAddress
required
string

A valid MAC address of the guest device to be deleted

Responses

200

Guest device deleted successfully

400

Invalid ID supplied

404

Guest device not found

delete /v1/guestdevices/bymac/{macAddress}

ExtremeGuest API Server URL

https://IP_Address/v1/guestdevices/bymac/{macAddress}

provisioning

Configure sites, access points, and services

Retrieve list of objects to receive callback

Periodically query this path to learn destination interest in callbacks

Authorizations:

Responses

200

List of objects to receive callback including interval to query the path

default

Error response

get /v1/callback/registration

ExtremeGuest API Server URL

https://IP_Address/v1/callback/registration

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "callbacks": "ap",
  • "interval": "3600 (secs)"
}

Create a site

Authorizations:
Request Body schema: application/json

A valid SiteCallbackElement with the configured parameters

siteId
string <uuid>

siteId is stored as UUID

siteName
string
mgmtIp
string
mgmtHostname
string
mgmtMac
string
country
string
timezone
string
region
string
city
string
location
string
contact
string
desc
string
customerId
string

For ExtremeCloud, tenant ID is used as customerId, for ExtremeCloud Appliance, accountCsn is used as customerId

deviceGroups
Array of objects (DeviceGroupCallbackElement)

List of device groups in the given site

Responses

201

Site created successfully

default

Error response

post /v1/callback/sites

ExtremeGuest API Server URL

https://IP_Address/v1/callback/sites

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "siteId": "string",
  • "siteName": "string",
  • "mgmtIp": "1.1.1.1",
  • "mgmtHostname": "some_host",
  • "mgmtMac": "AA-BB-CC-DD-EE-FF",
  • "country": "string",
  • "timezone": "string",
  • "region": "string",
  • "city": "string",
  • "location": "1.27848474,22.677894",
  • "contact": "string",
  • "desc": "string",
  • "customerId": "string",
  • "deviceGroups":
    [
    ]
}

Response samples

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

Delete a site

Authorizations:
path Parameters
siteId
required
string <uuid>

A non-empty, valid siteId (UUID) of the site to be deleted

query Parameters
customerId
string >= 1

Customer ID

Responses

200

Site deleted successfully

default

Error response

delete /v1/callback/sites/{siteId}

ExtremeGuest API Server URL

https://IP_Address/v1/callback/sites/{siteId}

Response samples

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

Create an accesspoint

Create an accesspoint, not neccesary assigned to a site

Authorizations:
Request Body schema: application/json

A valid AccessPointCallbackElement with the configured parameters

hardwareType
string

The model number of the device.

platform
string

The platform of the device.

serialNumber
string

The globally unique serial number of the device being registered.

customerId
string
siteId
string <uuid>
deviceGroupId
string <uuid>
apName
string [ 1 .. 64 ] characters

Represents the friendly name of the access point

swVersion
string

Software version of the access point

macAddress
string <mac>
radios
Array of objects (RadioCallbackElement)

List of Radios in the access point

Responses

201

Access point created successfully

default

Error response

post /v1/callback/aps

ExtremeGuest API Server URL

https://IP_Address/v1/callback/aps

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "hardwareType": "string",
  • "platform": "string",
  • "serialNumber": "ABCDEFG123456789",
  • "customerId": "string",
  • "siteId": "string",
  • "deviceGroupId": "string",
  • "apName": "string",
  • "swVersion": "string",
  • "macAddress": "string",
  • "radios":
    [
    ]
}

Response samples

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

Delete an access point

Authorizations:
path Parameters
serialNumber
required
string

A non-empty, valid serial number for the accesspoint to be deleted

query Parameters
customerId
string >= 1

Customer ID

Responses

200

Access point deleted successfully

default

Error response

delete /v1/callback/aps/{serialNumber}

ExtremeGuest API Server URL

https://IP_Address/v1/callback/aps/{serialNumber}

Response samples

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

Create a service

Authorizations:
Request Body schema: application/json

A valid ServiceCallbackElement object with parameters to be configured

customerId
string
serviceId
string <uuid>
serviceName
string
ssidName
string
enabled
boolean

Responses

201

Service created successfully

default

Error response

post /v1/callback/services

ExtremeGuest API Server URL

https://IP_Address/v1/callback/services

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "customerId": "string",
  • "serviceId": "string",
  • "serviceName": "string",
  • "ssidName": "string",
  • "enabled": true
}

Response samples

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

Delete a service

Authorizations:
path Parameters
serviceId
required
string <uuid>

A non-empty, valid service ID (UUID)

Responses

200

Service deleted successfully

default

Error response

delete /v1/callback/services/{serviceId}

ExtremeGuest API Server URL

https://IP_Address/v1/callback/services/{serviceId}

Response samples

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