ExtremeCloud Appliance :: Platform Manager API (1.13.1)

Download OpenAPI specification:Download

Introduction

The Platform Manager API provides a programmatic interface to access and manage backup files, flash memory, license information, controller logs, network test data, and platform settings. 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).
Note: To submit API calls, your RESTful API consuming program needs to have logged in using credentials granting at least read permissions, and only user accounts with FullAdmin credentials can make configuration changes through the REST API.

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.

Authentication and Authorization

The Platform Manager REST 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. 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. In exchange for these credentials the ExtremeCloud Appliance authorization server issues tokens called bearer tokens that you you need to include in the Authorization header when making subsequent REST API calls.

bearerAuth

Security scheme type: HTTP
HTTP Authorization Scheme bearer

BackupManager

Get names of all backup files stored on the controller

Authorizations:

Responses

200
default

Error message

get /v1/configuration/backupfilelist

ExtremeCloud Appliance REST API server

https://www.example.com:5825/platformmanager/v1/configuration/backupfilelist

Response samples

application/json
Copy
Expand all Collapse all
{
  • "backupfile":
    [
    ]
}

Get current schedule for periodic backups

Authorizations:

Responses

200
default

Error message

get /v1/configuration/backupschedule

ExtremeCloud Appliance REST API server

https://www.example.com:5825/platformmanager/v1/configuration/backupschedule

Response samples

application/json
Copy
Expand all Collapse all
{
  • "frequency": "weekly",
  • "backupWhat": "configuration",
  • "backupDestination": "flash",
  • "transferMethod": "scp",
  • "remoteFile":
    {
    },
  • "dailyOptions":
    {
    },
  • "weeklyOptions":
    {
    },
  • "monthlyOptions":
    {
    },
  • "startTime": "12-20"
}

Update backup schedule on the controller

Replaces the complete backup schedule on the controller with one that is input, provided that all attributes of the new schedule are valid. If the frequency attribute of the new schedule is none then the rest of the schedule attributes are ignored. If the frequency is set to none any previously set backup schedule is canceled and no new scheduled backups will occur till another schedule is installed.

Authorizations:
Request Body schema: application/json

new schedule to set

frequency
string (BackupFrequencyType)
Enum:"none" "daily" "weekly" "monthly"

Represents an enum data type containing the possible frequencies of configuration backups.

backupWhat
string (BackupTypes)
Enum:"all" "configuration"
backupDestination
string (BackupDestination)
Enum:"none" "local" "remote" "flash"

A list of backup destination setting options (local, remote,..).

transferMethod
string (FileTransferMethod)
Enum:"ftp" "scp" "http"
remoteFile
object (RemoteFile)
dailyOptions
object (DailyScheduleOptions)
weeklyOptions
object (WeeklyScheduleOptions)
monthlyOptions
object (MonthlyScheduleOptions)
startTime
string

The time at which the periodic backup starts each day that it runs. The time is in 24 hour military local time in the form HH-MM. A dash ('-') is used in place of a ':' as the separator between hours and minutes.

Responses

200
default

Error message

put /v1/configuration/backupschedule

ExtremeCloud Appliance REST API server

https://www.example.com:5825/platformmanager/v1/configuration/backupschedule

Request samples

application/json
Copy
Expand all Collapse all
{
  • "frequency": "weekly",
  • "backupWhat": "configuration",
  • "backupDestination": "flash",
  • "transferMethod": "scp",
  • "remoteFile":
    {
    },
  • "dailyOptions":
    {
    },
  • "weeklyOptions":
    {
    },
  • "monthlyOptions":
    {
    },
  • "startTime": "12-20"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "frequency": "weekly",
  • "backupWhat": "configuration",
  • "backupDestination": "flash",
  • "transferMethod": "scp",
  • "remoteFile":
    {
    },
  • "dailyOptions":
    {
    },
  • "weeklyOptions":
    {
    },
  • "monthlyOptions":
    {
    },
  • "startTime": "12-20"
}

Create a new backup schedule on the controller

