Skip to content

Switch Services (0.4.0)

Overview

The Switch Service REST API facilitates the management and configuration of RUCKUS ICX switches via the RUCKUS One platform. This API allows for programmatic control of switch operations, network configurations, security policies, and monitoring across various environments.

What This API Does

  • Manage ICX switch devices and their configurations
  • Configure network settings including VLANs, ports, LAGs, and virtual ethernet interfaces
  • Control security policies with AAA servers, ACLs, and trusted port settings
  • Create and apply switch profiles and templates for consistent configurations
  • Handle firmware upgrades and configuration backups
  • Configure DHCP servers and static routing
  • Import and onboard new switches to the platform
  • Manage CLI templates and web authentication pages

Authentication

All API calls require valid authentication via JWT (JSON Web Token) in Authorization header.

Regional Endpoints

Select the appropriate API endpoint based on your region:

  • North America: https://api.ruckus.cloud
  • Europe: https://api.eu.ruckus.cloud
  • Asia: https://api.asia.ruckus.cloud

Error Handling

The API uses standard HTTP status codes with detailed error messages in the response body.

Common Error Responses

All endpoints may return these common error responses:

  • 400 Bad Request: Invalid input data or validation errors
  • 401 Unauthorized: Missing or invalid authentication
  • 403 Forbidden: Insufficient permissions
  • 404 Not Found: Requested resource doesn't exist
  • 422 Unprocessable Entity: Business rule violations
  • 500 Internal Server Error: Unexpected server errors.
Download OpenAPI description
Languages
Servers
RUCKUS One API host for North American region.
https://api.ruckus.cloud
RUCKUS One API host for European region.
https://api.eu.ruckus.cloud
RUCKUS One API host for Asian region.
https://api.asia.ruckus.cloud

AAA Server

Manage AAA (authentication, authorization, and accounting) servers.

Operations

Get AAA Server Setting

Request

Get a switch's authentication, authorization, and accounting server setting.

Security
jwtAuth
Path
venueIdstringrequired
aaaServerIdstringrequired
No request payload

Responses

OK

Body
idstring
namestring

The name identifier for this AAA server configuration.

usernamestring

The username credential used for authenticating with the AAA server.

passwordstring

The password credential used for authenticating with the AAA server.

purposestring

The purpose of this AAA server, indicating whether it is used for authentication, authorization, or accounting.

Enum"UNSPECIFIED""DEFAULT""AUTHENTICATION_ONLY""AUTHORIZATION_ONLY""ACCOUNTING_ONLY"
levelstring

The authorization level assigned to users authenticated through this AAA server.

Enum"UNSPECIFIED""READ_WRITE""PORT_CONFIG""READ_ONLY""LEVEL_NONE"
serverTypestring

The type of AAA server protocol being used, such as RADIUS or TACACS+.

Enum"__NULL""RADIUS""TACACS_PLUS""LOCAL""NONE_TYPE"
secretstring

The shared secret key used for secure communication between the switch and the AAA server.

ipstring

The IP address of the AAA server.

acctPortinteger(int32)

The port number used for accounting services on the AAA server.

authPortinteger(int32)

The port number used for authentication services on the AAA server.

switchCountInVenueinteger(int32)

The total number of switches in the venue that are configured to use this AAA server.

syncedPasswordSwitchCountinteger(int32)

The number of switches that have successfully synchronized their admin password with this AAA server.

Response
{ "id": "string", "name": "string", "username": "string", "password": "string", "purpose": "UNSPECIFIED", "level": "UNSPECIFIED", "serverType": "__NULL", "secret": "string", "ip": "string", "acctPort": 0, "authPort": 0, "switchCountInVenue": 0, "syncedPasswordSwitchCount": 0 }

Update AAA Server

Request

Update authentication, authorization, and accounting server by id. Use activity API with request id to get the status update.

