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

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

Get LAGDeprecated

Request

Get LAG setting by id. This method will be removed no sooner than 08/31/2026. The following URL /venues/{venueId}/switches/{switchId}/lags/{lagId} can be used for this content.

Security
jwtAuth
Path
lagIdstringrequired
No request payload

Responses

OK

Body
idstring

The identifier

lagIdinteger(int32)

The unique identifier of the LAG interface.

namestring^(?:(?!").){1,64}$

The name of the LAG interface, limited to 64 characters without quotes.

typestring

The type of LAG protocol, such as static or LACP (Link Aggregation Control Protocol).

Enum"static""dynamic"
portsArray of stringsunique

The set of physical port identifiers that are members of this LAG.

taggedVlansArray of stringsunique

The set of VLAN identifiers that are tagged on this LAG interface.

untaggedVlanstring

The VLAN identifier for untagged traffic on this LAG interface.

switchIdstring

The unique identifier of the switch where this LAG is configured.

tenantIdstring

The unique identifier of the tenant.

addPortsArray of strings

The list of port identifiers to be added to this LAG.

removePortsArray of strings

The list of port identifiers to be removed from this LAG.

portVlansArray of objects(LagPortVlanBo)

The list of port VLAN associations for LAG member ports.

portAddVlansArray of objects(LagPortVlanBo)

The list of port VLAN associations to be added for LAG member ports.

lastNamestring

The previous name of the LAG interface, used when renaming.

realRemoveboolean

Whether to perform a real removal operation when deleting the LAG.

defaultVlanIdstring

The default VLAN identifier for the LAG interface.

originalUntaggedVlanstring

The original untagged VLAN identifier before modification.

lagViewListArray of objects(Lag_V1)

The list of LAG view objects for batch operations.

Response
{ "id": "string", "lagId": 0, "name": "string", "type": "static", "ports": [ "string" ], "taggedVlans": [ "string" ], "untaggedVlan": "string", "switchId": "string", "tenantId": "string", "addPorts": [ "string" ], "removePorts": [ "string" ], "portVlans": [ { … } ], "portAddVlans": [ { … } ], "lastName": "string", "realRemove": true, "defaultVlanId": "string", "originalUntaggedVlan": "string", "lagViewList": [ {} ] }

Update LAGDeprecated

Request

Update switch's LAG setting. This method will be removed no sooner than 08/31/2026. The following URL /venues/{venueId}/switches/{switchId}/lags/{lagId} can be used for this content.

Security
jwtAuth
Path
lagIdstringrequired
Bodyrequired
idstring

Unique identifier for the LAG.

lagIdinteger(int32)

LAG identifier number (1-255, must be unique on the switch).

namestring^(?:(?!").){1,64}$

Name of the LAG (1-64 characters, cannot contain quotes).

typestring

IP address type for the LAG interface (static or dynamic).

Enum"static""dynamic"
portsArray of stringsunique

Set of physical port identifiers that are members of this LAG (e.g., ['1/1/1', '1/1/2']).

taggedVlansArray of stringsunique

Set of tagged VLAN IDs assigned to this LAG interface.

untaggedVlanstring

Untagged VLAN ID (native VLAN) for this LAG interface.

switchIdstring

Switch identifier (serial number) where this LAG is configured.

addPortsArray of strings

List of port identifiers to be added to this LAG.

removePortsArray of strings

List of port identifiers to be removed from this LAG.

portVlansArray of objects(LagPortVlanBo)

List of port VLAN configurations for LAG member ports.

portAddVlansArray of objects(LagPortVlanBo)

List of port VLAN configurations to be added for LAG member ports.

lastNamestring

Previous name of the LAG before renaming.

defaultVlanIdstring

Default VLAN ID of the switch (typically '1').

originalUntaggedVlanstring

Original untagged VLAN ID before any modifications.

forceUpPortstring

Port identifier that is forced to be in 'up' state to keep the LAG operational.

{ "id": "string", "lagId": 0, "name": "string", "type": "static", "ports": [ "string" ], "taggedVlans": [ "string" ], "untaggedVlan": "string", "switchId": "string", "addPorts": [ "string" ], "removePorts": [ "string" ], "portVlans": [ { … } ], "portAddVlans": [ { … } ], "lastName": "string", "defaultVlanId": "string", "originalUntaggedVlan": "string", "forceUpPort": "string" }

Responses

OK

Body
idstring

The identifier

lagIdinteger(int32)

The unique identifier of the LAG interface.

namestring^(?:(?!").){1,64}$

The name of the LAG interface, limited to 64 characters without quotes.

typestring

The type of LAG protocol, such as static or LACP (Link Aggregation Control Protocol).

Enum"static""dynamic"
portsArray of stringsunique

The set of physical port identifiers that are members of this LAG.

taggedVlansArray of stringsunique

The set of VLAN identifiers that are tagged on this LAG interface.

untaggedVlanstring

The VLAN identifier for untagged traffic on this LAG interface.

switchIdstring

The unique identifier of the switch where this LAG is configured.

tenantIdstring

The unique identifier of the tenant.

addPortsArray of strings

The list of port identifiers to be added to this LAG.

removePortsArray of strings

The list of port identifiers to be removed from this LAG.

portVlansArray of objects(LagPortVlanBo)

The list of port VLAN associations for LAG member ports.

portAddVlansArray of objects(LagPortVlanBo)

The list of port VLAN associations to be added for LAG member ports.

lastNamestring

The previous name of the LAG interface, used when renaming.

realRemoveboolean

Whether to perform a real removal operation when deleting the LAG.

defaultVlanIdstring

The default VLAN identifier for the LAG interface.

originalUntaggedVlanstring

The original untagged VLAN identifier before modification.

lagViewListArray of objects(Lag_V1)

The list of LAG view objects for batch operations.

Response
{ "id": "string", "lagId": 0, "name": "string", "type": "static", "ports": [ "string" ], "taggedVlans": [ "string" ], "untaggedVlan": "string", "switchId": "string", "tenantId": "string", "addPorts": [ "string" ], "removePorts": [ "string" ], "portVlans": [ { … } ], "portAddVlans": [ { … } ], "lastName": "string", "realRemove": true, "defaultVlanId": "string", "originalUntaggedVlan": "string", "lagViewList": [ {} ] }

Delete LAGDeprecated

Request

Delete switch's LAG setting. This method will be removed no sooner than 08/31/2026. The following URL /venues/{venueId}/switches/{switchId}/lags/{lagId} can be used for this content.

Security
jwtAuth
Path
lagIdstringrequired
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" } }

Get LAGsDeprecated

Request

List of switch's LAG settings. This method will be removed no sooner than 08/31/2026. The following URL /venues/{venueId}/switches/{switchId}/lags can be used for this content.

Security
jwtAuth
Path
switchIdstringrequired
No request payload

Responses

OK

Body
idstring

The identifier

lagIdinteger(int32)

The unique identifier of the LAG interface.

namestring^(?:(?!").){1,64}$

The name of the LAG interface, limited to 64 characters without quotes.

typestring

The type of LAG protocol, such as static or LACP (Link Aggregation Control Protocol).

Enum"static""dynamic"
portsArray of stringsunique

The set of physical port identifiers that are members of this LAG.

taggedVlansArray of stringsunique

The set of VLAN identifiers that are tagged on this LAG interface.

untaggedVlanstring

The VLAN identifier for untagged traffic on this LAG interface.

switchIdstring

The unique identifier of the switch where this LAG is configured.

tenantIdstring

The unique identifier of the tenant.

addPortsArray of strings

The list of port identifiers to be added to this LAG.

removePortsArray of strings

The list of port identifiers to be removed from this LAG.

portVlansArray of objects(LagPortVlanBo)

The list of port VLAN associations for LAG member ports.

portAddVlansArray of objects(LagPortVlanBo)

The list of port VLAN associations to be added for LAG member ports.

lastNamestring

The previous name of the LAG interface, used when renaming.

realRemoveboolean

Whether to perform a real removal operation when deleting the LAG.

defaultVlanIdstring

The default VLAN identifier for the LAG interface.

originalUntaggedVlanstring

The original untagged VLAN identifier before modification.

lagViewListArray of objects(Lag_V1)

The list of LAG view objects for batch operations.

Response
{ "id": "string", "lagId": 0, "name": "string", "type": "static", "ports": [ "string" ], "taggedVlans": [ "string" ], "untaggedVlan": "string", "switchId": "string", "tenantId": "string", "addPorts": [ "string" ], "removePorts": [ "string" ], "portVlans": [ { … } ], "portAddVlans": [ { … } ], "lastName": "string", "realRemove": true, "defaultVlanId": "string", "originalUntaggedVlan": "string", "lagViewList": [ {} ] }

Add LAGsDeprecated

Request

Add switch's multiple LAG settings. This method will be removed no sooner than 08/31/2026. The following URL /venues/{venueId}/switches/{switchId}/lags can be used for this content.

Security
jwtAuth
Path
switchIdstringrequired
BodyrequiredArray [
idstring

Unique identifier for the LAG.

lagIdinteger(int32)

LAG identifier number (1-255, must be unique on the switch).

namestring^(?:(?!").){1,64}$

Name of the LAG (1-64 characters, cannot contain quotes).

typestring

IP address type for the LAG interface (static or dynamic).

Enum"static""dynamic"
portsArray of stringsunique

Set of physical port identifiers that are members of this LAG (e.g., ['1/1/1', '1/1/2']).

taggedVlansArray of stringsunique

Set of tagged VLAN IDs assigned to this LAG interface.

untaggedVlanstring

Untagged VLAN ID (native VLAN) for this LAG interface.

switchIdstring

Switch identifier (serial number) where this LAG is configured.

addPortsArray of strings

List of port identifiers to be added to this LAG.

removePortsArray of strings

List of port identifiers to be removed from this LAG.

portVlansArray of objects(LagPortVlanBo)

List of port VLAN configurations for LAG member ports.

portAddVlansArray of objects(LagPortVlanBo)

List of port VLAN configurations to be added for LAG member ports.

lastNamestring

Previous name of the LAG before renaming.

defaultVlanIdstring

Default VLAN ID of the switch (typically '1').

originalUntaggedVlanstring

Original untagged VLAN ID before any modifications.

forceUpPortstring

Port identifier that is forced to be in 'up' state to keep the LAG operational.

]
[ { "id": "string", "lagId": 0, "name": "string", "type": "static", "ports": [ … ], "taggedVlans": [ … ], "untaggedVlan": "string", "switchId": "string", "addPorts": [ … ], "removePorts": [ … ], "portVlans": [ … ], "portAddVlans": [ … ], "lastName": "string", "defaultVlanId": "string", "originalUntaggedVlan": "string", "forceUpPort": "string" } ]

Responses

OK

Body
idstring

The identifier

lagIdinteger(int32)

The unique identifier of the LAG interface.

namestring^(?:(?!").){1,64}$

The name of the LAG interface, limited to 64 characters without quotes.

typestring

The type of LAG protocol, such as static or LACP (Link Aggregation Control Protocol).

Enum"static""dynamic"
portsArray of stringsunique

The set of physical port identifiers that are members of this LAG.

taggedVlansArray of stringsunique

The set of VLAN identifiers that are tagged on this LAG interface.

untaggedVlanstring

The VLAN identifier for untagged traffic on this LAG interface.

switchIdstring

The unique identifier of the switch where this LAG is configured.

tenantIdstring

The unique identifier of the tenant.

addPortsArray of strings

The list of port identifiers to be added to this LAG.

removePortsArray of strings

The list of port identifiers to be removed from this LAG.

portVlansArray of objects(LagPortVlanBo)

The list of port VLAN associations for LAG member ports.

portAddVlansArray of objects(LagPortVlanBo)

The list of port VLAN associations to be added for LAG member ports.

lastNamestring

The previous name of the LAG interface, used when renaming.

realRemoveboolean

Whether to perform a real removal operation when deleting the LAG.

defaultVlanIdstring

The default VLAN identifier for the LAG interface.

originalUntaggedVlanstring

The original untagged VLAN identifier before modification.

lagViewListArray of objects(Lag_V1)

The list of LAG view objects for batch operations.

Response
{ "id": "string", "lagId": 0, "name": "string", "type": "static", "ports": [ "string" ], "taggedVlans": [ "string" ], "untaggedVlan": "string", "switchId": "string", "tenantId": "string", "addPorts": [ "string" ], "removePorts": [ "string" ], "portVlans": [ { … } ], "portAddVlans": [ { … } ], "lastName": "string", "realRemove": true, "defaultVlanId": "string", "originalUntaggedVlan": "string", "lagViewList": [ {} ] }

Delete LAGsDeprecated

Request

Delete switch's multiple LAG settings. This method will be removed no sooner than 08/31/2026. The following URL /venues/{venueId}/switches/{switchId}/lags can be used for this content.

Security
jwtAuth
BodyrequiredArray [
string
]
[ "string" ]

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" } }

Profile

Manage switch profiles and profile configurations.

Operations

Profile ACL

Manage ACL (access control list) of switch profile.

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

Trusted Port

Manage a port's trust 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