Replaces the complete backup schedule on the controller with one that is input, provided that all attributes of the new schedule are valid. If the frequency attribute of the new schedule is none then the rest of the schedule attributes are ignored. If the frequency is set to none any previously set backup schedule is canceled and no new scheduled backups will occur till another schedule is installed.

Authorizations:
Request Body schema: application/json

new schedule to set

frequency
string (BackupFrequencyType)
Enum:"none" "daily" "weekly" "monthly"

Represents an enum data type containing the possible frequencies of configuration backups.

backupWhat
string (BackupTypes)
Enum:"all" "configuration"
backupDestination
string (BackupDestination)
Enum:"none" "local" "remote" "flash"

A list of backup destination setting options (local, remote,..).

transferMethod
string (FileTransferMethod)
Enum:"ftp" "scp" "http"
remoteFile
object (RemoteFile)
dailyOptions
object (DailyScheduleOptions)
weeklyOptions
object (WeeklyScheduleOptions)
monthlyOptions
object (MonthlyScheduleOptions)
startTime
string

The time at which the periodic backup starts each day that it runs. The time is in 24 hour military local time in the form HH-MM. A dash ('-') is used in place of a ':' as the separator between hours and minutes.

Responses

200
default

Error message

post /v1/configuration/backupschedule

ExtremeCloud Appliance REST API server

https://www.example.com:5825/platformmanager/v1/configuration/backupschedule

Request samples

application/json
Copy
Expand all Collapse all
{
  • "frequency": "weekly",
  • "backupWhat": "configuration",
  • "backupDestination": "flash",
  • "transferMethod": "scp",
  • "remoteFile":
    {
    },
  • "dailyOptions":
    {
    },
  • "weeklyOptions":
    {
    },
  • "monthlyOptions":
    {
    },
  • "startTime": "12-20"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "frequency": "weekly",
  • "backupWhat": "configuration",
  • "backupDestination": "flash",
  • "transferMethod": "scp",
  • "remoteFile":
    {
    },
  • "dailyOptions":
    {
    },
  • "weeklyOptions":
    {
    },
  • "monthlyOptions":
    {
    },
  • "startTime": "12-20"
}

Create a new configuration backup file

Authorizations:
Request Body schema: application/json

The identifier backup represents backup operations(what to backup & destination)

backupWhat
string (BackupTypes)
Enum:"all" "configuration"
backupDestination
string (LocalDestination)
Enum:"local" "flash"

Responses

200
default

Error message

put /v1/configuration/createbackup

ExtremeCloud Appliance REST API server

https://www.example.com:5825/platformmanager/v1/configuration/createbackup

Request samples

application/json
Copy
Expand all Collapse all
{
  • "backupWhat": "configuration",
  • "backupDestination": "local"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "result": "CLI Export start: Wed Aug 22 16:46:00 2018, CLI Export end: Wed Aug 22 16:46:01 2018, SUCCESS: Backup/Export complete: EAE.22082018.164600"
}

Upload a configuration backup file

Authorizations:
Request Body schema: multipart/form-data
fileInputStream
string <binary>

Input stream

fileMetaData
string <binary>

Input file meta data (see Usage) Usage: curl -k -i -X POST -H 'Authorization: Bearer 6359d9d3c431157983d13b4edbca6026' -H "Content-Type: multipart/form-data" -F "file=@V2110-smoke.01032018.121518.zip" https://192.168.3.62:5825/platformmanager/v1/configuration/fileupload

body
string <binary>

Responses

200
default

Error message

post /v1/configuration/fileupload

ExtremeCloud Appliance REST API server

https://www.example.com:5825/platformmanager/v1/configuration/fileupload

Response samples

application/json
Copy
Expand all Collapse all
{
  • "result": "CLI Export start: Wed Aug 22 16:46:00 2018, CLI Export end: Wed Aug 22 16:46:01 2018, SUCCESS: Backup/Export complete: EAE.22082018.164600"
}

Download backup file via HTTP