Security
jwtAuth
Path
venueIdstringrequired
aaaServerIdstringrequired
Bodyrequired
idstring

Unique identifier for the AAA server

acctPortinteger(int32)[ 0 .. 65535 ]

Accounting port number for RADIUS server (0-65535).

authPortinteger(int32)[ 0 .. 65535 ]

Authentication port number for RADIUS or TACACS+ server (0-65535).

ipstring^(?:(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-5])(?:\.(...

IP address of the AAA server (supports both IPv4 and IPv6 formats).

levelstring

Privilege level for local user.

Enum"UNSPECIFIED""READ_WRITE""PORT_CONFIG""READ_ONLY""LEVEL_NONE"
namestring[ 2 .. 64 ] characters

Name of the AAA server (2-64 characters)

passwordstring[ 8 .. 64 ] characters

Password for local user authentication (8-64 characters, stored in plain text for internal use).

encryptedPasswordstring

Encrypted password for local user authentication.

purposestring

Purpose of TACACS+ server (e.g., authentication, authorization, accounting).

Enum"UNSPECIFIED""DEFAULT""AUTHENTICATION_ONLY""AUTHORIZATION_ONLY""ACCOUNTING_ONLY"
secretstring[ 1 .. 64 ] characters

Shared secret for RADIUS or TACACS+ server authentication (1-64 characters).

serverTypestring

Type of AAA server (RADIUS, TACACS_PLUS, or LOCAL).

Enum"__NULL""RADIUS""TACACS_PLUS""LOCAL""NONE_TYPE"
usernamestring[ 2 .. 48 ] characters

Username for local user authentication (2-48 characters).

authEnableboolean

Enable or disable authentication for RADIUS server.

{ "id": "string", "acctPort": 65535, "authPort": 65535, "ip": "string", "level": "UNSPECIFIED", "name": "string", "password": "stringst", "encryptedPassword": "string", "purpose": "UNSPECIFIED", "secret": "string", "serverType": "__NULL", "username": "string", "authEnable": true }

Responses

OK

Body
idstring

The unique identifier of the AAA server configuration.

namestring

The name of the AAA server configuration for identification.

usernamestring

The username credential for authenticating to the AAA server, used for management access.

passwordstring

The password credential for authenticating to the AAA server.

purposestring

The purpose of the AAA server: authentication, authorization, or accounting.

Enum"UNSPECIFIED""DEFAULT""AUTHENTICATION_ONLY""AUTHORIZATION_ONLY""ACCOUNTING_ONLY"
levelstring

The access level or privilege level associated with this AAA server configuration.

Enum"UNSPECIFIED""READ_WRITE""PORT_CONFIG""READ_ONLY""LEVEL_NONE"
serverTypestring

The type of AAA server protocol: RADIUS or TACACS+.

Enum"__NULL""RADIUS""TACACS_PLUS""LOCAL""NONE_TYPE"
secretstring

The shared secret key used for secure communication with the RADIUS or TACACS+ server.

ipstring

The IP address of the AAA server.

acctPortinteger(int32)

The UDP port number for RADIUS accounting packets, typically 1813.

authPortinteger(int32)

The UDP port number for RADIUS authentication packets, typically 1812.

switchCountInVenueinteger(int32)

The total number of switches in the venue that can use this AAA server.

syncedPasswordSwitchCountinteger(int32)

The number of switches that have successfully synchronized the AAA server password.

aaaServerViewListArray of objects(AAAServer_V1)

The list of AAA server configurations for batch operations or nested server management.

Response
{ "id": "string", "name": "string", "username": "string", "password": "string", "purpose": "UNSPECIFIED", "level": "UNSPECIFIED", "serverType": "__NULL", "secret": "string", "ip": "string", "acctPort": 0, "authPort": 0, "switchCountInVenue": 0, "syncedPasswordSwitchCount": 0, "aaaServerViewList": [ {} ] }

Delete AAA Server

Request

Delete authentication, authorization, and accounting server by id.

Security
jwtAuth
Path
venueIdstringrequired
aaaServerIdstringrequired
No request payload

Responses

OK

Body
requestIdstring

The unique identifier for tracking this API operation request.

responseobject(EmptyView)

The response data containing the result of the operation.

Response
{ "requestId": "string", "response": { "id": "string" } }

Add AAA Server

Request

Add authentication, authorization, and accounting server. Use activity API with request id to get the status update.

Security
jwtAuth
Path
venueIdstringrequired
Bodyrequired
idstring

Unique identifier for the AAA server

acctPortinteger(int32)[ 0 .. 65535 ]

Accounting port number for RADIUS server (0-65535).

authPortinteger(int32)[ 0 .. 65535 ]

Authentication port number for RADIUS or TACACS+ server (0-65535).

ipstring^(?:(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-5])(?:\.(...

IP address of the AAA server (supports both IPv4 and IPv6 formats).

levelstring

Privilege level for local user.

Enum"UNSPECIFIED""READ_WRITE""PORT_CONFIG""READ_ONLY""LEVEL_NONE"
namestring[ 2 .. 64 ] characters

Name of the AAA server (2-64 characters)

passwordstring[ 8 .. 64 ] characters

Password for local user authentication (8-64 characters, stored in plain text for internal use).

encryptedPasswordstring

Encrypted password for local user authentication.

purposestring

Purpose of TACACS+ server (e.g., authentication, authorization, accounting).

Enum"UNSPECIFIED""DEFAULT""AUTHENTICATION_ONLY""AUTHORIZATION_ONLY""ACCOUNTING_ONLY"
secretstring[ 1 .. 64 ] characters

Shared secret for RADIUS or TACACS+ server authentication (1-64 characters).

serverTypestring

Type of AAA server (RADIUS, TACACS_PLUS, or LOCAL).

Enum"__NULL""RADIUS""TACACS_PLUS""LOCAL""NONE_TYPE"
usernamestring[ 2 .. 48 ] characters

Username for local user authentication (2-48 characters).

authEnableboolean

Enable or disable authentication for RADIUS server.

{ "id": "string", "acctPort": 65535, "authPort": 65535, "ip": "string", "level": "UNSPECIFIED", "name": "string", "password": "stringst", "encryptedPassword": "string", "purpose": "UNSPECIFIED", "secret": "string", "serverType": "__NULL", "username": "string", "authEnable": true }

Responses

OK

Body
idstring

The unique identifier of the AAA server configuration.

namestring

The name of the AAA server configuration for identification.

usernamestring

The username credential for authenticating to the AAA server, used for management access.

passwordstring

The password credential for authenticating to the AAA server.

purposestring

The purpose of the AAA server: authentication, authorization, or accounting.

Enum"UNSPECIFIED""DEFAULT""AUTHENTICATION_ONLY""AUTHORIZATION_ONLY""ACCOUNTING_ONLY"
levelstring

The access level or privilege level associated with this AAA server configuration.

Enum"UNSPECIFIED""READ_WRITE""PORT_CONFIG""READ_ONLY""LEVEL_NONE"
serverTypestring

The type of AAA server protocol: RADIUS or TACACS+.

Enum"__NULL""RADIUS""TACACS_PLUS""LOCAL""NONE_TYPE"
secretstring

The shared secret key used for secure communication with the RADIUS or TACACS+ server.

ipstring

The IP address of the AAA server.

acctPortinteger(int32)

The UDP port number for RADIUS accounting packets, typically 1813.

authPortinteger(int32)

The UDP port number for RADIUS authentication packets, typically 1812.

switchCountInVenueinteger(int32)

The total number of switches in the venue that can use this AAA server.

syncedPasswordSwitchCountinteger(int32)

The number of switches that have successfully synchronized the AAA server password.

aaaServerViewListArray of objects(AAAServer_V1)

The list of AAA server configurations for batch operations or nested server management.

Response
{ "id": "string", "name": "string", "username": "string", "password": "string", "purpose": "UNSPECIFIED", "level": "UNSPECIFIED", "serverType": "__NULL", "secret": "string", "ip": "string", "acctPort": 0, "authPort": 0, "switchCountInVenue": 0, "syncedPasswordSwitchCount": 0, "aaaServerViewList": [ {} ] }

Delete AAA Servers

Request

Delete multiple authentication, authorization, and accounting servers.

Security
jwtAuth
Path
venueIdstringrequired
BodyrequiredArray [
string
]
[ "string" ]

Responses

No Content

Body
requestIdstring

The unique identifier for tracking this API operation request.

responseobject(EmptyView)

The response data containing the result of the operation.

Response
{ "requestId": "string", "response": { "id": "string" } }

Query AAA Servers

Request

List of venue's authentication, authorization, and accounting servers.

Security
jwtAuth
Path
venueIdstringrequired
Bodyrequired
fieldsArray of strings

The list of field names to include in the query response, allowing clients to request only specific fields.

pageinteger(int32)

The page number for pagination, starting from 1, defaulting to 1.

pageSizeinteger(int32)

The number of records to return per page, defaulting to 25.

sortFieldstring

The field name to use for sorting the query results.

sortOrderstring

The sort order direction for the query results, either ascending or descending, defaulting to ascending.

Enum"ASC""DESC"
serverTypestring

The type of AAA server to filter by, with the default value set to LOCAL if not specified.

Enum"__NULL""RADIUS""TACACS_PLUS""LOCAL""NONE_TYPE"
{ "fields": [ "string" ], "page": 0, "pageSize": 0, "sortField": "string", "sortOrder": "ASC", "serverType": "__NULL" }

Responses

OK

Body
idstring
dataArray of any

The list of data records returned by the query, with each item representing a result object.

fieldsArray of strings

The list of field names included in the query response data.

pageinteger(int32)

The current page number of the paginated results.

totalCountinteger(int64)

The total number of records matching the query criteria across all pages.

totalPagesinteger(int32)

The total number of pages available based on the page size and total record count.

Response
{ "id": "string", "data": [ null ], "fields": [ "string" ], "page": 0, "totalCount": 0, "totalPages": 0 }

AAA Setting

Manage AAA (authentication, authorization, and accounting) settings.

Operations

Command Line Interface Template

Manage command line interface templates.

Operations

Configuration History

Retrieve switch configuration history records.

Operations

DHCP Server

Manage ICX DHCP servers.

Operations

ICX Switch

Manage ICX switch settings.

Operations

Import Switch

Import and register new switches.

Operations

LAG

Manage LAGs (link aggregation groups).

Operations

Profile

Manage switch profiles and profile configurations.

Operations

Profile Template

Manage switch profile templates.

Operations

Profile VLAN

Manage VLANs (virtual local area networks) of switch profile.

Operations

Switch Access Control List

Manage ACLs (access control lists).

Operations

Switch Configuration Backup

Manage switch configuration backups and restore operations.

Operations

Switch Firmware Upgrade

Manage switch firmware upgrade and scheduling operations.

Operations

Switch Ports

Manage switch port configurations.

Operations

Switch Static Routes

Manage static route configurations.

Operations

Switch VLAN

Manage VLANs (virtual local area networks).

Operations

Switch Virtual Ethernet

Manage VE (virtual ethernet) port settings.

Operations

Venue Switch Setting

Manage a switch's venue level settings.

Operations

Venue Template AAA Server

Manage venue template AAA (authentication, authorization, and accounting) servers.

Operations

Venue Template AAA Setting

Manage venue template AAA (authentication, authorization, and accounting) settings.

Operations

Venue Template Switch Setting

Manage switch settings of venue template.

Operations

Web Authentication Page Template

Manage web authentication page template.

Operations