If the identified backup file exists, the file (in .zip format) is transferred back to the requestor with appropriate HTTP headers and mime type. If not, a standard 404 type error is returned.

Authorizations:
path Parameters
id
required
string

Name of the backup file to download via HTTP.

Responses

200
default

Error message

put /v1/configuration/backupfile/{id}

ExtremeCloud Appliance REST API server

https://www.example.com:5825/platformmanager/v1/configuration/backupfile/{id}

Response samples

application/json
Copy
Expand all Collapse all
null

Delete backup file

Deletes the backup file the name of which was passed in as a parameter. The delete occurs in line and the method does not return till the delete operation completes. The method returns true if the deletion succeeded and false for any other reason.

Authorizations:
path Parameters
id
required
string

The identifier number for the backup file to be deleted

Responses

200
default

Error message

delete /v1/configuration/backupfile/{id}

ExtremeCloud Appliance REST API server

https://www.example.com:5825/platformmanager/v1/configuration/backupfile/{id}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "result": "CLI Export start: Wed Aug 22 16:46:00 2018, CLI Export end: Wed Aug 22 16:46:01 2018, SUCCESS: Backup/Export complete: EAE.22082018.164600"
}

Copy backup file to remote server

Copies a backup file on the controller to a server elsewhere in the network. This method returns immediately even if it succeeds. The file transfer takes place in the background.

Authorizations:
path Parameters
protocol
required
string

Only FTP and SCP are supported.

Request Body schema: application/json

The details to use when transferring the file. The remoteFile.fileName attribute must match the name of a backup file stored locally on the controller at the time the command is issued.

serverIP
string

The IPv4 address of the server that is storing or going to store the subject file. It cannot be null.

userid
string

The user ID to authenticate with the file server. It cannot be null.

password
string

The password to authenticate with the file server. It cannot be null.

directory
string

The path on the server of the directory in which the subject file resides or is to be stored. It cannot be null but could be '/'

fileName
string

The name of the file that is to be pulled from or pushed to the file server. It cannot be null, a zero length string or begin or end with blanks.

localDestination
string (LocalDestination)
Enum:"local" "flash"

Responses

200
default

Error message

put /v1/configuration/copybackupto/{protocol}

ExtremeCloud Appliance REST API server

https://www.example.com:5825/platformmanager/v1/configuration/copybackupto/{protocol}

Request samples

application/json
Copy
Expand all Collapse all
{
  • "serverIP": "8.8.8.8",
  • "userid": "Admin",
  • "password": "abc123",
  • "directory": "/",
  • "fileName": "example.txt",
  • "localDestination": "local"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "result": "CLI Export start: Wed Aug 22 16:46:00 2018, CLI Export end: Wed Aug 22 16:46:01 2018, SUCCESS: Backup/Export complete: EAE.22082018.164600"
}

Transfer backup file to remote server

Copies a backup file on the controller to a server elsewhere in the network. This method returns immediately even if it succeeds. The file transfer takes place in the background.

Authorizations:
path Parameters
protocol
required
string

Only FTP and SCP are supported.

Request Body schema: application/json

The details to use when transferring the file. The remoteFile.fileName attribute must match the name of a backup file stored locally on the controller at the time the command is issued.

serverIP
string

The IPv4 address of the server that is storing or going to store the subject file. It cannot be null.

userid
string

The user ID to authenticate with the file server. It cannot be null.

password
string

The password to authenticate with the file server. It cannot be null.

directory
string

The path on the server of the directory in which the subject file resides or is to be stored. It cannot be null but could be '/'

fileName
string

The name of the file that is to be pulled from or pushed to the file server. It cannot be null, a zero length string or begin or end with blanks.

localDestination
string (LocalDestination)
Enum:"local" "flash"

Responses

200
default

Error message

post /v1/configuration/copybackupto/{protocol}

ExtremeCloud Appliance REST API server

https://www.example.com:5825/platformmanager/v1/configuration/copybackupto/{protocol}

Request samples

application/json
Copy
Expand all Collapse all
{
  • "serverIP": "8.8.8.8",
  • "userid": "Admin",
  • "password": "abc123",
  • "directory": "/",
  • "fileName": "example.txt",
  • "localDestination": "local"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "result": "CLI Export start: Wed Aug 22 16:46:00 2018, CLI Export end: Wed Aug 22 16:46:01 2018, SUCCESS: Backup/Export complete: EAE.22082018.164600"
}

Copy backup file from remote server to controller

This method is the inverse of copyBackupTo. It copies a file (assumed to be a controller backup) from a mounted USB flash drive or a remote FTP or SCP file server. The file is not restored. It is simply copied to the controller. Returns true if the input parameters are valid and false otherwise. The copy can take time so the method does not wait for the copy to complete before returning.

Authorizations:
path Parameters
protocol
required
string

Only FTP and SCP are supported.

Request Body schema: application/json

The attributes necessary to pull the desired backup file from a file server.

serverIP
string

The IPv4 address of the server that is storing or going to store the subject file. It cannot be null.

userid
string

The user ID to authenticate with the file server. It cannot be null.

password
string

The password to authenticate with the file server. It cannot be null.

directory
string

The path on the server of the directory in which the subject file resides or is to be stored. It cannot be null but could be '/'

fileName
string

The name of the file that is to be pulled from or pushed to the file server. It cannot be null, a zero length string or begin or end with blanks.

localDestination
string (LocalDestination)
Enum:"local" "flash"

Responses

200
default

Error message

put /v1/configuration/copyrestorefrom/{protocol}

ExtremeCloud Appliance REST API server

https://www.example.com:5825/platformmanager/v1/configuration/copyrestorefrom/{protocol}

Request samples

application/json
Copy
Expand all Collapse all
{
  • "serverIP": "8.8.8.8",
  • "userid": "Admin",
  • "password": "abc123",
  • "directory": "/",
  • "fileName": "example.txt",
  • "localDestination": "local"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "result": "CLI Export start: Wed Aug 22 16:46:00 2018, CLI Export end: Wed Aug 22 16:46:01 2018, SUCCESS: Backup/Export complete: EAE.22082018.164600"
}

Transfer backup file from remote server to controller

This method is the inverse of copyBackupTo. It copies a file (assumed to be a controller backup) from a mounted USB flash drive or a remote FTP or SCP file server. The file is not restored. It is simply copied to the controller. Returns true if the input parameters are valid and false otherwise. The copy can take time so the method does not wait for the copy to complete before returning.

Authorizations:
path Parameters
protocol
required
string

Only FTP and SCP are supported.

Request Body schema: application/json

The attributes necessary to pull the desired backup file from a file server.

serverIP
string

The IPv4 address of the server that is storing or going to store the subject file. It cannot be null.

userid
string

The user ID to authenticate with the file server. It cannot be null.

password
string

The password to authenticate with the file server. It cannot be null.

directory
string

The path on the server of the directory in which the subject file resides or is to be stored. It cannot be null but could be '/'

fileName
string

The name of the file that is to be pulled from or pushed to the file server. It cannot be null, a zero length string or begin or end with blanks.

localDestination
string (LocalDestination)
Enum:"local" "flash"

Responses

200
default

Error message

post /v1/configuration/copyrestorefrom/{protocol}

ExtremeCloud Appliance REST API server

https://www.example.com:5825/platformmanager/v1/configuration/copyrestorefrom/{protocol}

Request samples

application/json
Copy
Expand all Collapse all
{
  • "serverIP": "8.8.8.8",
  • "userid": "Admin",
  • "password": "abc123",
  • "directory": "/",
  • "fileName": "example.txt",
  • "localDestination": "local"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "result": "CLI Export start: Wed Aug 22 16:46:00 2018, CLI Export end: Wed Aug 22 16:46:01 2018, SUCCESS: Backup/Export complete: EAE.22082018.164600"
}

Pre-check configuration of backup file

A method to pre-check upload of a configuration backup file for errors. A configuration backup file (upto 10 files allowed) or backup file extension "*.zip". Usage: curl