openapi: 3.2.0
info:
version: 1.54.0
title: KPN SD-LAN SD-WAN Network View Switch.configure API
description: "The SD-LAN SD-WAN Network View API is a modern REST API based on the OpenAPI specification.\n \nThe Network View API gives users read rights to retrieve information from the `Network View API` resources. \n \n- **Note**: By default you have read only access but based on your requirements and contract you can be granted `Manager` access to this API which is more than read only. To request manager access, please contact us at api_developer@kpn.com.\n\n---\n## [Source view](https://app.swaggerhub.com/apis/kpn/kpn-sd_lan_sd_wan_network_view_api/)
[Documentation view](https://app.swaggerhub.com/apis-docs/kpn/kpn-sd_lan_sd_wan_network_view_api/)\n---\n## [KPN Developer](https://developer.kpn.com/)
[Getting Started](https://developer.kpn.com/getting-started)"
servers:
- url: https://api-prd.kpn.com/kpn/meraki
security:
- OAuth2ClientCredentials: []
tags:
- name: switch.configure
paths:
/devices/{serial}/switch/ports:
get:
description: List the switch ports for a switch
operationId: getDeviceSwitchPorts
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
portId:
type: string
description: The identifier of the switch port.
name:
type: string
description: The name of the switch port.
tags:
type: array
items:
type: string
description: The list of tags of the switch port.
enabled:
type: boolean
description: The status of the switch port.
poeEnabled:
type: boolean
description: The PoE status of the switch port.
type:
type: string
enum:
- access
- stack
- trunk
description: The type of the switch port ('trunk', 'access' or 'stack').
vlan:
type: integer
description: The VLAN of the switch port. For a trunk port, this is the native VLAN. A null value will clear the value set for trunk ports.
voiceVlan:
type: integer
description: The voice VLAN of the switch port. Only applicable to access ports.
allowedVlans:
type: string
description: The VLANs allowed on the switch port. Only applicable to trunk ports.
isolationEnabled:
type: boolean
description: The isolation status of the switch port.
rstpEnabled:
type: boolean
description: The rapid spanning tree protocol status.
stpGuard:
type: string
enum:
- bpdu guard
- disabled
- loop guard
- root guard
description: The state of the STP guard ('disabled', 'root guard', 'bpdu guard' or 'loop guard').
linkNegotiation:
type: string
description: The link speed for the switch port.
linkNegotiationCapabilities:
type: array
items:
type: string
description: Available link speeds for the switch port.
portScheduleId:
type: string
description: The ID of the port schedule. A value of null will clear the port schedule.
schedule:
type: object
properties:
id:
type: string
description: The ID of the port schedule.
name:
type: string
description: The name of the port schedule.
description: The port schedule data.
udld:
type: string
enum:
- Alert only
- Enforce
description: The action to take when Unidirectional Link is detected (Alert only, Enforce). Default configuration is Alert only.
accessPolicyType:
type: string
enum:
- Custom access policy
- MAC allow list
- Open
- Sticky MAC allow list
description: The type of the access policy of the switch port. Only applicable to access ports. Can be one of 'Open', 'Custom access policy', 'MAC allow list' or 'Sticky MAC allow list'.
accessPolicyNumber:
type: integer
description: The number of a custom access policy to configure on the switch port. Only applicable when 'accessPolicyType' is 'Custom access policy'.
macAllowList:
type: array
items:
type: string
description: Only devices with MAC addresses specified in this list will have access to this port. Up to 20 MAC addresses can be defined. Only applicable when 'accessPolicyType' is 'MAC allow list'.
stickyMacAllowList:
type: array
items:
type: string
description: The initial list of MAC addresses for sticky Mac allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'.
stickyMacAllowListLimit:
type: integer
description: The maximum number of MAC addresses for sticky MAC allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'.
stormControlEnabled:
type: boolean
description: The storm control status of the switch port.
adaptivePolicyGroupId:
type: string
description: The adaptive policy group ID that will be used to tag traffic through this switch port. This ID must pre-exist during the configuration, else needs to be created using adaptivePolicy/groups API. Cannot be applied to a port on a switch bound to profile.
adaptivePolicyGroup:
type: object
properties:
id:
type: string
description: The ID of the adaptive policy group.
name:
type: string
description: The name of the adaptive policy group.
description: The adaptive policy group data of the port.
peerSgtCapable:
type: boolean
description: If true, Peer SGT is enabled for traffic through this switch port. Applicable to trunk port only, not access port. Cannot be applied to a port on a switch bound to profile.
flexibleStackingEnabled:
type: boolean
description: For supported switches (e.g. MS420/MS425), whether or not the port has flexible stacking enabled.
daiTrusted:
type: boolean
description: If true, ARP packets for this port will be considered trusted, and Dynamic ARP Inspection will allow the traffic.
profile:
type: object
properties:
enabled:
type: boolean
description: When enabled, override this port's configuration with a port profile.
id:
type: string
description: When enabled, the ID of the port profile used to override the port's configuration.
iname:
type: string
description: When enabled, the IName of the profile.
description: Profile attributes
module:
type: object
properties:
model:
type: string
description: The model of the expansion module.
description: Expansion module
mirror:
type: object
properties:
mode:
type: string
enum:
- Destination port
- Not mirroring traffic
- Source port
description: The port mirror mode. Can be one of ('Destination port', 'Source port' or 'Not mirroring traffic').
description: Port mirror
dot3az:
type: object
properties:
enabled:
type: boolean
description: The Energy Efficient Ethernet status of the switch port.
description: dot3az settings for the port
stackwiseVirtual:
type: object
properties:
isStackWiseVirtualLink:
type: boolean
description: For SVL devices, whether or not the port is used for StackWise Virtual Link.
isDualActiveDetector:
type: boolean
description: For SVL devices, whether or not the port is used for Dual Active Detection.
description: Stackwise Virtual settings for the port
example:
- portId: '1'
name: My switch port
tags:
- tag1
- tag2
enabled: true
poeEnabled: true
type: access
vlan: 10
voiceVlan: 20
allowedVlans: 1,3,5-10
isolationEnabled: false
rstpEnabled: true
stpGuard: disabled
linkNegotiation: Auto negotiate
linkNegotiationCapabilities:
- Auto negotiate
- 1 Gigabit full duplex (auto)
portScheduleId: '1234'
schedule:
id: '1234'
name: Port Schedule
udld: Alert only
accessPolicyType: Sticky MAC allow list
accessPolicyNumber: 2
macAllowList:
- 34:56:fe:ce:8e:a0
- 34:56:fe:ce:8e:a1
stickyMacAllowList:
- 34:56:fe:ce:8e:b0
- 34:56:fe:ce:8e:b1
stickyMacAllowListLimit: 5
stormControlEnabled: true
adaptivePolicyGroupId: '123'
adaptivePolicyGroup:
id: '123'
name: Adaptive Policy Group
peerSgtCapable: false
flexibleStackingEnabled: true
daiTrusted: false
profile:
enabled: false
id: '1284392014819'
iname: iname
module:
model: MA-MOD-4X10G
mirror:
mode: Not mirroring traffic
dot3az:
enabled: false
stackwiseVirtual:
isStackWiseVirtualLink: false
isDualActiveDetector: false
summary: List the switch ports for a switch
tags:
- switch.configure
/devices/{serial}/switch/ports/{portId}:
get:
description: Return a switch port
operationId: getDeviceSwitchPort
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
- name: portId
in: path
description: Port ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
portId:
type: string
description: The identifier of the switch port.
name:
type: string
description: The name of the switch port.
tags:
type: array
items:
type: string
description: The list of tags of the switch port.
enabled:
type: boolean
description: The status of the switch port.
poeEnabled:
type: boolean
description: The PoE status of the switch port.
type:
type: string
enum:
- access
- stack
- trunk
description: The type of the switch port ('trunk', 'access' or 'stack').
vlan:
type: integer
description: The VLAN of the switch port. For a trunk port, this is the native VLAN. A null value will clear the value set for trunk ports.
voiceVlan:
type: integer
description: The voice VLAN of the switch port. Only applicable to access ports.
allowedVlans:
type: string
description: The VLANs allowed on the switch port. Only applicable to trunk ports.
isolationEnabled:
type: boolean
description: The isolation status of the switch port.
rstpEnabled:
type: boolean
description: The rapid spanning tree protocol status.
stpGuard:
type: string
enum:
- bpdu guard
- disabled
- loop guard
- root guard
description: The state of the STP guard ('disabled', 'root guard', 'bpdu guard' or 'loop guard').
linkNegotiation:
type: string
description: The link speed for the switch port.
linkNegotiationCapabilities:
type: array
items:
type: string
description: Available link speeds for the switch port.
portScheduleId:
type: string
description: The ID of the port schedule. A value of null will clear the port schedule.
schedule:
type: object
properties:
id:
type: string
description: The ID of the port schedule.
name:
type: string
description: The name of the port schedule.
description: The port schedule data.
udld:
type: string
enum:
- Alert only
- Enforce
description: The action to take when Unidirectional Link is detected (Alert only, Enforce). Default configuration is Alert only.
accessPolicyType:
type: string
enum:
- Custom access policy
- MAC allow list
- Open
- Sticky MAC allow list
description: The type of the access policy of the switch port. Only applicable to access ports. Can be one of 'Open', 'Custom access policy', 'MAC allow list' or 'Sticky MAC allow list'.
accessPolicyNumber:
type: integer
description: The number of a custom access policy to configure on the switch port. Only applicable when 'accessPolicyType' is 'Custom access policy'.
macAllowList:
type: array
items:
type: string
description: Only devices with MAC addresses specified in this list will have access to this port. Up to 20 MAC addresses can be defined. Only applicable when 'accessPolicyType' is 'MAC allow list'.
stickyMacAllowList:
type: array
items:
type: string
description: The initial list of MAC addresses for sticky Mac allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'.
stickyMacAllowListLimit:
type: integer
description: The maximum number of MAC addresses for sticky MAC allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'.
stormControlEnabled:
type: boolean
description: The storm control status of the switch port.
adaptivePolicyGroupId:
type: string
description: The adaptive policy group ID that will be used to tag traffic through this switch port. This ID must pre-exist during the configuration, else needs to be created using adaptivePolicy/groups API. Cannot be applied to a port on a switch bound to profile.
adaptivePolicyGroup:
type: object
properties:
id:
type: string
description: The ID of the adaptive policy group.
name:
type: string
description: The name of the adaptive policy group.
description: The adaptive policy group data of the port.
peerSgtCapable:
type: boolean
description: If true, Peer SGT is enabled for traffic through this switch port. Applicable to trunk port only, not access port. Cannot be applied to a port on a switch bound to profile.
flexibleStackingEnabled:
type: boolean
description: For supported switches (e.g. MS420/MS425), whether or not the port has flexible stacking enabled.
daiTrusted:
type: boolean
description: If true, ARP packets for this port will be considered trusted, and Dynamic ARP Inspection will allow the traffic.
profile:
type: object
properties:
enabled:
type: boolean
description: When enabled, override this port's configuration with a port profile.
id:
type: string
description: When enabled, the ID of the port profile used to override the port's configuration.
iname:
type: string
description: When enabled, the IName of the profile.
description: Profile attributes
module:
type: object
properties:
model:
type: string
description: The model of the expansion module.
description: Expansion module
mirror:
type: object
properties:
mode:
type: string
enum:
- Destination port
- Not mirroring traffic
- Source port
description: The port mirror mode. Can be one of ('Destination port', 'Source port' or 'Not mirroring traffic').
description: Port mirror
dot3az:
type: object
properties:
enabled:
type: boolean
description: The Energy Efficient Ethernet status of the switch port.
description: dot3az settings for the port
stackwiseVirtual:
type: object
properties:
isStackWiseVirtualLink:
type: boolean
description: For SVL devices, whether or not the port is used for StackWise Virtual Link.
isDualActiveDetector:
type: boolean
description: For SVL devices, whether or not the port is used for Dual Active Detection.
description: Stackwise Virtual settings for the port
example:
portId: '1'
name: My switch port
tags:
- tag1
- tag2
enabled: true
poeEnabled: true
type: access
vlan: 10
voiceVlan: 20
allowedVlans: 1,3,5-10
isolationEnabled: false
rstpEnabled: true
stpGuard: disabled
linkNegotiation: Auto negotiate
linkNegotiationCapabilities:
- Auto negotiate
- 1 Gigabit full duplex (auto)
portScheduleId: '1234'
schedule:
id: '1234'
name: Port Schedule
udld: Alert only
accessPolicyType: Sticky MAC allow list
accessPolicyNumber: 2
macAllowList:
- 34:56:fe:ce:8e:a0
- 34:56:fe:ce:8e:a1
stickyMacAllowList:
- 34:56:fe:ce:8e:b0
- 34:56:fe:ce:8e:b1
stickyMacAllowListLimit: 5
stormControlEnabled: true
adaptivePolicyGroupId: '123'
adaptivePolicyGroup:
id: '123'
name: Adaptive Policy Group
peerSgtCapable: false
flexibleStackingEnabled: true
daiTrusted: false
profile:
enabled: false
id: '1284392014819'
iname: iname
module:
model: MA-MOD-4X10G
mirror:
mode: Not mirroring traffic
dot3az:
enabled: false
stackwiseVirtual:
isStackWiseVirtualLink: false
isDualActiveDetector: false
summary: Return a switch port
tags:
- switch.configure
put:
description: Update a switch port
operationId: updateDeviceSwitchPort
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
- name: portId
in: path
description: Port ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: The name of the switch port.
tags:
type: array
items:
type: string
description: The list of tags of the switch port.
enabled:
type: boolean
description: The status of the switch port.
poeEnabled:
type: boolean
description: The PoE status of the switch port.
type:
type: string
enum:
- access
- stack
- trunk
description: The type of the switch port ('trunk', 'access' or 'stack').
vlan:
type: integer
description: The VLAN of the switch port. For a trunk port, this is the native VLAN. A null value will clear the value set for trunk ports.
voiceVlan:
type: integer
description: The voice VLAN of the switch port. Only applicable to access ports.
allowedVlans:
type: string
description: The VLANs allowed on the switch port. Only applicable to trunk ports.
isolationEnabled:
type: boolean
description: The isolation status of the switch port.
rstpEnabled:
type: boolean
description: The rapid spanning tree protocol status.
stpGuard:
type: string
enum:
- bpdu guard
- disabled
- loop guard
- root guard
description: The state of the STP guard ('disabled', 'root guard', 'bpdu guard' or 'loop guard').
linkNegotiation:
type: string
description: The link speed for the switch port.
portScheduleId:
type: string
description: The ID of the port schedule. A value of null will clear the port schedule.
udld:
type: string
enum:
- Alert only
- Enforce
description: The action to take when Unidirectional Link is detected (Alert only, Enforce). Default configuration is Alert only.
accessPolicyType:
type: string
enum:
- Custom access policy
- MAC allow list
- Open
- Sticky MAC allow list
description: The type of the access policy of the switch port. Only applicable to access ports. Can be one of 'Open', 'Custom access policy', 'MAC allow list' or 'Sticky MAC allow list'.
accessPolicyNumber:
type: integer
description: The number of a custom access policy to configure on the switch port. Only applicable when 'accessPolicyType' is 'Custom access policy'.
macAllowList:
type: array
items:
type: string
description: Only devices with MAC addresses specified in this list will have access to this port. Up to 20 MAC addresses can be defined. Only applicable when 'accessPolicyType' is 'MAC allow list'.
stickyMacAllowList:
type: array
items:
type: string
description: The initial list of MAC addresses for sticky Mac allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'.
stickyMacAllowListLimit:
type: integer
description: The maximum number of MAC addresses for sticky MAC allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'.
stormControlEnabled:
type: boolean
description: The storm control status of the switch port.
adaptivePolicyGroupId:
type: string
description: The adaptive policy group ID that will be used to tag traffic through this switch port. This ID must pre-exist during the configuration, else needs to be created using adaptivePolicy/groups API. Cannot be applied to a port on a switch bound to profile.
peerSgtCapable:
type: boolean
description: If true, Peer SGT is enabled for traffic through this switch port. Applicable to trunk port only, not access port. Cannot be applied to a port on a switch bound to profile.
flexibleStackingEnabled:
type: boolean
description: For supported switches (e.g. MS420/MS425), whether or not the port has flexible stacking enabled.
daiTrusted:
type: boolean
description: If true, ARP packets for this port will be considered trusted, and Dynamic ARP Inspection will allow the traffic.
profile:
type: object
properties:
enabled:
type: boolean
description: When enabled, override this port's configuration with a port profile.
id:
type: string
description: When enabled, the ID of the port profile used to override the port's configuration.
iname:
type: string
description: When enabled, the IName of the profile.
description: Profile attributes
dot3az:
type: object
properties:
enabled:
type: boolean
description: The Energy Efficient Ethernet status of the switch port.
description: dot3az settings for the port
example:
name: My switch port
tags:
- tag1
- tag2
enabled: true
poeEnabled: true
type: access
vlan: 10
voiceVlan: 20
allowedVlans: 1,3,5-10
isolationEnabled: false
rstpEnabled: true
stpGuard: disabled
linkNegotiation: Auto negotiate
portScheduleId: '1234'
udld: Alert only
accessPolicyType: Sticky MAC allow list
accessPolicyNumber: 2
macAllowList:
- 34:56:fe:ce:8e:a0
- 34:56:fe:ce:8e:a1
stickyMacAllowList:
- 34:56:fe:ce:8e:b0
- 34:56:fe:ce:8e:b1
stickyMacAllowListLimit: 5
stormControlEnabled: true
adaptivePolicyGroupId: '123'
peerSgtCapable: false
flexibleStackingEnabled: true
daiTrusted: false
profile:
enabled: false
id: '1284392014819'
iname: iname
dot3az:
enabled: false
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
portId:
type: string
description: The identifier of the switch port.
name:
type: string
description: The name of the switch port.
tags:
type: array
items:
type: string
description: The list of tags of the switch port.
enabled:
type: boolean
description: The status of the switch port.
poeEnabled:
type: boolean
description: The PoE status of the switch port.
type:
type: string
enum:
- access
- stack
- trunk
description: The type of the switch port ('trunk', 'access' or 'stack').
vlan:
type: integer
description: The VLAN of the switch port. For a trunk port, this is the native VLAN. A null value will clear the value set for trunk ports.
voiceVlan:
type: integer
description: The voice VLAN of the switch port. Only applicable to access ports.
allowedVlans:
type: string
description: The VLANs allowed on the switch port. Only applicable to trunk ports.
isolationEnabled:
type: boolean
description: The isolation status of the switch port.
rstpEnabled:
type: boolean
description: The rapid spanning tree protocol status.
stpGuard:
type: string
enum:
- bpdu guard
- disabled
- loop guard
- root guard
description: The state of the STP guard ('disabled', 'root guard', 'bpdu guard' or 'loop guard').
linkNegotiation:
type: string
description: The link speed for the switch port.
linkNegotiationCapabilities:
type: array
items:
type: string
description: Available link speeds for the switch port.
portScheduleId:
type: string
description: The ID of the port schedule. A value of null will clear the port schedule.
schedule:
type: object
properties:
id:
type: string
description: The ID of the port schedule.
name:
type: string
description: The name of the port schedule.
description: The port schedule data.
udld:
type: string
enum:
- Alert only
- Enforce
description: The action to take when Unidirectional Link is detected (Alert only, Enforce). Default configuration is Alert only.
accessPolicyType:
type: string
enum:
- Custom access policy
- MAC allow list
- Open
- Sticky MAC allow list
description: The type of the access policy of the switch port. Only applicable to access ports. Can be one of 'Open', 'Custom access policy', 'MAC allow list' or 'Sticky MAC allow list'.
accessPolicyNumber:
type: integer
description: The number of a custom access policy to configure on the switch port. Only applicable when 'accessPolicyType' is 'Custom access policy'.
macAllowList:
type: array
items:
type: string
description: Only devices with MAC addresses specified in this list will have access to this port. Up to 20 MAC addresses can be defined. Only applicable when 'accessPolicyType' is 'MAC allow list'.
stickyMacAllowList:
type: array
items:
type: string
description: The initial list of MAC addresses for sticky Mac allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'.
stickyMacAllowListLimit:
type: integer
description: The maximum number of MAC addresses for sticky MAC allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'.
stormControlEnabled:
type: boolean
description: The storm control status of the switch port.
adaptivePolicyGroupId:
type: string
description: The adaptive policy group ID that will be used to tag traffic through this switch port. This ID must pre-exist during the configuration, else needs to be created using adaptivePolicy/groups API. Cannot be applied to a port on a switch bound to profile.
adaptivePolicyGroup:
type: object
properties:
id:
type: string
description: The ID of the adaptive policy group.
name:
type: string
description: The name of the adaptive policy group.
description: The adaptive policy group data of the port.
peerSgtCapable:
type: boolean
description: If true, Peer SGT is enabled for traffic through this switch port. Applicable to trunk port only, not access port. Cannot be applied to a port on a switch bound to profile.
flexibleStackingEnabled:
type: boolean
description: For supported switches (e.g. MS420/MS425), whether or not the port has flexible stacking enabled.
daiTrusted:
type: boolean
description: If true, ARP packets for this port will be considered trusted, and Dynamic ARP Inspection will allow the traffic.
profile:
type: object
properties:
enabled:
type: boolean
description: When enabled, override this port's configuration with a port profile.
id:
type: string
description: When enabled, the ID of the port profile used to override the port's configuration.
iname:
type: string
description: When enabled, the IName of the profile.
description: Profile attributes
module:
type: object
properties:
model:
type: string
description: The model of the expansion module.
description: Expansion module
mirror:
type: object
properties:
mode:
type: string
enum:
- Destination port
- Not mirroring traffic
- Source port
description: The port mirror mode. Can be one of ('Destination port', 'Source port' or 'Not mirroring traffic').
description: Port mirror
dot3az:
type: object
properties:
enabled:
type: boolean
description: The Energy Efficient Ethernet status of the switch port.
description: dot3az settings for the port
stackwiseVirtual:
type: object
properties:
isStackWiseVirtualLink:
type: boolean
description: For SVL devices, whether or not the port is used for StackWise Virtual Link.
isDualActiveDetector:
type: boolean
description: For SVL devices, whether or not the port is used for Dual Active Detection.
description: Stackwise Virtual settings for the port
example:
portId: '1'
name: My switch port
tags:
- tag1
- tag2
enabled: true
poeEnabled: true
type: access
vlan: 10
voiceVlan: 20
allowedVlans: 1,3,5-10
isolationEnabled: false
rstpEnabled: true
stpGuard: disabled
linkNegotiation: Auto negotiate
linkNegotiationCapabilities:
- Auto negotiate
- 1 Gigabit full duplex (auto)
portScheduleId: '1234'
schedule:
id: '1234'
name: Port Schedule
udld: Alert only
accessPolicyType: Sticky MAC allow list
accessPolicyNumber: 2
macAllowList:
- 34:56:fe:ce:8e:a0
- 34:56:fe:ce:8e:a1
stickyMacAllowList:
- 34:56:fe:ce:8e:b0
- 34:56:fe:ce:8e:b1
stickyMacAllowListLimit: 5
stormControlEnabled: true
adaptivePolicyGroupId: '123'
adaptivePolicyGroup:
id: '123'
name: Adaptive Policy Group
peerSgtCapable: false
flexibleStackingEnabled: true
daiTrusted: false
profile:
enabled: false
id: '1284392014819'
iname: iname
module:
model: MA-MOD-4X10G
mirror:
mode: Not mirroring traffic
dot3az:
enabled: false
stackwiseVirtual:
isStackWiseVirtualLink: false
isDualActiveDetector: false
summary: Update a switch port
tags:
- switch.configure
/devices/{serial}/switch/routing/interfaces:
get:
description: List layer 3 interfaces for a switch. Those for a stack may be found under switch stack routing.
operationId: getDeviceSwitchRoutingInterfaces
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
interfaceId:
type: string
description: The id
name:
type: string
description: The name
subnet:
type: string
description: IPv4 subnet
interfaceIp:
type: string
description: IPv4 address
multicastRouting:
type: string
description: Multicast routing status
vlanId:
type: integer
description: VLAN id
ospfSettings:
type: object
properties:
area:
type: string
description: Area id
cost:
type: integer
description: OSPF Cost
isPassiveEnabled:
type: boolean
description: Disable sending Hello packets on this interface's IPv4 area
description: IPv4 OSPF Settings
ospfV3:
type: object
properties:
area:
type: string
description: Area id
cost:
type: integer
description: OSPF Cost
isPassiveEnabled:
type: boolean
description: Disable sending Hello packets on this interface's IPv6 area
description: IPv6 OSPF Settings
ipv6:
type: object
properties:
assignmentMode:
type: string
description: Assignment mode
address:
type: string
description: IPv6 address
prefix:
type: string
description: IPv6 subnet
gateway:
type: string
description: IPv6 gateway
description: IPv6 addressing
defaultGateway:
type: string
description: IPv4 default gateway
example:
- interfaceId: '1234'
name: L3 interface
subnet: 192.168.1.0/24
interfaceIp: 192.168.1.2
multicastRouting: disabled
vlanId: 100
ospfSettings:
area: '0'
cost: 1
isPassiveEnabled: true
ospfV3:
area: '1'
cost: 2
isPassiveEnabled: true
ipv6:
assignmentMode: static
address: 1:2:3:4::1
prefix: 1:2:3:4::/48
gateway: 1:2:3:4::2
defaultGateway: 192.168.1.1
summary: List layer 3 interfaces for a switch
tags:
- switch.configure
post:
description: Create a layer 3 interface for a switch
operationId: createDeviceSwitchRoutingInterface
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: A friendly name or description for the interface or VLAN.
subnet:
type: string
description: The network that this routed interface is on, in CIDR notation (ex. 10.1.1.0/24).
interfaceIp:
type: string
description: The IP address this switch will use for layer 3 routing on this VLAN or subnet. This cannot be the same as the switch's management IP.
multicastRouting:
type: string
enum:
- IGMP snooping querier
- disabled
- enabled
description: 'Enable multicast support if, multicast routing between VLANs is required. Options are: ''disabled'', ''enabled'' or ''IGMP snooping querier''. Default is ''disabled''.'
vlanId:
type: integer
description: The VLAN this routed interface is on. VLAN must be between 1 and 4094.
defaultGateway:
type: string
description: The next hop for any traffic that isn't going to a directly connected subnet or over a static route. This IP address must exist in a subnet with a routed interface. Required if this is the first IPv4 interface.
ospfSettings:
type: object
properties:
area:
type: string
description: The OSPF area to which this interface should belong. Can be either 'disabled' or the identifier of an existing OSPF area. Defaults to 'disabled'.
cost:
type: integer
description: The path cost for this interface. Defaults to 1, but can be increased up to 65535 to give lower priority.
isPassiveEnabled:
type: boolean
description: When enabled, OSPF will not run on the interface, but the subnet will still be advertised.
description: The OSPF routing settings of the interface.
ipv6:
type: object
properties:
assignmentMode:
type: string
description: The IPv6 assignment mode for the interface. Can be either 'eui-64' or 'static'.
prefix:
type: string
description: The IPv6 prefix of the interface. Required if IPv6 object is included.
address:
type: string
description: The IPv6 address of the interface. Required if assignmentMode is 'static'. Must not be included if assignmentMode is 'eui-64'.
gateway:
type: string
description: The IPv6 default gateway of the interface. Required if prefix is defined and this is the first interface with IPv6 configured for the switch.
description: The IPv6 settings of the interface.
example:
name: L3 interface
subnet: 192.168.1.0/24
interfaceIp: 192.168.1.2
multicastRouting: disabled
vlanId: 100
defaultGateway: 192.168.1.1
ospfSettings:
area: '0'
cost: 1
isPassiveEnabled: true
ipv6:
assignmentMode: static
prefix: 1:2:3:4::/48
address: 1:2:3:4::1
gateway: 1:2:3:4::2
required: false
responses:
'201':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
interfaceId:
type: string
description: The id
name:
type: string
description: The name
subnet:
type: string
description: IPv4 subnet
interfaceIp:
type: string
description: IPv4 address
multicastRouting:
type: string
description: Multicast routing status
vlanId:
type: integer
description: VLAN id
ospfSettings:
type: object
properties:
area:
type: string
description: Area id
cost:
type: integer
description: OSPF Cost
isPassiveEnabled:
type: boolean
description: Disable sending Hello packets on this interface's IPv4 area
description: IPv4 OSPF Settings
ospfV3:
type: object
properties:
area:
type: string
description: Area id
cost:
type: integer
description: OSPF Cost
isPassiveEnabled:
type: boolean
description: Disable sending Hello packets on this interface's IPv6 area
description: IPv6 OSPF Settings
ipv6:
type: object
properties:
assignmentMode:
type: string
description: Assignment mode
address:
type: string
description: IPv6 address
prefix:
type: string
description: IPv6 subnet
gateway:
type: string
description: IPv6 gateway
description: IPv6 addressing
defaultGateway:
type: string
description: IPv4 default gateway
example:
interfaceId: '1234'
name: L3 interface
subnet: 192.168.1.0/24
interfaceIp: 192.168.1.2
multicastRouting: disabled
vlanId: 100
ospfSettings:
area: '0'
cost: 1
isPassiveEnabled: true
ospfV3:
area: '1'
cost: 2
isPassiveEnabled: true
ipv6:
assignmentMode: static
address: 1:2:3:4::1
prefix: 1:2:3:4::/48
gateway: 1:2:3:4::2
defaultGateway: 192.168.1.1
summary: Create a layer 3 interface for a switch
tags:
- switch.configure
/devices/{serial}/switch/routing/interfaces/{interfaceId}:
get:
description: Return a layer 3 interface for a switch
operationId: getDeviceSwitchRoutingInterface
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
- name: interfaceId
in: path
description: Interface ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
interfaceId:
type: string
description: The id
name:
type: string
description: The name
subnet:
type: string
description: IPv4 subnet
interfaceIp:
type: string
description: IPv4 address
multicastRouting:
type: string
description: Multicast routing status
vlanId:
type: integer
description: VLAN id
ospfSettings:
type: object
properties:
area:
type: string
description: Area id
cost:
type: integer
description: OSPF Cost
isPassiveEnabled:
type: boolean
description: Disable sending Hello packets on this interface's IPv4 area
description: IPv4 OSPF Settings
ospfV3:
type: object
properties:
area:
type: string
description: Area id
cost:
type: integer
description: OSPF Cost
isPassiveEnabled:
type: boolean
description: Disable sending Hello packets on this interface's IPv6 area
description: IPv6 OSPF Settings
ipv6:
type: object
properties:
assignmentMode:
type: string
description: Assignment mode
address:
type: string
description: IPv6 address
prefix:
type: string
description: IPv6 subnet
gateway:
type: string
description: IPv6 gateway
description: IPv6 addressing
defaultGateway:
type: string
description: IPv4 default gateway
example:
interfaceId: '1234'
name: L3 interface
subnet: 192.168.1.0/24
interfaceIp: 192.168.1.2
multicastRouting: disabled
vlanId: 100
ospfSettings:
area: '0'
cost: 1
isPassiveEnabled: true
ospfV3:
area: '1'
cost: 2
isPassiveEnabled: true
ipv6:
assignmentMode: static
address: 1:2:3:4::1
prefix: 1:2:3:4::/48
gateway: 1:2:3:4::2
defaultGateway: 192.168.1.1
summary: Return a layer 3 interface for a switch
tags:
- switch.configure
put:
description: Update a layer 3 interface for a switch
operationId: updateDeviceSwitchRoutingInterface
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
- name: interfaceId
in: path
description: Interface ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: A friendly name or description for the interface or VLAN.
subnet:
type: string
description: The network that this routed interface is on, in CIDR notation (ex. 10.1.1.0/24).
interfaceIp:
type: string
description: The IP address this switch will use for layer 3 routing on this VLAN or subnet. This cannot be the same as the switch's management IP.
multicastRouting:
type: string
enum:
- IGMP snooping querier
- disabled
- enabled
description: 'Enable multicast support if, multicast routing between VLANs is required. Options are: ''disabled'', ''enabled'' or ''IGMP snooping querier''. Default is ''disabled''.'
vlanId:
type: integer
description: The VLAN this routed interface is on. VLAN must be between 1 and 4094.
defaultGateway:
type: string
description: The next hop for any traffic that isn't going to a directly connected subnet or over a static route. This IP address must exist in a subnet with a routed interface. Required if this is the first IPv4 interface.
ospfSettings:
type: object
properties:
area:
type: string
description: The OSPF area to which this interface should belong. Can be either 'disabled' or the identifier of an existing OSPF area. Defaults to 'disabled'.
cost:
type: integer
description: The path cost for this interface. Defaults to 1, but can be increased up to 65535 to give lower priority.
isPassiveEnabled:
type: boolean
description: When enabled, OSPF will not run on the interface, but the subnet will still be advertised.
description: The OSPF routing settings of the interface.
ipv6:
type: object
properties:
assignmentMode:
type: string
description: The IPv6 assignment mode for the interface. Can be either 'eui-64' or 'static'.
prefix:
type: string
description: The IPv6 prefix of the interface. Required if IPv6 object is included.
address:
type: string
description: The IPv6 address of the interface. Required if assignmentMode is 'static'. Must not be included if assignmentMode is 'eui-64'.
gateway:
type: string
description: The IPv6 default gateway of the interface. Required if prefix is defined and this is the first interface with IPv6 configured for the switch.
description: The IPv6 settings of the interface.
example:
name: L3 interface
subnet: 192.168.1.0/24
interfaceIp: 192.168.1.2
multicastRouting: disabled
vlanId: 100
defaultGateway: 192.168.1.1
ospfSettings:
area: '0'
cost: 1
isPassiveEnabled: true
ipv6:
assignmentMode: static
prefix: 1:2:3:4::/48
address: 1:2:3:4::1
gateway: 1:2:3:4::2
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
interfaceId:
type: string
description: The id
name:
type: string
description: The name
subnet:
type: string
description: IPv4 subnet
interfaceIp:
type: string
description: IPv4 address
multicastRouting:
type: string
description: Multicast routing status
vlanId:
type: integer
description: VLAN id
ospfSettings:
type: object
properties:
area:
type: string
description: Area id
cost:
type: integer
description: OSPF Cost
isPassiveEnabled:
type: boolean
description: Disable sending Hello packets on this interface's IPv4 area
description: IPv4 OSPF Settings
ospfV3:
type: object
properties:
area:
type: string
description: Area id
cost:
type: integer
description: OSPF Cost
isPassiveEnabled:
type: boolean
description: Disable sending Hello packets on this interface's IPv6 area
description: IPv6 OSPF Settings
ipv6:
type: object
properties:
assignmentMode:
type: string
description: Assignment mode
address:
type: string
description: IPv6 address
prefix:
type: string
description: IPv6 subnet
gateway:
type: string
description: IPv6 gateway
description: IPv6 addressing
defaultGateway:
type: string
description: IPv4 default gateway
example:
interfaceId: '1234'
name: L3 interface
subnet: 192.168.1.0/24
interfaceIp: 192.168.1.2
multicastRouting: disabled
vlanId: 100
ospfSettings:
area: '0'
cost: 1
isPassiveEnabled: true
ospfV3:
area: '1'
cost: 2
isPassiveEnabled: true
ipv6:
assignmentMode: static
address: 1:2:3:4::1
prefix: 1:2:3:4::/48
gateway: 1:2:3:4::2
defaultGateway: 192.168.1.1
summary: Update a layer 3 interface for a switch
tags:
- switch.configure
delete:
description: Delete a layer 3 interface from the switch
operationId: deleteDeviceSwitchRoutingInterface
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
- name: interfaceId
in: path
description: Interface ID
schema:
type: string
required: true
responses:
'204':
description: Successful operation
summary: Delete a layer 3 interface from the switch
tags:
- switch.configure
/devices/{serial}/switch/routing/interfaces/{interfaceId}/dhcp:
get:
description: Return a layer 3 interface DHCP configuration for a switch
operationId: getDeviceSwitchRoutingInterfaceDhcp
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
- name: interfaceId
in: path
description: Interface ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
dhcpMode:
type: string
description: The DHCP mode options for the switch stack interface ('dhcpDisabled', 'dhcpRelay' or 'dhcpServer')
dhcpRelayServerIps:
type: array
items:
type: string
description: The DHCP relay server IPs to which DHCP packets would get relayed for the switch stack interface
dhcpLeaseTime:
type: string
description: The DHCP lease time config for the dhcp server running on the switch stack interface ('30 minutes', '1 hour', '4 hours', '12 hours', '1 day' or '1 week')
dnsNameserversOption:
type: string
description: The DHCP name server option for the dhcp server running on the switch stack interface ('googlePublicDns', 'openDns' or 'custom')
dnsCustomNameservers:
type: array
items:
type: string
description: The DHCP name server IPs when DHCP name server option is 'custom'
bootOptionsEnabled:
type: boolean
description: Enable DHCP boot options to provide PXE boot options configs for the dhcp server running on the switch stack interface
bootNextServer:
type: string
description: The PXE boot server IP for the DHCP server running on the switch stack interface
bootFileName:
type: string
description: The PXE boot server file name for the DHCP server running on the switch stack interface
dhcpOptions:
type: array
items:
type: object
properties:
code:
type: string
description: The code for DHCP option which should be from 2 to 254
type:
type: string
description: The type of the DHCP option which should be one of ('text', 'ip', 'integer' or 'hex')
value:
type: string
description: The value of the DHCP option
description: Array of DHCP options consisting of code, type and value for the DHCP server running on the switch stack interface
reservedIpRanges:
type: array
items:
type: object
properties:
start:
type: string
description: The starting IP address of the reserved IP range
end:
type: string
description: The ending IP address of the reserved IP range
comment:
type: string
description: The comment for the reserved IP range
description: Array of DHCP reserved IP assignments for the DHCP server running on the switch stack interface
fixedIpAssignments:
type: array
items:
type: object
properties:
name:
type: string
description: The name of the client which has fixed IP address
mac:
type: string
description: The MAC address of the client which has fixed IP address
ip:
type: string
description: The IP address of the client which has fixed IP address assigned to it
description: Array of DHCP reserved IP assignments for the DHCP server running on the switch stack interface
example:
dhcpMode: dhcpServer
dhcpRelayServerIps:
- 1.2.3.4
dhcpLeaseTime: 1 day
dnsNameserversOption: custom
dnsCustomNameservers:
- 8.8.8.8, 8.8.4.4
bootOptionsEnabled: true
bootNextServer: 1.2.3.4
bootFileName: home_boot_file
dhcpOptions:
- code: '5'
type: text
value: five
reservedIpRanges:
- start: 192.168.1.1
end: 192.168.1.10
comment: A reserved IP range
fixedIpAssignments:
- name: Cisco Meraki valued client
mac: 22:33:44:55:66:77
ip: 192.168.1.12
summary: Return a layer 3 interface DHCP configuration for a switch
tags:
- switch.configure
put:
description: Update a layer 3 interface DHCP configuration for a switch
operationId: updateDeviceSwitchRoutingInterfaceDhcp
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
- name: interfaceId
in: path
description: Interface ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
dhcpMode:
type: string
enum:
- dhcpDisabled
- dhcpRelay
- dhcpServer
description: "The DHCP mode options for the switch interface\n ('dhcpDisabled', 'dhcpRelay' or 'dhcpServer')"
dhcpRelayServerIps:
type: array
items:
type: string
description: The DHCP relay server IPs to which DHCP packets would get relayed for the switch interface
dhcpLeaseTime:
type: string
enum:
- 1 day
- 1 hour
- 1 week
- 12 hours
- 30 minutes
- 4 hours
description: "The DHCP lease time config for the dhcp server running on switch interface\n ('30 minutes', '1 hour', '4 hours', '12 hours', '1 day' or '1 week')"
dnsNameserversOption:
type: string
enum:
- custom
- googlePublicDns
- openDns
description: "The DHCP name server option for the dhcp server running on the switch interface\n ('googlePublicDns', 'openDns' or 'custom')"
dnsCustomNameservers:
type: array
items:
type: string
description: "The DHCP name server IPs when DHCP name server option is\n 'custom'"
bootOptionsEnabled:
type: boolean
description: "Enable DHCP boot options to provide PXE boot options configs for the dhcp server running on the switch\n interface"
bootNextServer:
type: string
description: The PXE boot server IP for the DHCP server running on the switch interface
bootFileName:
type: string
description: The PXE boot server filename for the DHCP server running on the switch interface
dhcpOptions:
type: array
items:
type: object
properties:
code:
type: string
description: The code for DHCP option which should be from 2 to 254
type:
type: string
enum:
- hex
- integer
- ip
- text
description: "The type of the DHCP option which should be one of\n ('text', 'ip', 'integer' or 'hex')"
value:
type: string
description: The value of the DHCP option
required:
- code
- type
- value
description: Array of DHCP options consisting of code, type and value for the DHCP server running on the switch interface
reservedIpRanges:
type: array
items:
type: object
properties:
start:
type: string
description: The starting IP address of the reserved IP range
end:
type: string
description: The ending IP address of the reserved IP range
comment:
type: string
description: The comment for the reserved IP range
required:
- start
- end
description: Array of DHCP reserved IP assignments for the DHCP server running on the switch interface
fixedIpAssignments:
type: array
items:
type: object
properties:
name:
type: string
description: The name of the client which has fixed IP address
mac:
type: string
description: The MAC address of the client which has fixed IP address
ip:
type: string
description: The IP address of the client which has fixed IP address assigned to it
required:
- name
- mac
- ip
description: Array of DHCP fixed IP assignments for the DHCP server running on the switch interface
example:
dhcpMode: dhcpServer
dhcpRelayServerIps:
- 1.2.3.4
dhcpLeaseTime: 1 day
dnsNameserversOption: custom
dnsCustomNameservers:
- 8.8.8.8, 8.8.4.4
bootOptionsEnabled: true
bootNextServer: 1.2.3.4
bootFileName: home_boot_file
dhcpOptions:
- code: '5'
type: text
value: five
reservedIpRanges:
- start: 192.168.1.1
end: 192.168.1.10
comment: A reserved IP range
fixedIpAssignments:
- name: Cisco Meraki valued client
mac: 22:33:44:55:66:77
ip: 192.168.1.12
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
dhcpMode:
type: string
description: The DHCP mode options for the switch stack interface ('dhcpDisabled', 'dhcpRelay' or 'dhcpServer')
dhcpRelayServerIps:
type: array
items:
type: string
description: The DHCP relay server IPs to which DHCP packets would get relayed for the switch stack interface
dhcpLeaseTime:
type: string
description: The DHCP lease time config for the dhcp server running on the switch stack interface ('30 minutes', '1 hour', '4 hours', '12 hours', '1 day' or '1 week')
dnsNameserversOption:
type: string
description: The DHCP name server option for the dhcp server running on the switch stack interface ('googlePublicDns', 'openDns' or 'custom')
dnsCustomNameservers:
type: array
items:
type: string
description: The DHCP name server IPs when DHCP name server option is 'custom'
bootOptionsEnabled:
type: boolean
description: Enable DHCP boot options to provide PXE boot options configs for the dhcp server running on the switch stack interface
bootNextServer:
type: string
description: The PXE boot server IP for the DHCP server running on the switch stack interface
bootFileName:
type: string
description: The PXE boot server file name for the DHCP server running on the switch stack interface
dhcpOptions:
type: array
items:
type: object
properties:
code:
type: string
description: The code for DHCP option which should be from 2 to 254
type:
type: string
description: The type of the DHCP option which should be one of ('text', 'ip', 'integer' or 'hex')
value:
type: string
description: The value of the DHCP option
description: Array of DHCP options consisting of code, type and value for the DHCP server running on the switch stack interface
reservedIpRanges:
type: array
items:
type: object
properties:
start:
type: string
description: The starting IP address of the reserved IP range
end:
type: string
description: The ending IP address of the reserved IP range
comment:
type: string
description: The comment for the reserved IP range
description: Array of DHCP reserved IP assignments for the DHCP server running on the switch stack interface
fixedIpAssignments:
type: array
items:
type: object
properties:
name:
type: string
description: The name of the client which has fixed IP address
mac:
type: string
description: The MAC address of the client which has fixed IP address
ip:
type: string
description: The IP address of the client which has fixed IP address assigned to it
description: Array of DHCP reserved IP assignments for the DHCP server running on the switch stack interface
example:
dhcpMode: dhcpServer
dhcpRelayServerIps:
- 1.2.3.4
dhcpLeaseTime: 1 day
dnsNameserversOption: custom
dnsCustomNameservers:
- 8.8.8.8, 8.8.4.4
bootOptionsEnabled: true
bootNextServer: 1.2.3.4
bootFileName: home_boot_file
dhcpOptions:
- code: '5'
type: text
value: five
reservedIpRanges:
- start: 192.168.1.1
end: 192.168.1.10
comment: A reserved IP range
fixedIpAssignments:
- name: Cisco Meraki valued client
mac: 22:33:44:55:66:77
ip: 192.168.1.12
summary: Update a layer 3 interface DHCP configuration for a switch
tags:
- switch.configure
/devices/{serial}/switch/routing/staticRoutes:
get:
description: List layer 3 static routes for a switch
operationId: getDeviceSwitchRoutingStaticRoutes
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
staticRouteId:
type: string
description: The identifier of a layer 3 static route
name:
type: string
description: The name or description of the layer 3 static route
subnet:
type: string
description: The IP address of the subnetwork specified in CIDR notation (ex. 1.2.3.0/24)
nextHopIp:
type: string
description: The IP address of the router to which traffic for this destination network should be sent
managementNextHop:
type: string
description: Optional fallback IP address for management traffic
advertiseViaOspfEnabled:
type: boolean
description: Option to advertise static routes via OSPF
preferOverOspfRoutesEnabled:
type: boolean
description: Option to prefer static routes over OSPF routes
required:
- subnet
- nextHopIp
example:
- staticRouteId: '1234'
name: My route
subnet: 192.168.1.0/24
nextHopIp: 1.2.3.4
managementNextHop: 1.2.3.5
advertiseViaOspfEnabled: false
preferOverOspfRoutesEnabled: false
summary: List layer 3 static routes for a switch
tags:
- switch.configure
post:
description: Create a layer 3 static route for a switch
operationId: createDeviceSwitchRoutingStaticRoute
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name or description for layer 3 static route
subnet:
type: string
description: The subnet which is routed via this static route and should be specified in CIDR notation (ex. 1.2.3.0/24)
nextHopIp:
type: string
description: IP address of the next hop device to which the device sends its traffic for the subnet
advertiseViaOspfEnabled:
type: boolean
description: Option to advertise static route via OSPF
preferOverOspfRoutesEnabled:
type: boolean
description: Option to prefer static route over OSPF routes
example:
name: My route
subnet: 192.168.1.0/24
nextHopIp: 1.2.3.4
advertiseViaOspfEnabled: false
preferOverOspfRoutesEnabled: false
required:
- subnet
- nextHopIp
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
staticRouteId:
type: string
description: The identifier of a layer 3 static route
name:
type: string
description: The name or description of the layer 3 static route
subnet:
type: string
description: The IP address of the subnetwork specified in CIDR notation (ex. 1.2.3.0/24)
nextHopIp:
type: string
description: The IP address of the router to which traffic for this destination network should be sent
managementNextHop:
type: string
description: Optional fallback IP address for management traffic
advertiseViaOspfEnabled:
type: boolean
description: Option to advertise static routes via OSPF
preferOverOspfRoutesEnabled:
type: boolean
description: Option to prefer static routes over OSPF routes
required:
- subnet
- nextHopIp
example:
staticRouteId: '1234'
name: My route
subnet: 192.168.1.0/24
nextHopIp: 1.2.3.4
managementNextHop: 1.2.3.5
advertiseViaOspfEnabled: false
preferOverOspfRoutesEnabled: false
summary: Create a layer 3 static route for a switch
tags:
- switch.configure
/devices/{serial}/switch/routing/staticRoutes/{staticRouteId}:
get:
description: Return a layer 3 static route for a switch
operationId: getDeviceSwitchRoutingStaticRoute
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
- name: staticRouteId
in: path
description: Static route ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
staticRouteId:
type: string
description: The identifier of a layer 3 static route
name:
type: string
description: The name or description of the layer 3 static route
subnet:
type: string
description: The IP address of the subnetwork specified in CIDR notation (ex. 1.2.3.0/24)
nextHopIp:
type: string
description: The IP address of the router to which traffic for this destination network should be sent
managementNextHop:
type: string
description: Optional fallback IP address for management traffic
advertiseViaOspfEnabled:
type: boolean
description: Option to advertise static routes via OSPF
preferOverOspfRoutesEnabled:
type: boolean
description: Option to prefer static routes over OSPF routes
required:
- subnet
- nextHopIp
example:
staticRouteId: '1234'
name: My route
subnet: 192.168.1.0/24
nextHopIp: 1.2.3.4
managementNextHop: 1.2.3.5
advertiseViaOspfEnabled: false
preferOverOspfRoutesEnabled: false
summary: Return a layer 3 static route for a switch
tags:
- switch.configure
put:
description: Update a layer 3 static route for a switch
operationId: updateDeviceSwitchRoutingStaticRoute
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
- name: staticRouteId
in: path
description: Static route ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name or description for layer 3 static route
subnet:
type: string
description: The subnet which is routed via this static route and should be specified in CIDR notation (ex. 1.2.3.0/24)
nextHopIp:
type: string
description: IP address of the next hop device to which the device sends its traffic for the subnet
managementNextHop:
type: string
description: Optional fallback IP address for management traffic
advertiseViaOspfEnabled:
type: boolean
description: Option to advertise static route via OSPF
preferOverOspfRoutesEnabled:
type: boolean
description: Option to prefer static route over OSPF routes
example:
name: My route
subnet: 192.168.1.0/24
nextHopIp: 1.2.3.4
managementNextHop: 1.2.3.5
advertiseViaOspfEnabled: false
preferOverOspfRoutesEnabled: false
required: false
responses:
'201':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
staticRouteId:
type: string
description: The identifier of a layer 3 static route
name:
type: string
description: The name or description of the layer 3 static route
subnet:
type: string
description: The IP address of the subnetwork specified in CIDR notation (ex. 1.2.3.0/24)
nextHopIp:
type: string
description: The IP address of the router to which traffic for this destination network should be sent
managementNextHop:
type: string
description: Optional fallback IP address for management traffic
advertiseViaOspfEnabled:
type: boolean
description: Option to advertise static routes via OSPF
preferOverOspfRoutesEnabled:
type: boolean
description: Option to prefer static routes over OSPF routes
required:
- subnet
- nextHopIp
example:
staticRouteId: '1234'
name: My route
subnet: 192.168.1.0/24
nextHopIp: 1.2.3.4
managementNextHop: 1.2.3.5
advertiseViaOspfEnabled: false
preferOverOspfRoutesEnabled: false
summary: Update a layer 3 static route for a switch
tags:
- switch.configure
delete:
description: Delete a layer 3 static route for a switch
operationId: deleteDeviceSwitchRoutingStaticRoute
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
- name: staticRouteId
in: path
description: Static route ID
schema:
type: string
required: true
responses:
'204':
description: Successful operation
summary: Delete a layer 3 static route for a switch
tags:
- switch.configure
/devices/{serial}/switch/warmSpare:
get:
description: Return warm spare configuration for a switch
operationId: getDeviceSwitchWarmSpare
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
enabled:
type: boolean
description: Enable or disable warm spare for a switch
primarySerial:
type: string
description: Serial number of the primary switch
spareSerial:
type: string
description: Serial number of the warm spare switch
example:
enabled: true
primarySerial: Q234-ABCD-0001
spareSerial: Q234-ABCD-0002
summary: Return warm spare configuration for a switch
tags:
- switch.configure
put:
description: Update warm spare configuration for a switch. The spare will use the same L3 configuration as the primary. Note that this will irreversibly destroy any existing L3 configuration on the spare.
operationId: updateDeviceSwitchWarmSpare
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
enabled:
type: boolean
description: Enable or disable warm spare for a switch
spareSerial:
type: string
description: Serial number of the warm spare switch
example:
enabled: true
spareSerial: Q234-ABCD-0002
required:
- enabled
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
enabled:
type: boolean
description: Enable or disable warm spare for a switch
primarySerial:
type: string
description: Serial number of the primary switch
spareSerial:
type: string
description: Serial number of the warm spare switch
example:
enabled: true
primarySerial: Q234-ABCD-0001
spareSerial: Q234-ABCD-0002
summary: Update warm spare configuration for a switch
tags:
- switch.configure
/networks/{networkId}/switch/accessControlLists:
get:
description: Return the access control lists for a MS network
operationId: getNetworkSwitchAccessControlLists
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
rules:
type: array
items:
type: object
properties:
comment:
type: string
description: Description of the rule (optional)
policy:
type: string
enum:
- allow
- deny
description: '''allow'' or ''deny'' traffic specified by this rule'
ipVersion:
type: string
enum:
- any
- ipv4
- ipv6
description: IP address version
protocol:
type: string
enum:
- any
- tcp
- udp
description: The type of protocol
srcCidr:
type: string
description: Source IP address (in IP or CIDR notation)
srcPort:
type: string
description: Source port
dstCidr:
type: string
description: Destination IP address (in IP or CIDR notation)
dstPort:
type: string
description: Destination port
vlan:
type: string
description: ncoming traffic VLAN
description: An ordered array of the access control list rules
example:
rules:
- comment: Deny SSH
policy: deny
ipVersion: ipv4
protocol: tcp
srcCidr: 10.1.10.0/24
srcPort: any
dstCidr: 172.16.30/24
dstPort: '22'
vlan: '10'
summary: Return the access control lists for a MS network
tags:
- switch.configure
put:
description: Update the access control lists for a MS network
operationId: updateNetworkSwitchAccessControlLists
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
rules:
type: array
items:
type: object
properties:
comment:
type: string
description: Description of the rule (optional).
policy:
type: string
enum:
- allow
- deny
description: '''allow'' or ''deny'' traffic specified by this rule.'
ipVersion:
type: string
enum:
- any
- ipv4
- ipv6
description: IP address version (must be 'any', 'ipv4' or 'ipv6'). Applicable only if network supports IPv6. Default value is 'ipv4'.
protocol:
type: string
enum:
- any
- tcp
- udp
description: The type of protocol (must be 'tcp', 'udp', or 'any').
srcCidr:
type: string
description: Source IP address (in IP or CIDR notation) or 'any'.
srcPort:
type: string
description: Source port. Must be in the range of 1-65535 or 'any'. Default is 'any'.
dstCidr:
type: string
description: Destination IP address (in IP or CIDR notation) or 'any'.
dstPort:
type: string
description: Destination port. Must be in the range of 1-65535 or 'any'. Default is 'any'.
vlan:
type: string
description: Incoming traffic VLAN. Must be in the range of 1-4095 or 'any'. Default is 'any'.
required:
- policy
- protocol
- srcCidr
- dstCidr
description: An ordered array of the access control list rules (not including the default rule). An empty array will clear the rules.
example:
rules:
- comment: Deny SSH
policy: deny
ipVersion: ipv4
protocol: tcp
srcCidr: 10.1.10.0/24
srcPort: any
dstCidr: 172.16.30/24
dstPort: '22'
vlan: '10'
required:
- rules
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
rules:
type: array
items:
type: object
properties:
comment:
type: string
description: Description of the rule (optional)
policy:
type: string
enum:
- allow
- deny
description: '''allow'' or ''deny'' traffic specified by this rule'
ipVersion:
type: string
enum:
- any
- ipv4
- ipv6
description: IP address version
protocol:
type: string
enum:
- any
- tcp
- udp
description: The type of protocol
srcCidr:
type: string
description: Source IP address (in IP or CIDR notation)
srcPort:
type: string
description: Source port
dstCidr:
type: string
description: Destination IP address (in IP or CIDR notation)
dstPort:
type: string
description: Destination port
vlan:
type: string
description: ncoming traffic VLAN
description: An ordered array of the access control list rules
example:
rules:
- comment: Deny SSH
policy: deny
ipVersion: ipv4
protocol: tcp
srcCidr: 10.1.10.0/24
srcPort: any
dstCidr: 172.16.30/24
dstPort: '22'
vlan: '10'
summary: Update the access control lists for a MS network
tags:
- switch.configure
/networks/{networkId}/switch/accessPolicies:
get:
description: List the access policies for a switch network. Only returns access policies with 'my RADIUS server' as authentication method
operationId: getNetworkSwitchAccessPolicies
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
name:
type: string
description: Name of the access policy
radiusServers:
type: array
items:
type: object
properties:
serverId:
type: string
description: Unique ID of the RADIUS server
organizationRadiusServerId:
type: string
description: Organization wide RADIUS server ID. This value will be empty if this RADIUS server is not an organization wide RADIUS server
host:
type: string
description: Public IP address of the RADIUS server
port:
type: integer
description: UDP port that the RADIUS server listens on for access requests
description: List of RADIUS servers to require connecting devices to authenticate against before granting network access
radius:
type: object
properties:
criticalAuth:
type: object
properties:
dataVlanId:
type: integer
description: VLAN that clients who use data will be placed on when RADIUS authentication fails. Will be null if hostMode is Multi-Auth
voiceVlanId:
type: integer
description: VLAN that clients who use voice will be placed on when RADIUS authentication fails. Will be null if hostMode is Multi-Auth
suspendPortBounce:
type: boolean
description: Enable to suspend port bounce when RADIUS servers are unreachable
description: Critical auth settings for when authentication is rejected by the RADIUS server
failedAuthVlanId:
type: integer
description: VLAN that clients will be placed on when RADIUS authentication fails. Will be null if hostMode is Multi-Auth
reAuthenticationInterval:
type: integer
description: Re-authentication period in seconds. Will be null if hostMode is Multi-Auth
cache:
type: object
properties:
enabled:
type: boolean
description: Enable to cache authorization and authentication responses on the RADIUS server
timeout:
type: integer
description: If RADIUS caching is enabled, this value dictates how long the cache will remain in the RADIUS server, in hours, to allow network access without authentication
description: Object for RADIUS Cache Settings
description: Object for RADIUS Settings
guestPortBouncing:
type: boolean
description: If enabled, Meraki devices will periodically send access-request messages to these RADIUS servers
radiusTestingEnabled:
type: boolean
description: If enabled, Meraki devices will periodically send access-request messages to these RADIUS servers
radiusCoaSupportEnabled:
type: boolean
description: Change of authentication for RADIUS re-authentication and disconnection
radiusAccountingEnabled:
type: boolean
description: Enable to send start, interim-update and stop messages to a configured RADIUS accounting server for tracking connected clients
radiusAccountingServers:
type: array
items:
type: object
properties:
serverId:
type: string
description: Unique ID of the RADIUS accounting server
organizationRadiusServerId:
type: string
description: Organization wide RADIUS server ID. This value will be empty if this RADIUS server is not an organization wide RADIUS server
host:
type: string
description: Public IP address of the RADIUS accounting server
port:
type: integer
description: UDP port that the RADIUS Accounting server listens on for access requests
description: List of RADIUS accounting servers to require connecting devices to authenticate against before granting network access
radiusGroupAttribute:
type: string
description: Acceptable values are `""` for None, or `"11"` for Group Policies ACL
hostMode:
type: string
enum:
- Multi-Auth
- Multi-Domain
- Multi-Host
- Single-Host
description: Choose the Host Mode for the access policy.
accessPolicyType:
type: string
enum:
- 802.1x
- Hybrid authentication
- MAC authentication bypass
description: Access Type of the policy. Automatically 'Hybrid authentication' when hostMode is 'Multi-Domain'.
increaseAccessSpeed:
type: boolean
description: Enabling this option will make switches execute 802.1X and MAC-bypass authentication simultaneously so that clients authenticate faster. Only required when accessPolicyType is 'Hybrid Authentication.
guestVlanId:
type: integer
description: ID for the guest VLAN allow unauthorized devices access to limited network resources
dot1x:
type: object
properties:
controlDirection:
type: string
enum:
- both
- inbound
description: Supports either 'both' or 'inbound'. Set to 'inbound' to allow unauthorized egress on the switchport. Set to 'both' to control both traffic directions with authorization. Defaults to 'both'
description: 802.1x Settings
voiceVlanClients:
type: boolean
description: CDP/LLDP capable voice clients will be able to use this VLAN. Automatically true when hostMode is 'Multi-Domain'.
urlRedirectWalledGardenEnabled:
type: boolean
description: Enable to restrict access for clients to a response_objectific set of IP addresses or hostnames prior to authentication
urlRedirectWalledGardenRanges:
type: array
items:
type: string
description: IP address ranges, in CIDR notation, to restrict access for clients to a specific set of IP addresses or hostnames prior to authentication
counts:
type: object
properties:
ports:
type: object
properties:
withThisPolicy:
type: integer
description: Number of ports in the network with this policy. For template networks, this is the number of template ports (not child ports) with this policy.
description: Counts associated with ports
description: Counts associated with the access policy
example:
- name: 'Access policy #1'
radiusServers:
- serverId: '1'
organizationRadiusServerId: '42'
host: 1.2.3.4
port: 22
radius:
criticalAuth:
dataVlanId: 100
voiceVlanId: 100
suspendPortBounce: true
failedAuthVlanId: 100
reAuthenticationInterval: 120
cache:
enabled: false
timeout: 24
guestPortBouncing: false
radiusTestingEnabled: false
radiusCoaSupportEnabled: false
radiusAccountingEnabled: true
radiusAccountingServers:
- serverId: '2'
organizationRadiusServerId: '42'
host: 1.2.3.4
port: 22
radiusGroupAttribute: '11'
hostMode: Single-Host
accessPolicyType: Hybrid authentication
increaseAccessSpeed: false
guestVlanId: 100
dot1x:
controlDirection: inbound
voiceVlanClients: true
urlRedirectWalledGardenEnabled: true
urlRedirectWalledGardenRanges:
- 192.168.1.0/24
counts:
ports:
withThisPolicy: 12
summary: List the access policies for a switch network
tags:
- switch.configure
post:
description: Create an access policy for a switch network. If you would like to enable Meraki Authentication, set radiusServers to empty array.
operationId: createNetworkSwitchAccessPolicy
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name of the access policy
radiusServers:
type: array
items:
type: object
properties:
organizationRadiusServerId:
type: string
description: Organization wide RADIUS server ID. If this field is provided, the host, port and secret field will be ignored
host:
type: string
description: Public IP address of the RADIUS server
port:
type: integer
description: UDP port that the RADIUS server listens on for access requests
secret:
type: string
description: RADIUS client shared secret
description: List of RADIUS servers to require connecting devices to authenticate against before granting network access
radius:
type: object
properties:
criticalAuth:
type: object
properties:
dataVlanId:
type: integer
description: VLAN that clients who use data will be placed on when RADIUS authentication fails. Will be null if hostMode is Multi-Auth
voiceVlanId:
type: integer
description: VLAN that clients who use voice will be placed on when RADIUS authentication fails. Will be null if hostMode is Multi-Auth
suspendPortBounce:
type: boolean
description: Enable to suspend port bounce when RADIUS servers are unreachable
description: Critical auth settings for when authentication is rejected by the RADIUS server
failedAuthVlanId:
type: integer
description: VLAN that clients will be placed on when RADIUS authentication fails. Will be null if hostMode is Multi-Auth
reAuthenticationInterval:
type: integer
description: Re-authentication period in seconds. Will be null if hostMode is Multi-Auth
cache:
type: object
properties:
enabled:
type: boolean
description: Enable to cache authorization and authentication responses on the RADIUS server
timeout:
type: integer
description: If RADIUS caching is enabled, this value dictates how long the cache will remain in the RADIUS server, in hours, to allow network access without authentication
description: Object for RADIUS Cache Settings
description: Object for RADIUS Settings
guestPortBouncing:
type: boolean
description: If enabled, Meraki devices will periodically send access-request messages to these RADIUS servers
radiusTestingEnabled:
type: boolean
description: If enabled, Meraki devices will periodically send access-request messages to these RADIUS servers
radiusCoaSupportEnabled:
type: boolean
description: Change of authentication for RADIUS re-authentication and disconnection
radiusAccountingEnabled:
type: boolean
description: Enable to send start, interim-update and stop messages to a configured RADIUS accounting server for tracking connected clients
radiusAccountingServers:
type: array
items:
type: object
properties:
organizationRadiusServerId:
type: string
description: Organization wide RADIUS server ID. If this field is provided, the host, port and secret field will be ignored
host:
type: string
description: Public IP address of the RADIUS accounting server
port:
type: integer
description: UDP port that the RADIUS Accounting server listens on for access requests
secret:
type: string
description: RADIUS client shared secret
description: List of RADIUS accounting servers to require connecting devices to authenticate against before granting network access
radiusGroupAttribute:
type: string
description: Acceptable values are `""` for None, or `"11"` for Group Policies ACL
hostMode:
type: string
enum:
- Multi-Auth
- Multi-Domain
- Multi-Host
- Single-Host
description: Choose the Host Mode for the access policy.
accessPolicyType:
type: string
enum:
- 802.1x
- Hybrid authentication
- MAC authentication bypass
description: Access Type of the policy. Automatically 'Hybrid authentication' when hostMode is 'Multi-Domain'.
increaseAccessSpeed:
type: boolean
description: Enabling this option will make switches execute 802.1X and MAC-bypass authentication simultaneously so that clients authenticate faster. Only required when accessPolicyType is 'Hybrid Authentication.
guestVlanId:
type: integer
description: ID for the guest VLAN allow unauthorized devices access to limited network resources
dot1x:
type: object
properties:
controlDirection:
type: string
enum:
- both
- inbound
description: Supports either 'both' or 'inbound'. Set to 'inbound' to allow unauthorized egress on the switchport. Set to 'both' to control both traffic directions with authorization. Defaults to 'both'
description: 802.1x Settings
voiceVlanClients:
type: boolean
description: CDP/LLDP capable voice clients will be able to use this VLAN. Automatically true when hostMode is 'Multi-Domain'.
urlRedirectWalledGardenEnabled:
type: boolean
description: Enable to restrict access for clients to a specific set of IP addresses or hostnames prior to authentication
urlRedirectWalledGardenRanges:
type: array
items:
type: string
description: IP address ranges, in CIDR notation, to restrict access for clients to a specific set of IP addresses or hostnames prior to authentication
example:
name: 'Access policy #1'
radiusServers:
- organizationRadiusServerId: '42'
host: 1.2.3.4
port: 22
secret: secret
radius:
criticalAuth:
dataVlanId: 100
voiceVlanId: 100
suspendPortBounce: true
failedAuthVlanId: 100
reAuthenticationInterval: 120
cache:
enabled: false
timeout: 24
guestPortBouncing: false
radiusTestingEnabled: false
radiusCoaSupportEnabled: false
radiusAccountingEnabled: true
radiusAccountingServers:
- organizationRadiusServerId: '42'
host: 1.2.3.4
port: 22
secret: secret
radiusGroupAttribute: '11'
hostMode: Single-Host
accessPolicyType: Hybrid authentication
increaseAccessSpeed: false
guestVlanId: 100
dot1x:
controlDirection: inbound
voiceVlanClients: true
urlRedirectWalledGardenEnabled: true
urlRedirectWalledGardenRanges:
- 192.168.1.0/24
required:
- name
- radiusServers
- radiusTestingEnabled
- radiusCoaSupportEnabled
- radiusAccountingEnabled
- hostMode
- urlRedirectWalledGardenEnabled
required: true
responses:
'201':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name of the access policy
radiusServers:
type: array
items:
type: object
properties:
serverId:
type: string
description: Unique ID of the RADIUS server
organizationRadiusServerId:
type: string
description: Organization wide RADIUS server ID. This value will be empty if this RADIUS server is not an organization wide RADIUS server
host:
type: string
description: Public IP address of the RADIUS server
port:
type: integer
description: UDP port that the RADIUS server listens on for access requests
description: List of RADIUS servers to require connecting devices to authenticate against before granting network access
radius:
type: object
properties:
criticalAuth:
type: object
properties:
dataVlanId:
type: integer
description: VLAN that clients who use data will be placed on when RADIUS authentication fails. Will be null if hostMode is Multi-Auth
voiceVlanId:
type: integer
description: VLAN that clients who use voice will be placed on when RADIUS authentication fails. Will be null if hostMode is Multi-Auth
suspendPortBounce:
type: boolean
description: Enable to suspend port bounce when RADIUS servers are unreachable
description: Critical auth settings for when authentication is rejected by the RADIUS server
failedAuthVlanId:
type: integer
description: VLAN that clients will be placed on when RADIUS authentication fails. Will be null if hostMode is Multi-Auth
reAuthenticationInterval:
type: integer
description: Re-authentication period in seconds. Will be null if hostMode is Multi-Auth
cache:
type: object
properties:
enabled:
type: boolean
description: Enable to cache authorization and authentication responses on the RADIUS server
timeout:
type: integer
description: If RADIUS caching is enabled, this value dictates how long the cache will remain in the RADIUS server, in hours, to allow network access without authentication
description: Object for RADIUS Cache Settings
description: Object for RADIUS Settings
guestPortBouncing:
type: boolean
description: If enabled, Meraki devices will periodically send access-request messages to these RADIUS servers
radiusTestingEnabled:
type: boolean
description: If enabled, Meraki devices will periodically send access-request messages to these RADIUS servers
radiusCoaSupportEnabled:
type: boolean
description: Change of authentication for RADIUS re-authentication and disconnection
radiusAccountingEnabled:
type: boolean
description: Enable to send start, interim-update and stop messages to a configured RADIUS accounting server for tracking connected clients
radiusAccountingServers:
type: array
items:
type: object
properties:
serverId:
type: string
description: Unique ID of the RADIUS accounting server
organizationRadiusServerId:
type: string
description: Organization wide RADIUS server ID. This value will be empty if this RADIUS server is not an organization wide RADIUS server
host:
type: string
description: Public IP address of the RADIUS accounting server
port:
type: integer
description: UDP port that the RADIUS Accounting server listens on for access requests
description: List of RADIUS accounting servers to require connecting devices to authenticate against before granting network access
radiusGroupAttribute:
type: string
description: Acceptable values are `""` for None, or `"11"` for Group Policies ACL
hostMode:
type: string
enum:
- Multi-Auth
- Multi-Domain
- Multi-Host
- Single-Host
description: Choose the Host Mode for the access policy.
accessPolicyType:
type: string
enum:
- 802.1x
- Hybrid authentication
- MAC authentication bypass
description: Access Type of the policy. Automatically 'Hybrid authentication' when hostMode is 'Multi-Domain'.
increaseAccessSpeed:
type: boolean
description: Enabling this option will make switches execute 802.1X and MAC-bypass authentication simultaneously so that clients authenticate faster. Only required when accessPolicyType is 'Hybrid Authentication.
guestVlanId:
type: integer
description: ID for the guest VLAN allow unauthorized devices access to limited network resources
dot1x:
type: object
properties:
controlDirection:
type: string
enum:
- both
- inbound
description: Supports either 'both' or 'inbound'. Set to 'inbound' to allow unauthorized egress on the switchport. Set to 'both' to control both traffic directions with authorization. Defaults to 'both'
description: 802.1x Settings
voiceVlanClients:
type: boolean
description: CDP/LLDP capable voice clients will be able to use this VLAN. Automatically true when hostMode is 'Multi-Domain'.
urlRedirectWalledGardenEnabled:
type: boolean
description: Enable to restrict access for clients to a response_objectific set of IP addresses or hostnames prior to authentication
urlRedirectWalledGardenRanges:
type: array
items:
type: string
description: IP address ranges, in CIDR notation, to restrict access for clients to a specific set of IP addresses or hostnames prior to authentication
counts:
type: object
properties:
ports:
type: object
properties:
withThisPolicy:
type: integer
description: Number of ports in the network with this policy. For template networks, this is the number of template ports (not child ports) with this policy.
description: Counts associated with ports
description: Counts associated with the access policy
example:
name: 'Access policy #1'
radiusServers:
- serverId: '1'
organizationRadiusServerId: '42'
host: 1.2.3.4
port: 22
radius:
criticalAuth:
dataVlanId: 100
voiceVlanId: 100
suspendPortBounce: true
failedAuthVlanId: 100
reAuthenticationInterval: 120
cache:
enabled: false
timeout: 24
guestPortBouncing: false
radiusTestingEnabled: false
radiusCoaSupportEnabled: false
radiusAccountingEnabled: true
radiusAccountingServers:
- serverId: '2'
organizationRadiusServerId: '42'
host: 1.2.3.4
port: 22
radiusGroupAttribute: '11'
hostMode: Single-Host
accessPolicyType: Hybrid authentication
increaseAccessSpeed: false
guestVlanId: 100
dot1x:
controlDirection: inbound
voiceVlanClients: true
urlRedirectWalledGardenEnabled: true
urlRedirectWalledGardenRanges:
- 192.168.1.0/24
counts:
ports:
withThisPolicy: 12
summary: Create an access policy for a switch network
tags:
- switch.configure
/networks/{networkId}/switch/accessPolicies/{accessPolicyNumber}:
get:
description: Return a specific access policy for a switch network
operationId: getNetworkSwitchAccessPolicy
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: accessPolicyNumber
in: path
description: Access policy number
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name of the access policy
radiusServers:
type: array
items:
type: object
properties:
serverId:
type: string
description: Unique ID of the RADIUS server
organizationRadiusServerId:
type: string
description: Organization wide RADIUS server ID. This value will be empty if this RADIUS server is not an organization wide RADIUS server
host:
type: string
description: Public IP address of the RADIUS server
port:
type: integer
description: UDP port that the RADIUS server listens on for access requests
description: List of RADIUS servers to require connecting devices to authenticate against before granting network access
radius:
type: object
properties:
criticalAuth:
type: object
properties:
dataVlanId:
type: integer
description: VLAN that clients who use data will be placed on when RADIUS authentication fails. Will be null if hostMode is Multi-Auth
voiceVlanId:
type: integer
description: VLAN that clients who use voice will be placed on when RADIUS authentication fails. Will be null if hostMode is Multi-Auth
suspendPortBounce:
type: boolean
description: Enable to suspend port bounce when RADIUS servers are unreachable
description: Critical auth settings for when authentication is rejected by the RADIUS server
failedAuthVlanId:
type: integer
description: VLAN that clients will be placed on when RADIUS authentication fails. Will be null if hostMode is Multi-Auth
reAuthenticationInterval:
type: integer
description: Re-authentication period in seconds. Will be null if hostMode is Multi-Auth
cache:
type: object
properties:
enabled:
type: boolean
description: Enable to cache authorization and authentication responses on the RADIUS server
timeout:
type: integer
description: If RADIUS caching is enabled, this value dictates how long the cache will remain in the RADIUS server, in hours, to allow network access without authentication
description: Object for RADIUS Cache Settings
description: Object for RADIUS Settings
guestPortBouncing:
type: boolean
description: If enabled, Meraki devices will periodically send access-request messages to these RADIUS servers
radiusTestingEnabled:
type: boolean
description: If enabled, Meraki devices will periodically send access-request messages to these RADIUS servers
radiusCoaSupportEnabled:
type: boolean
description: Change of authentication for RADIUS re-authentication and disconnection
radiusAccountingEnabled:
type: boolean
description: Enable to send start, interim-update and stop messages to a configured RADIUS accounting server for tracking connected clients
radiusAccountingServers:
type: array
items:
type: object
properties:
serverId:
type: string
description: Unique ID of the RADIUS accounting server
organizationRadiusServerId:
type: string
description: Organization wide RADIUS server ID. This value will be empty if this RADIUS server is not an organization wide RADIUS server
host:
type: string
description: Public IP address of the RADIUS accounting server
port:
type: integer
description: UDP port that the RADIUS Accounting server listens on for access requests
description: List of RADIUS accounting servers to require connecting devices to authenticate against before granting network access
radiusGroupAttribute:
type: string
description: Acceptable values are `""` for None, or `"11"` for Group Policies ACL
hostMode:
type: string
enum:
- Multi-Auth
- Multi-Domain
- Multi-Host
- Single-Host
description: Choose the Host Mode for the access policy.
accessPolicyType:
type: string
enum:
- 802.1x
- Hybrid authentication
- MAC authentication bypass
description: Access Type of the policy. Automatically 'Hybrid authentication' when hostMode is 'Multi-Domain'.
increaseAccessSpeed:
type: boolean
description: Enabling this option will make switches execute 802.1X and MAC-bypass authentication simultaneously so that clients authenticate faster. Only required when accessPolicyType is 'Hybrid Authentication.
guestVlanId:
type: integer
description: ID for the guest VLAN allow unauthorized devices access to limited network resources
dot1x:
type: object
properties:
controlDirection:
type: string
enum:
- both
- inbound
description: Supports either 'both' or 'inbound'. Set to 'inbound' to allow unauthorized egress on the switchport. Set to 'both' to control both traffic directions with authorization. Defaults to 'both'
description: 802.1x Settings
voiceVlanClients:
type: boolean
description: CDP/LLDP capable voice clients will be able to use this VLAN. Automatically true when hostMode is 'Multi-Domain'.
urlRedirectWalledGardenEnabled:
type: boolean
description: Enable to restrict access for clients to a response_objectific set of IP addresses or hostnames prior to authentication
urlRedirectWalledGardenRanges:
type: array
items:
type: string
description: IP address ranges, in CIDR notation, to restrict access for clients to a specific set of IP addresses or hostnames prior to authentication
counts:
type: object
properties:
ports:
type: object
properties:
withThisPolicy:
type: integer
description: Number of ports in the network with this policy. For template networks, this is the number of template ports (not child ports) with this policy.
description: Counts associated with ports
description: Counts associated with the access policy
example:
name: 'Access policy #1'
radiusServers:
- serverId: '1'
organizationRadiusServerId: '42'
host: 1.2.3.4
port: 22
radius:
criticalAuth:
dataVlanId: 100
voiceVlanId: 100
suspendPortBounce: true
failedAuthVlanId: 100
reAuthenticationInterval: 120
cache:
enabled: false
timeout: 24
guestPortBouncing: false
radiusTestingEnabled: false
radiusCoaSupportEnabled: false
radiusAccountingEnabled: true
radiusAccountingServers:
- serverId: '2'
organizationRadiusServerId: '42'
host: 1.2.3.4
port: 22
radiusGroupAttribute: '11'
hostMode: Single-Host
accessPolicyType: Hybrid authentication
increaseAccessSpeed: false
guestVlanId: 100
dot1x:
controlDirection: inbound
voiceVlanClients: true
urlRedirectWalledGardenEnabled: true
urlRedirectWalledGardenRanges:
- 192.168.1.0/24
counts:
ports:
withThisPolicy: 12
summary: Return a specific access policy for a switch network
tags:
- switch.configure
put:
description: Update an access policy for a switch network. If you would like to enable Meraki Authentication, set radiusServers to empty array.
operationId: updateNetworkSwitchAccessPolicy
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: accessPolicyNumber
in: path
description: Access policy number
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name of the access policy
radiusServers:
type: array
items:
type: object
properties:
serverId:
type: string
description: Unique ID of the RADIUS server. When provided, the existing RADIUS server will be updated instead of creating a new one
organizationRadiusServerId:
type: string
description: Organization wide RADIUS server ID. If this field is provided, the host, port and secret field will be ignored
host:
type: string
description: Public IP address of the RADIUS server
port:
type: integer
description: UDP port that the RADIUS server listens on for access requests
secret:
type: string
description: RADIUS client shared secret
description: List of RADIUS servers to require connecting devices to authenticate against before granting network access
radius:
type: object
properties:
criticalAuth:
type: object
properties:
dataVlanId:
type: integer
description: VLAN that clients who use data will be placed on when RADIUS authentication fails. Will be null if hostMode is Multi-Auth
voiceVlanId:
type: integer
description: VLAN that clients who use voice will be placed on when RADIUS authentication fails. Will be null if hostMode is Multi-Auth
suspendPortBounce:
type: boolean
description: Enable to suspend port bounce when RADIUS servers are unreachable
description: Critical auth settings for when authentication is rejected by the RADIUS server
failedAuthVlanId:
type: integer
description: VLAN that clients will be placed on when RADIUS authentication fails. Will be null if hostMode is Multi-Auth
reAuthenticationInterval:
type: integer
description: Re-authentication period in seconds. Will be null if hostMode is Multi-Auth
cache:
type: object
properties:
enabled:
type: boolean
description: Enable to cache authorization and authentication responses on the RADIUS server
timeout:
type: integer
description: If RADIUS caching is enabled, this value dictates how long the cache will remain in the RADIUS server, in hours, to allow network access without authentication
description: Object for RADIUS Cache Settings
description: Object for RADIUS Settings
guestPortBouncing:
type: boolean
description: If enabled, Meraki devices will periodically send access-request messages to these RADIUS servers
radiusTestingEnabled:
type: boolean
description: If enabled, Meraki devices will periodically send access-request messages to these RADIUS servers
radiusCoaSupportEnabled:
type: boolean
description: Change of authentication for RADIUS re-authentication and disconnection
radiusAccountingEnabled:
type: boolean
description: Enable to send start, interim-update and stop messages to a configured RADIUS accounting server for tracking connected clients
radiusAccountingServers:
type: array
items:
type: object
properties:
serverId:
type: string
description: Unique ID of the RADIUS accounting server. When provided, the existing RADIUS server will be updated instead of creating a new one
organizationRadiusServerId:
type: string
description: Organization wide RADIUS server ID. If this field is provided, the host, port and secret field will be ignored
host:
type: string
description: Public IP address of the RADIUS accounting server
port:
type: integer
description: UDP port that the RADIUS Accounting server listens on for access requests
secret:
type: string
description: RADIUS client shared secret
description: List of RADIUS accounting servers to require connecting devices to authenticate against before granting network access
radiusGroupAttribute:
type: string
description: Acceptable values are `""` for None, or `"11"` for Group Policies ACL
hostMode:
type: string
enum:
- Multi-Auth
- Multi-Domain
- Multi-Host
- Single-Host
description: Choose the Host Mode for the access policy.
accessPolicyType:
type: string
enum:
- 802.1x
- Hybrid authentication
- MAC authentication bypass
description: Access Type of the policy. Automatically 'Hybrid authentication' when hostMode is 'Multi-Domain'.
increaseAccessSpeed:
type: boolean
description: Enabling this option will make switches execute 802.1X and MAC-bypass authentication simultaneously so that clients authenticate faster. Only required when accessPolicyType is 'Hybrid Authentication.
guestVlanId:
type: integer
description: ID for the guest VLAN allow unauthorized devices access to limited network resources
dot1x:
type: object
properties:
controlDirection:
type: string
enum:
- both
- inbound
description: Supports either 'both' or 'inbound'. Set to 'inbound' to allow unauthorized egress on the switchport. Set to 'both' to control both traffic directions with authorization. Defaults to 'both'
description: 802.1x Settings
voiceVlanClients:
type: boolean
description: CDP/LLDP capable voice clients will be able to use this VLAN. Automatically true when hostMode is 'Multi-Domain'.
urlRedirectWalledGardenEnabled:
type: boolean
description: Enable to restrict access for clients to a specific set of IP addresses or hostnames prior to authentication
urlRedirectWalledGardenRanges:
type: array
items:
type: string
description: IP address ranges, in CIDR notation, to restrict access for clients to a specific set of IP addresses or hostnames prior to authentication
example:
name: 'Access policy #1'
radiusServers:
- serverId: '1'
organizationRadiusServerId: '42'
host: 1.2.3.4
port: 22
secret: secret
radius:
criticalAuth:
dataVlanId: 100
voiceVlanId: 100
suspendPortBounce: true
failedAuthVlanId: 100
reAuthenticationInterval: 120
cache:
enabled: false
timeout: 24
guestPortBouncing: false
radiusTestingEnabled: false
radiusCoaSupportEnabled: false
radiusAccountingEnabled: true
radiusAccountingServers:
- serverId: '2'
organizationRadiusServerId: '42'
host: 1.2.3.4
port: 22
secret: secret
radiusGroupAttribute: '11'
hostMode: Single-Host
accessPolicyType: Hybrid authentication
increaseAccessSpeed: false
guestVlanId: 100
dot1x:
controlDirection: inbound
voiceVlanClients: true
urlRedirectWalledGardenEnabled: true
urlRedirectWalledGardenRanges:
- 192.168.1.0/24
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name of the access policy
radiusServers:
type: array
items:
type: object
properties:
serverId:
type: string
description: Unique ID of the RADIUS server
organizationRadiusServerId:
type: string
description: Organization wide RADIUS server ID. This value will be empty if this RADIUS server is not an organization wide RADIUS server
host:
type: string
description: Public IP address of the RADIUS server
port:
type: integer
description: UDP port that the RADIUS server listens on for access requests
description: List of RADIUS servers to require connecting devices to authenticate against before granting network access
radius:
type: object
properties:
criticalAuth:
type: object
properties:
dataVlanId:
type: integer
description: VLAN that clients who use data will be placed on when RADIUS authentication fails. Will be null if hostMode is Multi-Auth
voiceVlanId:
type: integer
description: VLAN that clients who use voice will be placed on when RADIUS authentication fails. Will be null if hostMode is Multi-Auth
suspendPortBounce:
type: boolean
description: Enable to suspend port bounce when RADIUS servers are unreachable
description: Critical auth settings for when authentication is rejected by the RADIUS server
failedAuthVlanId:
type: integer
description: VLAN that clients will be placed on when RADIUS authentication fails. Will be null if hostMode is Multi-Auth
reAuthenticationInterval:
type: integer
description: Re-authentication period in seconds. Will be null if hostMode is Multi-Auth
cache:
type: object
properties:
enabled:
type: boolean
description: Enable to cache authorization and authentication responses on the RADIUS server
timeout:
type: integer
description: If RADIUS caching is enabled, this value dictates how long the cache will remain in the RADIUS server, in hours, to allow network access without authentication
description: Object for RADIUS Cache Settings
description: Object for RADIUS Settings
guestPortBouncing:
type: boolean
description: If enabled, Meraki devices will periodically send access-request messages to these RADIUS servers
radiusTestingEnabled:
type: boolean
description: If enabled, Meraki devices will periodically send access-request messages to these RADIUS servers
radiusCoaSupportEnabled:
type: boolean
description: Change of authentication for RADIUS re-authentication and disconnection
radiusAccountingEnabled:
type: boolean
description: Enable to send start, interim-update and stop messages to a configured RADIUS accounting server for tracking connected clients
radiusAccountingServers:
type: array
items:
type: object
properties:
serverId:
type: string
description: Unique ID of the RADIUS accounting server
organizationRadiusServerId:
type: string
description: Organization wide RADIUS server ID. This value will be empty if this RADIUS server is not an organization wide RADIUS server
host:
type: string
description: Public IP address of the RADIUS accounting server
port:
type: integer
description: UDP port that the RADIUS Accounting server listens on for access requests
description: List of RADIUS accounting servers to require connecting devices to authenticate against before granting network access
radiusGroupAttribute:
type: string
description: Acceptable values are `""` for None, or `"11"` for Group Policies ACL
hostMode:
type: string
enum:
- Multi-Auth
- Multi-Domain
- Multi-Host
- Single-Host
description: Choose the Host Mode for the access policy.
accessPolicyType:
type: string
enum:
- 802.1x
- Hybrid authentication
- MAC authentication bypass
description: Access Type of the policy. Automatically 'Hybrid authentication' when hostMode is 'Multi-Domain'.
increaseAccessSpeed:
type: boolean
description: Enabling this option will make switches execute 802.1X and MAC-bypass authentication simultaneously so that clients authenticate faster. Only required when accessPolicyType is 'Hybrid Authentication.
guestVlanId:
type: integer
description: ID for the guest VLAN allow unauthorized devices access to limited network resources
dot1x:
type: object
properties:
controlDirection:
type: string
enum:
- both
- inbound
description: Supports either 'both' or 'inbound'. Set to 'inbound' to allow unauthorized egress on the switchport. Set to 'both' to control both traffic directions with authorization. Defaults to 'both'
description: 802.1x Settings
voiceVlanClients:
type: boolean
description: CDP/LLDP capable voice clients will be able to use this VLAN. Automatically true when hostMode is 'Multi-Domain'.
urlRedirectWalledGardenEnabled:
type: boolean
description: Enable to restrict access for clients to a response_objectific set of IP addresses or hostnames prior to authentication
urlRedirectWalledGardenRanges:
type: array
items:
type: string
description: IP address ranges, in CIDR notation, to restrict access for clients to a specific set of IP addresses or hostnames prior to authentication
counts:
type: object
properties:
ports:
type: object
properties:
withThisPolicy:
type: integer
description: Number of ports in the network with this policy. For template networks, this is the number of template ports (not child ports) with this policy.
description: Counts associated with ports
description: Counts associated with the access policy
example:
name: 'Access policy #1'
radiusServers:
- serverId: '1'
organizationRadiusServerId: '42'
host: 1.2.3.4
port: 22
radius:
criticalAuth:
dataVlanId: 100
voiceVlanId: 100
suspendPortBounce: true
failedAuthVlanId: 100
reAuthenticationInterval: 120
cache:
enabled: false
timeout: 24
guestPortBouncing: false
radiusTestingEnabled: false
radiusCoaSupportEnabled: false
radiusAccountingEnabled: true
radiusAccountingServers:
- serverId: '2'
organizationRadiusServerId: '42'
host: 1.2.3.4
port: 22
radiusGroupAttribute: '11'
hostMode: Single-Host
accessPolicyType: Hybrid authentication
increaseAccessSpeed: false
guestVlanId: 100
dot1x:
controlDirection: inbound
voiceVlanClients: true
urlRedirectWalledGardenEnabled: true
urlRedirectWalledGardenRanges:
- 192.168.1.0/24
counts:
ports:
withThisPolicy: 12
summary: Update an access policy for a switch network
tags:
- switch.configure
delete:
description: Delete an access policy for a switch network
operationId: deleteNetworkSwitchAccessPolicy
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: accessPolicyNumber
in: path
description: Access policy number
schema:
type: string
required: true
responses:
'204':
description: Successful operation
summary: Delete an access policy for a switch network
tags:
- switch.configure
/networks/{networkId}/switch/alternateManagementInterface:
get:
description: Return the switch alternate management interface for the network
operationId: getNetworkSwitchAlternateManagementInterface
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
enabled:
type: boolean
description: Boolean value to enable or disable AMI configuration. If enabled, VLAN and protocols must be set
vlanId:
type: integer
description: Alternate management VLAN, must be between 1 and 4094
protocols:
type: array
items:
type: string
description: 'Can be one or more of the following values: ''radius'', ''snmp'' or ''syslog'''
switches:
type: array
items:
type: object
properties:
serial:
type: string
description: Switch serial number
alternateManagementIp:
type: string
description: Switch alternative management IP. To remove a prior IP setting, provide an empty string
subnetMask:
type: string
description: Switch subnet mask must be in IP format. Only and must be specified for Polaris switches
gateway:
type: string
description: Switch gateway must be in IP format. Only and must be specified for Polaris switches
description: 'Array of switch serial number and IP assignment. If parameter is present, it cannot have empty body. Note: switches parameter is not applicable for template networks, in other words, do not put ''switches'' in the body when updating template networks. Also, an empty ''switches'' array will remove all previous assignments'
example:
enabled: true
vlanId: 100
protocols:
- radius
- snmp
- syslog
switches:
- serial: Q234-ABCD-5678
alternateManagementIp: 1.2.3.4
subnetMask: 255.255.255.0
gateway: 1.2.3.5
summary: Return the switch alternate management interface for the network
tags:
- switch.configure
put:
description: Update the switch alternate management interface for the network
operationId: updateNetworkSwitchAlternateManagementInterface
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
enabled:
type: boolean
description: Boolean value to enable or disable AMI configuration. If enabled, VLAN and protocols must be set
vlanId:
type: integer
description: Alternate management VLAN, must be between 1 and 4094
protocols:
type: array
items:
type: string
enum:
- radius
- snmp
- syslog
description: 'Can be one or more of the following values: ''radius'', ''snmp'' or ''syslog'''
switches:
type: array
items:
type: object
properties:
serial:
type: string
description: Switch serial number
alternateManagementIp:
type: string
description: Switch alternative management IP. To remove a prior IP setting, provide an empty string
subnetMask:
type: string
description: Switch subnet mask must be in IP format. Only and must be specified for Polaris switches
gateway:
type: string
description: Switch gateway must be in IP format. Only and must be specified for Polaris switches
required:
- serial
- alternateManagementIp
description: 'Array of switch serial number and IP assignment. If parameter is present, it cannot have empty body. Note: switches parameter is not applicable for template networks, in other words, do not put ''switches'' in the body when updating template networks. Also, an empty ''switches'' array will remove all previous assignments'
example:
enabled: true
vlanId: 100
protocols:
- radius
- snmp
- syslog
switches:
- serial: Q234-ABCD-5678
alternateManagementIp: 1.2.3.4
subnetMask: 255.255.255.0
gateway: 1.2.3.5
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
enabled:
type: boolean
description: Boolean value to enable or disable AMI configuration. If enabled, VLAN and protocols must be set
vlanId:
type: integer
description: Alternate management VLAN, must be between 1 and 4094
protocols:
type: array
items:
type: string
description: 'Can be one or more of the following values: ''radius'', ''snmp'' or ''syslog'''
switches:
type: array
items:
type: object
properties:
serial:
type: string
description: Switch serial number
alternateManagementIp:
type: string
description: Switch alternative management IP. To remove a prior IP setting, provide an empty string
subnetMask:
type: string
description: Switch subnet mask must be in IP format. Only and must be specified for Polaris switches
gateway:
type: string
description: Switch gateway must be in IP format. Only and must be specified for Polaris switches
description: 'Array of switch serial number and IP assignment. If parameter is present, it cannot have empty body. Note: switches parameter is not applicable for template networks, in other words, do not put ''switches'' in the body when updating template networks. Also, an empty ''switches'' array will remove all previous assignments'
example:
enabled: true
vlanId: 100
protocols:
- radius
- snmp
- syslog
switches:
- serial: Q234-ABCD-5678
alternateManagementIp: 1.2.3.4
subnetMask: 255.255.255.0
gateway: 1.2.3.5
summary: Update the switch alternate management interface for the network
tags:
- switch.configure
/networks/{networkId}/switch/dhcp/v4/servers/seen:
get:
description: Return the network's DHCPv4 servers seen within the selected timeframe (default 1 day)
operationId: getNetworkSwitchDhcpV4ServersSeen
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: t0
in: query
description: The beginning of the timespan for the data. The maximum lookback period is 31 days from today.
schema:
type: string
- name: timespan
in: query
description: The timespan for which the information will be fetched. If specifying timespan, do not specify parameter t0. The value must be in seconds and be less than or equal to 31 days. The default is 1 day.
schema:
type: number
format: float
maximum: 2678400
- name: perPage
in: query
description: The number of entries per page returned. Acceptable range is 3 - 1000. Default is 1000.
schema:
type: integer
- name: startingAfter
in: query
description: A token used by the server to indicate the start of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
schema:
type: string
- name: endingBefore
in: query
description: A token used by the server to indicate the end of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
mac:
type: string
description: Mac address of the server.
vlan:
type: integer
description: Vlan id of the server.
clientId:
type: string
description: Client id of the server if available.
isAllowed:
type: boolean
description: Whether the server is allowed or blocked. Always true for configured servers.
lastSeenAt:
type: string
format: date-time
description: Last time the server was seen.
seenBy:
type: array
items:
type: object
properties:
serial:
type: string
description: Device serial.
name:
type: string
description: Device name.
url:
type: string
description: Url link to device.
description: Devices that saw the server.
type:
type: string
enum:
- device
- discovered
- stack
description: server type. Can be a 'device', 'stack', or 'discovered' (i.e client).
device:
type: object
properties:
serial:
type: string
description: Device serial.
name:
type: string
description: Device name.
url:
type: string
description: Url link to device.
interface:
type: object
properties:
name:
type: string
description: Interface name.
url:
type: string
description: Url link to interface.
description: Interface attributes of the server. Only for configured servers.
description: Attributes of the server when it's a device.
ipv4:
type: object
properties:
address:
type: string
description: IPv4 address of the server.
subnet:
type: string
description: Subnet of the server.
gateway:
type: string
description: IPv4 gateway address of the server.
description: IPv4 attributes of the server.
isConfigured:
type: boolean
description: Whether the server is configured.
lastAck:
type: object
properties:
ts:
type: string
format: date-time
description: Last time the server was acked.
ipv4:
type: object
properties:
address:
type: string
description: IPv4 address of the last ack.
description: IPv4 attributes of the last ack.
description: Attributes of the server's last ack.
lastPacket:
type: object
properties:
source:
type: object
properties:
mac:
type: string
description: Source mac address of the packet.
ipv4:
type: object
properties:
address:
type: string
description: Source ipv4 address of the packet.
description: Source ipv4 attributes of the packet.
port:
type: integer
description: Source port of the packet.
description: Source of the packet.
destination:
type: object
properties:
mac:
type: string
description: Destination mac address of the packet.
ipv4:
type: object
properties:
address:
type: string
description: Destination ipv4 address of the packet.
description: Destination ipv4 attributes of the packet.
port:
type: integer
description: Destination port of the packet.
description: Destination of the packet.
type:
type: string
description: Packet type.
ethernet:
type: object
properties:
type:
type: string
description: Ethernet type of the packet.
description: Additional ethernet attributes of the packet.
ip:
type: object
properties:
id:
type: string
description: IP ID of the packet.
version:
type: integer
enum:
- 4
- 6
description: IP version of the packet.
length:
type: integer
description: IP length of the packet.
headerLength:
type: integer
description: IP header length of the packet.
protocol:
type: integer
description: IP protocol number of the packet.
ttl:
type: integer
description: Time to live of the packet.
dscp:
type: object
properties:
tag:
type: integer
description: DSCP tag number of the packet.
ecn:
type: integer
description: ECN number of the packet.
description: DSCP attributes of the packet.
description: Additional IP attributes of the packet.
udp:
type: object
properties:
length:
type: integer
description: UDP length of the packet.
checksum:
type: string
description: UDP checksum of the packet.
description: UDP attributes of the packet.
fields:
type: object
properties:
op:
type: integer
description: Operation code of the packet.
htype:
type: integer
description: Hardware type code of the packet.
hlen:
type: integer
description: Hardware length of the packet.
hops:
type: integer
description: Number of hops the packet took.
xid:
type: string
description: Transaction id of the packet.
secs:
type: integer
description: Number of seconds since receiving the packet.
flags:
type: string
description: Packet flags.
ciaddr:
type: string
description: Client IP address of the packet.
yiaddr:
type: string
description: Assigned IP address of the packet.
siaddr:
type: string
description: Server IP address of the packet.
giaddr:
type: string
description: Gateway IP address of the packet.
chaddr:
type: string
description: Client hardware address of the packet.
sname:
type: string
description: Server identifier address of the packet.
magicCookie:
type: string
description: Magic cookie of the packet.
options:
type: array
items:
type: object
properties:
name:
type: string
description: Option name.
value:
type: string
description: Option value.
description: Additional DHCP options of the packet.
description: DHCP-specific fields of the packet.
description: Last packet the server received.
example:
- mac: 00:11:22:33:44:55
vlan: 100
clientId: k74272e
isAllowed: true
lastSeenAt: '2018-02-11T00:00:00.090210Z'
seenBy:
- serial: Q234-ABCD-0001
name: My switch2
url: https://n1.meraki.com//n//manage/nodes/new_list/0000000000001
type: device
device:
serial: Q234-ABCD-0002
name: My AP
url: https://n1.meraki.com//n//manage/nodes/new_list/000000000000
interface:
name: My L3 Interface
url: https://n1.meraki.com//n//manage/configure/switch_l3/l3_interface/00000
ipv4:
address: 10.0.0.0/24
subnet: 192.168.1.0/24
gateway: 1.2.3.5
isConfigured: true
lastAck:
ts: '2018-02-11T00:00:00.090210Z'
ipv4:
address: 123.123.123.1
lastPacket:
source:
mac: 00:11:22:33:44:55
ipv4:
address: 1.2.3.4
port: 443
destination:
mac: 22:33:44:55:66:77
ipv4:
address: 123.123.123.1
port: 444
type: ACK
ethernet:
type: '0x1212'
ip:
id: '0x1313'
version: 4
length: 24929
headerLength: 1
protocol: 1
ttl: 50
dscp:
tag: 24
ecn: 1
udp:
length: 24929
checksum: '0x1414'
fields:
op: 1
htype: 1
hlen: 6
hops: 0
xid: '0x11111111'
secs: 1526087474
flags: '0x0000'
ciaddr: 1.2.3.4
yiaddr: 123.123.123.1
siaddr: 1.2.3.4
giaddr: 1.2.3.5
chaddr: abcdefghijkl
sname: 1.2.3.4
magicCookie: '0x22222222'
options:
- name: Lease time
value: 86400 seconds
headers:
Link:
schema:
type: string
description: A comma-separated list of first, last, prev, and next relative links used for subsequent paginated requests.
summary: Return the network's DHCPv4 servers seen within the selected timeframe (default 1 day)
tags:
- switch.configure
/networks/{networkId}/switch/dhcpServerPolicy:
get:
description: Return the DHCP server settings. Blocked/allowed servers are only applied when default policy is allow/block, respectively
operationId: getNetworkSwitchDhcpServerPolicy
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
alerts:
type: object
properties:
email:
type: object
properties:
enabled:
type: boolean
description: When enabled, send an email if a new DHCP server is seen. Default value is false.
description: Alert settings for DHCP servers
description: Email alert settings for DHCP servers
defaultPolicy:
type: string
enum:
- allow
- block
description: '''allow'' or ''block'' new DHCP servers. Default value is ''allow''.'
blockedServers:
type: array
items:
type: string
description: "List the MAC addresses of DHCP servers to block on the network when defaultPolicy is set\n to allow.An empty array will clear the entries."
allowedServers:
type: array
items:
type: string
description: "List the MAC addresses of DHCP servers to permit on the network when defaultPolicy is set\n to block.An empty array will clear the entries."
arpInspection:
type: object
properties:
enabled:
type: boolean
description: Enable or disable Dynamic ARP Inspection on the network. Default value is false.
unsupportedModels:
type: array
items:
type: string
description: List of switch models that does not support dynamic ARP inspection
description: Dynamic ARP Inspection settings
example:
alerts:
email:
enabled: true
defaultPolicy: block
blockedServers:
- 00:50:56:00:00:03
- 00:50:56:00:00:04
allowedServers:
- 00:50:56:00:00:01
- 00:50:56:00:00:02
arpInspection:
enabled: true
unsupportedModels:
- MS120-8
- MS125-24
summary: Return the DHCP server settings
tags:
- switch.configure
put:
description: Update the DHCP server settings. Blocked/allowed servers are only applied when default policy is allow/block, respectively
operationId: updateNetworkSwitchDhcpServerPolicy
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
alerts:
type: object
properties:
email:
type: object
properties:
enabled:
type: boolean
description: When enabled, send an email if a new DHCP server is seen. Default value is false.
description: Email alert settings for DHCP servers
description: Alert settings for DHCP servers
defaultPolicy:
type: string
enum:
- allow
- block
description: '''allow'' or ''block'' new DHCP servers. Default value is ''allow''.'
allowedServers:
type: array
items:
type: string
description: List the MAC addresses of DHCP servers to permit on the network when defaultPolicy is set to block. An empty array will clear the entries.
blockedServers:
type: array
items:
type: string
description: List the MAC addresses of DHCP servers to block on the network when defaultPolicy is set to allow. An empty array will clear the entries.
arpInspection:
type: object
properties:
enabled:
type: boolean
description: Enable or disable Dynamic ARP Inspection on the network. Default value is false.
description: Dynamic ARP Inspection settings
example:
alerts:
email:
enabled: true
defaultPolicy: block
blockedServers:
- 00:50:56:00:00:03
- 00:50:56:00:00:04
allowedServers:
- 00:50:56:00:00:01
- 00:50:56:00:00:02
arpInspection:
enabled: true
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
alerts:
type: object
properties:
email:
type: object
properties:
enabled:
type: boolean
description: When enabled, send an email if a new DHCP server is seen. Default value is false.
description: Alert settings for DHCP servers
description: Email alert settings for DHCP servers
defaultPolicy:
type: string
enum:
- allow
- block
description: '''allow'' or ''block'' new DHCP servers. Default value is ''allow''.'
blockedServers:
type: array
items:
type: string
description: "List the MAC addresses of DHCP servers to block on the network when defaultPolicy is set\n to allow.An empty array will clear the entries."
allowedServers:
type: array
items:
type: string
description: "List the MAC addresses of DHCP servers to permit on the network when defaultPolicy is set\n to block.An empty array will clear the entries."
arpInspection:
type: object
properties:
enabled:
type: boolean
description: Enable or disable Dynamic ARP Inspection on the network. Default value is false.
unsupportedModels:
type: array
items:
type: string
description: List of switch models that does not support dynamic ARP inspection
description: Dynamic ARP Inspection settings
example:
alerts:
email:
enabled: true
defaultPolicy: block
blockedServers:
- 00:50:56:00:00:03
- 00:50:56:00:00:04
allowedServers:
- 00:50:56:00:00:01
- 00:50:56:00:00:02
arpInspection:
enabled: true
unsupportedModels:
- MS120-8
- MS125-24
summary: Update the DHCP server settings
tags:
- switch.configure
/networks/{networkId}/switch/dhcpServerPolicy/arpInspection/trustedServers:
get:
description: Return the list of servers trusted by Dynamic ARP Inspection on this network. These are also known as allow listed snoop entries
operationId: getNetworkSwitchDhcpServerPolicyArpInspectionTrustedServers
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: perPage
in: query
description: The number of entries per page returned. Acceptable range is 3 - 1000. Default is 1000.
schema:
type: integer
- name: startingAfter
in: query
description: A token used by the server to indicate the start of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
schema:
type: string
- name: endingBefore
in: query
description: A token used by the server to indicate the end of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
trustedServerId:
type: string
description: ID of the trusted server.
mac:
type: string
description: Mac address of the trusted server.
vlan:
type: integer
description: Vlan ID of the trusted server.
ipv4:
type: object
properties:
address:
type: string
description: IPv4 address of the trusted server.
description: IPv4 attributes of the trusted server.
example:
- trustedServerId: '123'
mac: 00:11:22:33:44:55
vlan: 100
ipv4:
address: 1.2.3.4
headers:
Link:
schema:
type: string
description: A comma-separated list of first, last, prev, and next relative links used for subsequent paginated requests.
summary: Return the list of servers trusted by Dynamic ARP Inspection on this network
tags:
- switch.configure
post:
description: Add a server to be trusted by Dynamic ARP Inspection on this network
operationId: createNetworkSwitchDhcpServerPolicyArpInspectionTrustedServer
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
mac:
type: string
description: The mac address of the trusted server being added
vlan:
type: integer
description: The VLAN of the trusted server being added. It must be between 1 and 4094
ipv4:
type: object
properties:
address:
type: string
description: The IPv4 address of the trusted server being added
description: The IPv4 attributes of the trusted server being added
example:
mac: 00:11:22:33:44:55
vlan: 100
ipv4:
address: 1.2.3.4
required:
- mac
- vlan
- ipv4
required: true
responses:
'201':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
trustedServerId:
type: string
description: ID of the trusted server.
mac:
type: string
description: Mac address of the trusted server.
vlan:
type: integer
description: Vlan ID of the trusted server.
ipv4:
type: object
properties:
address:
type: string
description: IPv4 address of the trusted server.
description: IPv4 attributes of the trusted server.
example:
trustedServerId: '123'
mac: 00:11:22:33:44:55
vlan: 100
ipv4:
address: 1.2.3.4
summary: Add a server to be trusted by Dynamic ARP Inspection on this network
tags:
- switch.configure
/networks/{networkId}/switch/dhcpServerPolicy/arpInspection/trustedServers/{trustedServerId}:
put:
description: Update a server that is trusted by Dynamic ARP Inspection on this network
operationId: updateNetworkSwitchDhcpServerPolicyArpInspectionTrustedServer
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: trustedServerId
in: path
description: Trusted server ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
mac:
type: string
description: The updated mac address of the trusted server
vlan:
type: integer
description: The updated VLAN of the trusted server. It must be between 1 and 4094
ipv4:
type: object
properties:
address:
type: string
description: The updated IPv4 address of the trusted server
description: The updated IPv4 attributes of the trusted server
example:
mac: 00:11:22:33:44:55
vlan: 100
ipv4:
address: 1.2.3.4
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
trustedServerId:
type: string
description: ID of the trusted server.
mac:
type: string
description: Mac address of the trusted server.
vlan:
type: integer
description: Vlan ID of the trusted server.
ipv4:
type: object
properties:
address:
type: string
description: IPv4 address of the trusted server.
description: IPv4 attributes of the trusted server.
example:
trustedServerId: '123'
mac: 00:11:22:33:44:55
vlan: 100
ipv4:
address: 1.2.3.4
summary: Update a server that is trusted by Dynamic ARP Inspection on this network
tags:
- switch.configure
delete:
description: Remove a server from being trusted by Dynamic ARP Inspection on this network
operationId: deleteNetworkSwitchDhcpServerPolicyArpInspectionTrustedServer
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: trustedServerId
in: path
description: Trusted server ID
schema:
type: string
required: true
responses:
'204':
description: Successful operation
summary: Remove a server from being trusted by Dynamic ARP Inspection on this network
tags:
- switch.configure
/networks/{networkId}/switch/dhcpServerPolicy/arpInspection/warnings/byDevice:
get:
description: Return the devices that have a Dynamic ARP Inspection warning and their warnings
operationId: getNetworkSwitchDhcpServerPolicyArpInspectionWarningsByDevice
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: perPage
in: query
description: The number of entries per page returned. Acceptable range is 3 - 1000. Default is 1000.
schema:
type: integer
- name: startingAfter
in: query
description: A token used by the server to indicate the start of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
schema:
type: string
- name: endingBefore
in: query
description: A token used by the server to indicate the end of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
serial:
type: string
description: Switch serial.
name:
type: string
description: Switch name.
url:
type: string
description: Url link to switch.
supportsInspection:
type: boolean
description: Whether this switch supports Dynamic ARP Inspection.
hasTrustedPort:
type: boolean
description: Whether this switch has a trusted DAI port. Always false if supportsInspection is false.
example:
- serial: Q234-ABCD-0001
name: My switch
url: https://n1.meraki.com//n//manage/nodes/new_list/000000000000
supportsInspection: false
hasTrustedPort: false
headers:
Link:
schema:
type: string
description: A comma-separated list of first, last, prev, and next relative links used for subsequent paginated requests.
summary: Return the devices that have a Dynamic ARP Inspection warning and their warnings
tags:
- switch.configure
/networks/{networkId}/switch/dscpToCosMappings:
get:
description: Return the DSCP to CoS mappings
operationId: getNetworkSwitchDscpToCosMappings
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
mappings:
type: array
items:
type: object
properties:
dscp:
type: integer
description: The Differentiated Services Code Point (DSCP) tag in the IP header that will be mapped to a particular Class-of-Service (CoS) queue. Value can be in the range of 0 to 63 inclusive.
cos:
type: integer
description: The actual layer-2 CoS queue the DSCP value is mapped to. These are not bits set on outgoing frames. Value can be in the range of 0 to 5 inclusive.
title:
type: string
description: Label for the mapping (optional).
description: An array of DSCP to CoS mappings. An empty array will reset the mappings to default.
example:
mappings:
- dscp: 1
cos: 1
title: Video
summary: Return the DSCP to CoS mappings
tags:
- switch.configure
put:
description: Update the DSCP to CoS mappings
operationId: updateNetworkSwitchDscpToCosMappings
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
mappings:
type: array
items:
type: object
properties:
dscp:
type: integer
description: The Differentiated Services Code Point (DSCP) tag in the IP header that will be mapped to a particular Class-of-Service (CoS) queue. Value can be in the range of 0 to 63 inclusive.
cos:
type: integer
description: The actual layer-2 CoS queue the DSCP value is mapped to. These are not bits set on outgoing frames. Value can be in the range of 0 to 5 inclusive.
title:
type: string
description: Label for the mapping (optional).
required:
- dscp
- cos
description: An array of DSCP to CoS mappings. An empty array will reset the mappings to default.
example:
mappings:
- dscp: 1
cos: 1
title: Video
required:
- mappings
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
mappings:
type: array
items:
type: object
properties:
dscp:
type: integer
description: The Differentiated Services Code Point (DSCP) tag in the IP header that will be mapped to a particular Class-of-Service (CoS) queue. Value can be in the range of 0 to 63 inclusive.
cos:
type: integer
description: The actual layer-2 CoS queue the DSCP value is mapped to. These are not bits set on outgoing frames. Value can be in the range of 0 to 5 inclusive.
title:
type: string
description: Label for the mapping (optional).
description: An array of DSCP to CoS mappings. An empty array will reset the mappings to default.
example:
mappings:
- dscp: 1
cos: 1
title: Video
summary: Update the DSCP to CoS mappings
tags:
- switch.configure
/networks/{networkId}/switch/linkAggregations:
get:
description: List link aggregation groups
operationId: getNetworkSwitchLinkAggregations
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: string
description: The ID for the link aggregation.
switchPorts:
type: array
items:
type: object
properties:
serial:
type: string
description: The serial number for the switch port.
portId:
type: string
description: The ID for the switch port.
description: The ID for the link aggregation.
example:
- id: NDU2N18yXzM=
switchPorts:
- serial: Q234-ABCD-0001
portId: '1'
summary: List link aggregation groups
tags:
- switch.configure
post:
description: Create a link aggregation group
operationId: createNetworkSwitchLinkAggregation
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
switchPorts:
type: array
items:
type: object
properties:
serial:
type: string
description: Serial number of the switch.
portId:
type: string
description: 'Port identifier of switch port. For modules, the identifier is "SlotNumber_ModuleType_PortNumber" (Ex: "1_8X10G_1"), otherwise it is just the port number (Ex: "8").'
required:
- serial
- portId
description: Array of switch or stack ports for creating aggregation group. Minimum 2 and maximum 8 ports are supported.
switchProfilePorts:
type: array
items:
type: object
properties:
profile:
type: string
description: Profile identifier.
portId:
type: string
description: 'Port identifier of switch port. For modules, the identifier is "SlotNumber_ModuleType_PortNumber" (Ex: "1_8X10G_1"), otherwise it is just the port number (Ex: "8").'
required:
- profile
- portId
description: Array of switch profile ports for creating aggregation group. Minimum 2 and maximum 8 ports are supported.
example:
switchPorts:
- serial: Q234-ABCD-0001
portId: '1'
switchProfilePorts:
- profile: '1234'
portId: '2'
required: false
responses:
'201':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: The ID for the link aggregation.
switchPorts:
type: array
items:
type: object
properties:
serial:
type: string
description: The serial number for the switch port.
portId:
type: string
description: The ID for the switch port.
description: The ID for the link aggregation.
example:
id: NDU2N18yXzM=
switchPorts:
- serial: Q234-ABCD-0001
portId: '1'
summary: Create a link aggregation group
tags:
- switch.configure
/networks/{networkId}/switch/linkAggregations/{linkAggregationId}:
put:
description: Update a link aggregation group
operationId: updateNetworkSwitchLinkAggregation
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: linkAggregationId
in: path
description: Link aggregation ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
switchPorts:
type: array
items:
type: object
properties:
serial:
type: string
description: Serial number of the switch.
portId:
type: string
description: 'Port identifier of switch port. For modules, the identifier is "SlotNumber_ModuleType_PortNumber" (Ex: "1_8X10G_1"), otherwise it is just the port number (Ex: "8").'
required:
- serial
- portId
description: Array of switch or stack ports for updating aggregation group. Minimum 2 and maximum 8 ports are supported.
switchProfilePorts:
type: array
items:
type: object
properties:
profile:
type: string
description: Profile identifier.
portId:
type: string
description: 'Port identifier of switch port. For modules, the identifier is "SlotNumber_ModuleType_PortNumber" (Ex: "1_8X10G_1"), otherwise it is just the port number (Ex: "8").'
required:
- profile
- portId
description: Array of switch profile ports for updating aggregation group. Minimum 2 and maximum 8 ports are supported.
example:
switchPorts:
- serial: Q234-ABCD-0001
portId: '1'
switchProfilePorts:
- profile: '1234'
portId: '2'
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: The ID for the link aggregation.
switchPorts:
type: array
items:
type: object
properties:
serial:
type: string
description: The serial number for the switch port.
portId:
type: string
description: The ID for the switch port.
description: The ID for the link aggregation.
example:
id: NDU2N18yXzM=
switchPorts:
- serial: Q234-ABCD-0001
portId: '1'
summary: Update a link aggregation group
tags:
- switch.configure
delete:
description: Split a link aggregation group into separate ports
operationId: deleteNetworkSwitchLinkAggregation
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: linkAggregationId
in: path
description: Link aggregation ID
schema:
type: string
required: true
responses:
'204':
description: Successful operation
summary: Split a link aggregation group into separate ports
tags:
- switch.configure
/networks/{networkId}/switch/mtu:
get:
description: Return the MTU configuration
operationId: getNetworkSwitchMtu
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
defaultMtuSize:
type: integer
description: MTU size for the entire network. Default value is 9578.
overrides:
type: array
items:
type: object
properties:
switches:
type: array
items:
type: string
description: List of switch serials. Applicable only for switch network.
switchProfiles:
type: array
items:
type: string
description: List of switch template IDs. Applicable only for template network.
mtuSize:
type: integer
description: MTU size for the switches or switch templates.
required:
- mtuSize
description: "Override MTU size for individual switches or switch templates.\n An empty array will clear overrides."
example:
defaultMtuSize: 9578
overrides:
- switches:
- Q234-ABCD-0001
- Q234-ABCD-0002
- Q234-ABCD-0003
switchProfiles:
- '1284392014819'
- '2983092129865'
mtuSize: 1500
summary: Return the MTU configuration
tags:
- switch.configure
put:
description: Update the MTU configuration
operationId: updateNetworkSwitchMtu
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
defaultMtuSize:
type: integer
description: MTU size for the entire network. Default value is 9578.
overrides:
type: array
items:
type: object
properties:
switches:
type: array
items:
type: string
description: List of switch serials. Applicable only for switch network.
switchProfiles:
type: array
items:
type: string
description: List of switch template IDs. Applicable only for template network.
mtuSize:
type: integer
description: MTU size for the switches or switch templates.
required:
- mtuSize
description: Override MTU size for individual switches or switch templates. An empty array will clear overrides.
example:
defaultMtuSize: 9578
overrides:
- switches:
- Q234-ABCD-0001
- Q234-ABCD-0002
- Q234-ABCD-0003
switchProfiles:
- '1284392014819'
- '2983092129865'
mtuSize: 1500
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
defaultMtuSize:
type: integer
description: MTU size for the entire network. Default value is 9578.
overrides:
type: array
items:
type: object
properties:
switches:
type: array
items:
type: string
description: List of switch serials. Applicable only for switch network.
switchProfiles:
type: array
items:
type: string
description: List of switch template IDs. Applicable only for template network.
mtuSize:
type: integer
description: MTU size for the switches or switch templates.
required:
- mtuSize
description: "Override MTU size for individual switches or switch templates.\n An empty array will clear overrides."
example:
defaultMtuSize: 9578
overrides:
- switches:
- Q234-ABCD-0001
- Q234-ABCD-0002
- Q234-ABCD-0003
switchProfiles:
- '1284392014819'
- '2983092129865'
mtuSize: 1500
summary: Update the MTU configuration
tags:
- switch.configure
/networks/{networkId}/switch/portSchedules:
get:
description: List switch port schedules
operationId: getNetworkSwitchPortSchedules
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: string
description: Switch port schedule ID
networkId:
type: string
description: Network ID
name:
type: string
description: Switch port schedule name
portSchedule:
type: object
properties:
monday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active or inactive
from:
type: string
description: The time, from '00:00' to '24:00'
to:
type: string
description: The time, from '00:00' to '24:00'
description: Monday schedule
tuesday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active or inactive
from:
type: string
description: The time, from '00:00' to '24:00'
to:
type: string
description: The time, from '00:00' to '24:00'
description: Tuesday schedule
wednesday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active or inactive
from:
type: string
description: The time, from '00:00' to '24:00'
to:
type: string
description: The time, from '00:00' to '24:00'
description: Wednesday schedule
thursday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active or inactive
from:
type: string
description: The time, from '00:00' to '24:00'
to:
type: string
description: The time, from '00:00' to '24:00'
description: Thursday schedule
friday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active or inactive
from:
type: string
description: The time, from '00:00' to '24:00'
to:
type: string
description: The time, from '00:00' to '24:00'
description: Friday schedule
saturday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active or inactive
from:
type: string
description: The time, from '00:00' to '24:00'
to:
type: string
description: The time, from '00:00' to '24:00'
description: Saturday schedule
sunday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active or inactive
from:
type: string
description: The time, from '00:00' to '24:00'
to:
type: string
description: The time, from '00:00' to '24:00'
description: Sunday schedule
description: Port schedule
example:
- id: '1234'
networkId: N_24329156
name: Weekdays schedule
portSchedule:
monday:
active: true
from: '9:00'
to: '17:00'
tuesday:
active: true
from: '9:00'
to: '17:00'
wednesday:
active: true
from: '9:00'
to: '17:00'
thursday:
active: true
from: '9:00'
to: '17:00'
friday:
active: true
from: '9:00'
to: '17:00'
saturday:
active: false
from: 0:00
to: '24:00'
sunday:
active: false
from: 0:00
to: '24:00'
summary: List switch port schedules
tags:
- switch.configure
post:
description: Add a switch port schedule
operationId: createNetworkSwitchPortSchedule
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: The name for your port schedule. Required
portSchedule:
type: object
properties:
monday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active (true) or inactive (false) during the time specified between 'from' and 'to'. Defaults to true.
from:
type: string
description: The time, from '00:00' to '24:00'. Must be less than the time specified in 'to'. Defaults to '00:00'. Only 30 minute increments are allowed.
to:
type: string
description: The time, from '00:00' to '24:00'. Must be greater than the time specified in 'from'. Defaults to '24:00'. Only 30 minute increments are allowed.
description: The schedule object for Monday.
tuesday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active (true) or inactive (false) during the time specified between 'from' and 'to'. Defaults to true.
from:
type: string
description: The time, from '00:00' to '24:00'. Must be less than the time specified in 'to'. Defaults to '00:00'. Only 30 minute increments are allowed.
to:
type: string
description: The time, from '00:00' to '24:00'. Must be greater than the time specified in 'from'. Defaults to '24:00'. Only 30 minute increments are allowed.
description: The schedule object for Tuesday.
wednesday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active (true) or inactive (false) during the time specified between 'from' and 'to'. Defaults to true.
from:
type: string
description: The time, from '00:00' to '24:00'. Must be less than the time specified in 'to'. Defaults to '00:00'. Only 30 minute increments are allowed.
to:
type: string
description: The time, from '00:00' to '24:00'. Must be greater than the time specified in 'from'. Defaults to '24:00'. Only 30 minute increments are allowed.
description: The schedule object for Wednesday.
thursday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active (true) or inactive (false) during the time specified between 'from' and 'to'. Defaults to true.
from:
type: string
description: The time, from '00:00' to '24:00'. Must be less than the time specified in 'to'. Defaults to '00:00'. Only 30 minute increments are allowed.
to:
type: string
description: The time, from '00:00' to '24:00'. Must be greater than the time specified in 'from'. Defaults to '24:00'. Only 30 minute increments are allowed.
description: The schedule object for Thursday.
friday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active (true) or inactive (false) during the time specified between 'from' and 'to'. Defaults to true.
from:
type: string
description: The time, from '00:00' to '24:00'. Must be less than the time specified in 'to'. Defaults to '00:00'. Only 30 minute increments are allowed.
to:
type: string
description: The time, from '00:00' to '24:00'. Must be greater than the time specified in 'from'. Defaults to '24:00'. Only 30 minute increments are allowed.
description: The schedule object for Friday.
saturday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active (true) or inactive (false) during the time specified between 'from' and 'to'. Defaults to true.
from:
type: string
description: The time, from '00:00' to '24:00'. Must be less than the time specified in 'to'. Defaults to '00:00'. Only 30 minute increments are allowed.
to:
type: string
description: The time, from '00:00' to '24:00'. Must be greater than the time specified in 'from'. Defaults to '24:00'. Only 30 minute increments are allowed.
description: The schedule object for Saturday.
sunday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active (true) or inactive (false) during the time specified between 'from' and 'to'. Defaults to true.
from:
type: string
description: The time, from '00:00' to '24:00'. Must be less than the time specified in 'to'. Defaults to '00:00'. Only 30 minute increments are allowed.
to:
type: string
description: The time, from '00:00' to '24:00'. Must be greater than the time specified in 'from'. Defaults to '24:00'. Only 30 minute increments are allowed.
description: The schedule object for Sunday.
description: " The schedule for switch port scheduling. Schedules are applied to days of the week.\n When it's empty, default schedule with all days of a week are configured.\n Any unspecified day in the schedule is added as a default schedule configuration of the day.\n"
example:
name: Weekdays schedule
portSchedule:
monday:
active: true
from: '9:00'
to: '17:00'
tuesday:
active: true
from: '9:00'
to: '17:00'
wednesday:
active: true
from: '9:00'
to: '17:00'
thursday:
active: true
from: '9:00'
to: '17:00'
friday:
active: true
from: '9:00'
to: '17:00'
saturday:
active: false
from: 0:00
to: '24:00'
sunday:
active: false
from: 0:00
to: '24:00'
required:
- name
required: true
responses:
'201':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: Switch port schedule ID
networkId:
type: string
description: Network ID
name:
type: string
description: Switch port schedule name
portSchedule:
type: object
properties:
monday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active or inactive
from:
type: string
description: The time, from '00:00' to '24:00'
to:
type: string
description: The time, from '00:00' to '24:00'
description: Monday schedule
tuesday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active or inactive
from:
type: string
description: The time, from '00:00' to '24:00'
to:
type: string
description: The time, from '00:00' to '24:00'
description: Tuesday schedule
wednesday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active or inactive
from:
type: string
description: The time, from '00:00' to '24:00'
to:
type: string
description: The time, from '00:00' to '24:00'
description: Wednesday schedule
thursday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active or inactive
from:
type: string
description: The time, from '00:00' to '24:00'
to:
type: string
description: The time, from '00:00' to '24:00'
description: Thursday schedule
friday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active or inactive
from:
type: string
description: The time, from '00:00' to '24:00'
to:
type: string
description: The time, from '00:00' to '24:00'
description: Friday schedule
saturday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active or inactive
from:
type: string
description: The time, from '00:00' to '24:00'
to:
type: string
description: The time, from '00:00' to '24:00'
description: Saturday schedule
sunday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active or inactive
from:
type: string
description: The time, from '00:00' to '24:00'
to:
type: string
description: The time, from '00:00' to '24:00'
description: Sunday schedule
description: Port schedule
example:
id: '1234'
networkId: N_24329156
name: Weekdays schedule
portSchedule:
monday:
active: true
from: '9:00'
to: '17:00'
tuesday:
active: true
from: '9:00'
to: '17:00'
wednesday:
active: true
from: '9:00'
to: '17:00'
thursday:
active: true
from: '9:00'
to: '17:00'
friday:
active: true
from: '9:00'
to: '17:00'
saturday:
active: false
from: 0:00
to: '24:00'
sunday:
active: false
from: 0:00
to: '24:00'
summary: Add a switch port schedule
tags:
- switch.configure
/networks/{networkId}/switch/portSchedules/{portScheduleId}:
delete:
description: Delete a switch port schedule
operationId: deleteNetworkSwitchPortSchedule
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: portScheduleId
in: path
description: Port schedule ID
schema:
type: string
required: true
responses:
'204':
description: Successful operation
summary: Delete a switch port schedule
tags:
- switch.configure
put:
description: Update a switch port schedule
operationId: updateNetworkSwitchPortSchedule
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: portScheduleId
in: path
description: Port schedule ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: The name for your port schedule.
portSchedule:
type: object
properties:
monday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active (true) or inactive (false) during the time specified between 'from' and 'to'. Defaults to true.
from:
type: string
description: The time, from '00:00' to '24:00'. Must be less than the time specified in 'to'. Defaults to '00:00'. Only 30 minute increments are allowed.
to:
type: string
description: The time, from '00:00' to '24:00'. Must be greater than the time specified in 'from'. Defaults to '24:00'. Only 30 minute increments are allowed.
description: The schedule object for Monday.
tuesday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active (true) or inactive (false) during the time specified between 'from' and 'to'. Defaults to true.
from:
type: string
description: The time, from '00:00' to '24:00'. Must be less than the time specified in 'to'. Defaults to '00:00'. Only 30 minute increments are allowed.
to:
type: string
description: The time, from '00:00' to '24:00'. Must be greater than the time specified in 'from'. Defaults to '24:00'. Only 30 minute increments are allowed.
description: The schedule object for Tuesday.
wednesday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active (true) or inactive (false) during the time specified between 'from' and 'to'. Defaults to true.
from:
type: string
description: The time, from '00:00' to '24:00'. Must be less than the time specified in 'to'. Defaults to '00:00'. Only 30 minute increments are allowed.
to:
type: string
description: The time, from '00:00' to '24:00'. Must be greater than the time specified in 'from'. Defaults to '24:00'. Only 30 minute increments are allowed.
description: The schedule object for Wednesday.
thursday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active (true) or inactive (false) during the time specified between 'from' and 'to'. Defaults to true.
from:
type: string
description: The time, from '00:00' to '24:00'. Must be less than the time specified in 'to'. Defaults to '00:00'. Only 30 minute increments are allowed.
to:
type: string
description: The time, from '00:00' to '24:00'. Must be greater than the time specified in 'from'. Defaults to '24:00'. Only 30 minute increments are allowed.
description: The schedule object for Thursday.
friday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active (true) or inactive (false) during the time specified between 'from' and 'to'. Defaults to true.
from:
type: string
description: The time, from '00:00' to '24:00'. Must be less than the time specified in 'to'. Defaults to '00:00'. Only 30 minute increments are allowed.
to:
type: string
description: The time, from '00:00' to '24:00'. Must be greater than the time specified in 'from'. Defaults to '24:00'. Only 30 minute increments are allowed.
description: The schedule object for Friday.
saturday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active (true) or inactive (false) during the time specified between 'from' and 'to'. Defaults to true.
from:
type: string
description: The time, from '00:00' to '24:00'. Must be less than the time specified in 'to'. Defaults to '00:00'. Only 30 minute increments are allowed.
to:
type: string
description: The time, from '00:00' to '24:00'. Must be greater than the time specified in 'from'. Defaults to '24:00'. Only 30 minute increments are allowed.
description: The schedule object for Saturday.
sunday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active (true) or inactive (false) during the time specified between 'from' and 'to'. Defaults to true.
from:
type: string
description: The time, from '00:00' to '24:00'. Must be less than the time specified in 'to'. Defaults to '00:00'. Only 30 minute increments are allowed.
to:
type: string
description: The time, from '00:00' to '24:00'. Must be greater than the time specified in 'from'. Defaults to '24:00'. Only 30 minute increments are allowed.
description: The schedule object for Sunday.
description: " The schedule for switch port scheduling. Schedules are applied to days of the week.\n When it's empty, default schedule with all days of a week are configured.\n Any unspecified day in the schedule is added as a default schedule configuration of the day.\n"
example:
name: Weekdays schedule
portSchedule:
monday:
active: true
from: '9:00'
to: '17:00'
tuesday:
active: true
from: '9:00'
to: '17:00'
wednesday:
active: true
from: '9:00'
to: '17:00'
thursday:
active: true
from: '9:00'
to: '17:00'
friday:
active: true
from: '9:00'
to: '17:00'
saturday:
active: false
from: 0:00
to: '24:00'
sunday:
active: false
from: 0:00
to: '24:00'
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: Switch port schedule ID
networkId:
type: string
description: Network ID
name:
type: string
description: Switch port schedule name
portSchedule:
type: object
properties:
monday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active or inactive
from:
type: string
description: The time, from '00:00' to '24:00'
to:
type: string
description: The time, from '00:00' to '24:00'
description: Monday schedule
tuesday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active or inactive
from:
type: string
description: The time, from '00:00' to '24:00'
to:
type: string
description: The time, from '00:00' to '24:00'
description: Tuesday schedule
wednesday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active or inactive
from:
type: string
description: The time, from '00:00' to '24:00'
to:
type: string
description: The time, from '00:00' to '24:00'
description: Wednesday schedule
thursday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active or inactive
from:
type: string
description: The time, from '00:00' to '24:00'
to:
type: string
description: The time, from '00:00' to '24:00'
description: Thursday schedule
friday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active or inactive
from:
type: string
description: The time, from '00:00' to '24:00'
to:
type: string
description: The time, from '00:00' to '24:00'
description: Friday schedule
saturday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active or inactive
from:
type: string
description: The time, from '00:00' to '24:00'
to:
type: string
description: The time, from '00:00' to '24:00'
description: Saturday schedule
sunday:
type: object
properties:
active:
type: boolean
description: Whether the schedule is active or inactive
from:
type: string
description: The time, from '00:00' to '24:00'
to:
type: string
description: The time, from '00:00' to '24:00'
description: Sunday schedule
description: Port schedule
example:
id: '1234'
networkId: N_24329156
name: Weekdays schedule
portSchedule:
monday:
active: true
from: '9:00'
to: '17:00'
tuesday:
active: true
from: '9:00'
to: '17:00'
wednesday:
active: true
from: '9:00'
to: '17:00'
thursday:
active: true
from: '9:00'
to: '17:00'
friday:
active: true
from: '9:00'
to: '17:00'
saturday:
active: false
from: 0:00
to: '24:00'
sunday:
active: false
from: 0:00
to: '24:00'
summary: Update a switch port schedule
tags:
- switch.configure
/networks/{networkId}/switch/qosRules:
get:
description: List quality of service rules
operationId: getNetworkSwitchQosRules
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: string
description: Qos Rule id
vlan:
type: integer
description: The VLAN of the incoming packet. A null value will match any VLAN.
protocol:
type: string
description: The protocol of the incoming packet. Can be one of "ANY", "TCP" or "UDP". Default value is "ANY"
srcPort:
type: integer
description: The source port of the incoming packet. Applicable only if protocol is TCP or UDP.
srcPortRange:
type: string
description: 'The source port range of the incoming packet. Applicable only if protocol is set to TCP or UDP. Example: 70-80'
dstPort:
type: integer
description: The destination port of the incoming packet. Applicable only if protocol is TCP or UDP.
dstPortRange:
type: string
description: 'The destination port range of the incoming packet. Applicable only if protocol is set to TCP or UDP. Example: 70-80'
dscp:
type: integer
description: DSCP tag for the incoming packet. Set this to -1 to trust incoming DSCP. Default value is 0
example:
- id: '1284392014819'
vlan: 100
protocol: TCP
srcPort: 2000
srcPortRange: 70-80
dstPort: 3000
dstPortRange: 3000-3100
dscp: 0
summary: List quality of service rules
tags:
- switch.configure
post:
description: Add a quality of service rule
operationId: createNetworkSwitchQosRule
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
vlan:
type: integer
description: The VLAN of the incoming packet. A null value will match any VLAN.
protocol:
type: string
enum:
- ANY
- TCP
- UDP
description: The protocol of the incoming packet. Default value is "ANY"
srcPort:
type: integer
description: The source port of the incoming packet. Applicable only if protocol is TCP or UDP.
srcPortRange:
type: string
description: The source port range of the incoming packet. Applicable only if protocol is set to TCP or UDP.
dstPort:
type: integer
description: The destination port of the incoming packet. Applicable only if protocol is TCP or UDP.
dstPortRange:
type: string
description: The destination port range of the incoming packet. Applicable only if protocol is set to TCP or UDP.
dscp:
type: integer
description: DSCP tag for the incoming packet. Set this to -1 to trust incoming DSCP. Default value is 0
example:
vlan: 100
protocol: TCP
srcPort: 2000
srcPortRange: 70-80
dstPort: 3000
dstPortRange: 3000-3100
dscp: 0
required:
- vlan
required: true
responses:
'201':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: Qos Rule id
vlan:
type: integer
description: The VLAN of the incoming packet. A null value will match any VLAN.
protocol:
type: string
description: The protocol of the incoming packet. Can be one of "ANY", "TCP" or "UDP". Default value is "ANY"
srcPort:
type: integer
description: The source port of the incoming packet. Applicable only if protocol is TCP or UDP.
srcPortRange:
type: string
description: 'The source port range of the incoming packet. Applicable only if protocol is set to TCP or UDP. Example: 70-80'
dstPort:
type: integer
description: The destination port of the incoming packet. Applicable only if protocol is TCP or UDP.
dstPortRange:
type: string
description: 'The destination port range of the incoming packet. Applicable only if protocol is set to TCP or UDP. Example: 70-80'
dscp:
type: integer
description: DSCP tag for the incoming packet. Set this to -1 to trust incoming DSCP. Default value is 0
example:
id: '1284392014819'
vlan: 100
protocol: TCP
srcPort: 2000
srcPortRange: 70-80
dstPort: 3000
dstPortRange: 3000-3100
dscp: 0
summary: Add a quality of service rule
tags:
- switch.configure
/networks/{networkId}/switch/qosRules/order:
get:
description: Return the quality of service rule IDs by order in which they will be processed by the switch
operationId: getNetworkSwitchQosRulesOrder
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
ruleIds:
type: array
items:
type: string
description: Qos Rule ids
example:
ruleIds:
- '1284392014819'
- '2983092129865'
summary: Return the quality of service rule IDs by order in which they will be processed by the switch
tags:
- switch.configure
put:
description: Update the order in which the rules should be processed by the switch
operationId: updateNetworkSwitchQosRulesOrder
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
ruleIds:
type: array
items:
type: string
description: A list of quality of service rule IDs arranged in order in which they should be processed by the switch.
example:
ruleIds:
- '1284392014819'
- '2983092129865'
required:
- ruleIds
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
ruleIds:
type: array
items:
type: string
description: Qos Rule ids
example:
ruleIds:
- '1284392014819'
- '2983092129865'
summary: Update the order in which the rules should be processed by the switch
tags:
- switch.configure
/networks/{networkId}/switch/qosRules/{qosRuleId}:
get:
description: Return a quality of service rule
operationId: getNetworkSwitchQosRule
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: qosRuleId
in: path
description: Qos rule ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: Qos Rule id
vlan:
type: integer
description: The VLAN of the incoming packet. A null value will match any VLAN.
protocol:
type: string
description: The protocol of the incoming packet. Can be one of "ANY", "TCP" or "UDP". Default value is "ANY"
srcPort:
type: integer
description: The source port of the incoming packet. Applicable only if protocol is TCP or UDP.
srcPortRange:
type: string
description: 'The source port range of the incoming packet. Applicable only if protocol is set to TCP or UDP. Example: 70-80'
dstPort:
type: integer
description: The destination port of the incoming packet. Applicable only if protocol is TCP or UDP.
dstPortRange:
type: string
description: 'The destination port range of the incoming packet. Applicable only if protocol is set to TCP or UDP. Example: 70-80'
dscp:
type: integer
description: DSCP tag for the incoming packet. Set this to -1 to trust incoming DSCP. Default value is 0
example:
id: '1284392014819'
vlan: 100
protocol: TCP
srcPort: 2000
srcPortRange: 70-80
dstPort: 3000
dstPortRange: 3000-3100
dscp: 0
summary: Return a quality of service rule
tags:
- switch.configure
delete:
description: Delete a quality of service rule
operationId: deleteNetworkSwitchQosRule
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: qosRuleId
in: path
description: Qos rule ID
schema:
type: string
required: true
responses:
'204':
description: Successful operation
summary: Delete a quality of service rule
tags:
- switch.configure
put:
description: Update a quality of service rule
operationId: updateNetworkSwitchQosRule
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: qosRuleId
in: path
description: Qos rule ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
vlan:
type: integer
description: The VLAN of the incoming packet. A null value will match any VLAN.
protocol:
type: string
enum:
- ANY
- TCP
- UDP
description: The protocol of the incoming packet. Default value is "ANY"
srcPort:
type: integer
description: The source port of the incoming packet. Applicable only if protocol is TCP or UDP.
srcPortRange:
type: string
description: The source port range of the incoming packet. Applicable only if protocol is set to TCP or UDP.
dstPort:
type: integer
description: The destination port of the incoming packet. Applicable only if protocol is TCP or UDP.
dstPortRange:
type: string
description: The destination port range of the incoming packet. Applicable only if protocol is set to TCP or UDP.
dscp:
type: integer
description: DSCP tag that should be assigned to incoming packet. Set this to -1 to trust incoming DSCP. Default value is 0
example:
vlan: 100
protocol: TCP
srcPort: 2000
srcPortRange: 70-80
dstPort: 3000
dstPortRange: 3000-3100
dscp: 0
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: Qos Rule id
vlan:
type: integer
description: The VLAN of the incoming packet. A null value will match any VLAN.
protocol:
type: string
description: The protocol of the incoming packet. Can be one of "ANY", "TCP" or "UDP". Default value is "ANY"
srcPort:
type: integer
description: The source port of the incoming packet. Applicable only if protocol is TCP or UDP.
srcPortRange:
type: string
description: 'The source port range of the incoming packet. Applicable only if protocol is set to TCP or UDP. Example: 70-80'
dstPort:
type: integer
description: The destination port of the incoming packet. Applicable only if protocol is TCP or UDP.
dstPortRange:
type: string
description: 'The destination port range of the incoming packet. Applicable only if protocol is set to TCP or UDP. Example: 70-80'
dscp:
type: integer
description: DSCP tag for the incoming packet. Set this to -1 to trust incoming DSCP. Default value is 0
example:
id: '1284392014819'
vlan: 100
protocol: TCP
srcPort: 2000
srcPortRange: 70-80
dstPort: 3000
dstPortRange: 3000-3100
dscp: 0
summary: Update a quality of service rule
tags:
- switch.configure
/networks/{networkId}/switch/routing/multicast:
get:
description: Return multicast settings for a network
operationId: getNetworkSwitchRoutingMulticast
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
defaultSettings:
type: object
properties:
igmpSnoopingEnabled:
type: boolean
description: IGMP snooping enabled for the entire network
floodUnknownMulticastTrafficEnabled:
type: boolean
description: Flood unknown multicast traffic enabled for the entire network
description: "Default multicast setting for entire network. IGMP snooping and Flood unknown\n multicast traffic settings are enabled by default."
overrides:
type: array
items:
type: object
properties:
switches:
type: array
items:
type: string
description: (optional) List of switch serials for non-template network
stacks:
type: array
items:
type: string
description: (optional) List of switch stack ids for non-template network
switchProfiles:
type: array
items:
type: string
description: (optional) List of switch templates ids for template network
igmpSnoopingEnabled:
type: boolean
description: IGMP snooping enabled for switches, switch stacks or switch templates
floodUnknownMulticastTrafficEnabled:
type: boolean
description: Flood unknown multicast traffic enabled for switches, switch stacks or switch templates
description: "Array of paired switches/stacks/profiles and corresponding multicast settings.\n An empty array will clear the multicast settings."
example:
defaultSettings:
igmpSnoopingEnabled: true
floodUnknownMulticastTrafficEnabled: true
overrides:
- switches:
- Q234-ABCD-0001
- Q234-ABCD-0002
- Q234-ABCD-0003
stacks:
- '789102'
- '123456'
- '129102'
switchProfiles:
- '1234'
- '4567'
igmpSnoopingEnabled: true
floodUnknownMulticastTrafficEnabled: true
summary: Return multicast settings for a network
tags:
- switch.configure
put:
description: Update multicast settings for a network
operationId: updateNetworkSwitchRoutingMulticast
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
defaultSettings:
type: object
properties:
igmpSnoopingEnabled:
type: boolean
description: IGMP snooping setting for entire network
floodUnknownMulticastTrafficEnabled:
type: boolean
description: Flood unknown multicast traffic setting for entire network
description: Default multicast setting for entire network. IGMP snooping and Flood unknown multicast traffic settings are enabled by default.
overrides:
type: array
items:
type: object
properties:
switchProfiles:
type: array
items:
type: string
description: List of switch templates ids for template network
switches:
type: array
items:
type: string
description: List of switch serials for non-template network
stacks:
type: array
items:
type: string
description: List of switch stack ids for non-template network
igmpSnoopingEnabled:
type: boolean
description: IGMP snooping setting for switches, switch stacks or switch templates
floodUnknownMulticastTrafficEnabled:
type: boolean
description: Flood unknown multicast traffic setting for switches, switch stacks or switch templates
required:
- igmpSnoopingEnabled
- floodUnknownMulticastTrafficEnabled
description: Array of paired switches/stacks/profiles and corresponding multicast settings. An empty array will clear the multicast settings.
example:
defaultSettings:
igmpSnoopingEnabled: true
floodUnknownMulticastTrafficEnabled: true
overrides:
- switchProfiles:
- '1234'
- '4567'
switches:
- Q234-ABCD-0001
- Q234-ABCD-0002
- Q234-ABCD-0003
stacks:
- '789102'
- '123456'
- '129102'
igmpSnoopingEnabled: true
floodUnknownMulticastTrafficEnabled: true
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
defaultSettings:
type: object
properties:
igmpSnoopingEnabled:
type: boolean
description: IGMP snooping enabled for the entire network
floodUnknownMulticastTrafficEnabled:
type: boolean
description: Flood unknown multicast traffic enabled for the entire network
description: "Default multicast setting for entire network. IGMP snooping and Flood unknown\n multicast traffic settings are enabled by default."
overrides:
type: array
items:
type: object
properties:
switches:
type: array
items:
type: string
description: (optional) List of switch serials for non-template network
stacks:
type: array
items:
type: string
description: (optional) List of switch stack ids for non-template network
switchProfiles:
type: array
items:
type: string
description: (optional) List of switch templates ids for template network
igmpSnoopingEnabled:
type: boolean
description: IGMP snooping enabled for switches, switch stacks or switch templates
floodUnknownMulticastTrafficEnabled:
type: boolean
description: Flood unknown multicast traffic enabled for switches, switch stacks or switch templates
description: "Array of paired switches/stacks/profiles and corresponding multicast settings.\n An empty array will clear the multicast settings."
example:
defaultSettings:
igmpSnoopingEnabled: true
floodUnknownMulticastTrafficEnabled: true
overrides:
- switches:
- Q234-ABCD-0001
- Q234-ABCD-0002
- Q234-ABCD-0003
stacks:
- '789102'
- '123456'
- '129102'
switchProfiles:
- '1234'
- '4567'
igmpSnoopingEnabled: true
floodUnknownMulticastTrafficEnabled: true
summary: Update multicast settings for a network
tags:
- switch.configure
/networks/{networkId}/switch/routing/multicast/rendezvousPoints:
get:
description: List multicast rendezvous points
operationId: getNetworkSwitchRoutingMulticastRendezvousPoints
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
rendezvousPointId:
type: string
description: The id.
serial:
type: string
description: The serial.
interfaceName:
type: string
description: The name of the interface to use.
interfaceIp:
type: string
description: The IP address of the interface to use.
multicastGroup:
type: string
description: '''Any'', or the IP address of a multicast group.'
example:
- rendezvousPointId: '1234'
serial: Q234-ABCD-5678
interfaceName: l3_interface_0
interfaceIp: 192.168.1.2
multicastGroup: Any
summary: List multicast rendezvous points
tags:
- switch.configure
post:
description: Create a multicast rendezvous point
operationId: createNetworkSwitchRoutingMulticastRendezvousPoint
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
interfaceIp:
type: string
description: The IP address of the interface where the RP needs to be created.
multicastGroup:
type: string
description: '''Any'', or the IP address of a multicast group'
example:
interfaceIp: 192.168.1.2
multicastGroup: Any
required:
- interfaceIp
- multicastGroup
required: true
responses:
'201':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
rendezvousPointId:
type: string
description: The id.
serial:
type: string
description: The serial.
interfaceName:
type: string
description: The name of the interface to use.
interfaceIp:
type: string
description: The IP address of the interface to use.
multicastGroup:
type: string
description: '''Any'', or the IP address of a multicast group.'
example:
rendezvousPointId: '1234'
serial: Q234-ABCD-5678
interfaceName: l3_interface_0
interfaceIp: 192.168.1.2
multicastGroup: Any
summary: Create a multicast rendezvous point
tags:
- switch.configure
/networks/{networkId}/switch/routing/multicast/rendezvousPoints/{rendezvousPointId}:
get:
description: Return a multicast rendezvous point
operationId: getNetworkSwitchRoutingMulticastRendezvousPoint
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: rendezvousPointId
in: path
description: Rendezvous point ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
rendezvousPointId:
type: string
description: The id.
serial:
type: string
description: The serial.
interfaceName:
type: string
description: The name of the interface to use.
interfaceIp:
type: string
description: The IP address of the interface to use.
multicastGroup:
type: string
description: '''Any'', or the IP address of a multicast group.'
example:
rendezvousPointId: '1234'
serial: Q234-ABCD-5678
interfaceName: l3_interface_0
interfaceIp: 192.168.1.2
multicastGroup: Any
summary: Return a multicast rendezvous point
tags:
- switch.configure
delete:
description: Delete a multicast rendezvous point
operationId: deleteNetworkSwitchRoutingMulticastRendezvousPoint
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: rendezvousPointId
in: path
description: Rendezvous point ID
schema:
type: string
required: true
responses:
'204':
description: Successful operation
summary: Delete a multicast rendezvous point
tags:
- switch.configure
put:
description: Update a multicast rendezvous point
operationId: updateNetworkSwitchRoutingMulticastRendezvousPoint
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: rendezvousPointId
in: path
description: Rendezvous point ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
interfaceIp:
type: string
description: The IP address of the interface where the RP needs to be created.
multicastGroup:
type: string
description: '''Any'', or the IP address of a multicast group'
example:
interfaceIp: 192.168.1.2
multicastGroup: Any
required:
- interfaceIp
- multicastGroup
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
rendezvousPointId:
type: string
description: The id.
serial:
type: string
description: The serial.
interfaceName:
type: string
description: The name of the interface to use.
interfaceIp:
type: string
description: The IP address of the interface to use.
multicastGroup:
type: string
description: '''Any'', or the IP address of a multicast group.'
example:
rendezvousPointId: '1234'
serial: Q234-ABCD-5678
interfaceName: l3_interface_0
interfaceIp: 192.168.1.2
multicastGroup: Any
summary: Update a multicast rendezvous point
tags:
- switch.configure
/networks/{networkId}/switch/routing/ospf:
get:
description: Return layer 3 OSPF routing configuration
operationId: getNetworkSwitchRoutingOspf
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
enabled:
type: boolean
description: Boolean value to enable or disable OSPF routing. OSPF routing is disabled by default.
helloTimerInSeconds:
type: integer
description: Time interval in seconds at which hello packet will be sent to OSPF neighbors to maintain connectivity. Value must be between 1 and 255. Default is 10 seconds.
deadTimerInSeconds:
type: integer
description: Time interval to determine when the peer will be declared inactive/dead. Value must be between 1 and 65535
areas:
type: array
items:
type: object
properties:
areaId:
type: string
description: OSPF area ID
areaName:
type: string
description: Name of the OSPF area
areaType:
type: string
enum:
- normal
- nssa
- stub
description: 'Area types in OSPF. Must be one of: ["normal", "stub", "nssa"]'
description: OSPF areas
v3:
type: object
properties:
enabled:
type: boolean
description: Boolean value to enable or disable V3 OSPF routing. OSPF V3 routing is disabled by default.
helloTimerInSeconds:
type: integer
description: Time interval in seconds at which hello packet will be sent to OSPF neighbors to maintain connectivity. Value must be between 1 and 255. Default is 10 seconds.
deadTimerInSeconds:
type: integer
description: Time interval to determine when the peer will be declared inactive/dead. Value must be between 1 and 65535
areas:
type: array
items:
type: object
properties:
areaId:
type: string
description: OSPF area ID
areaName:
type: string
description: Name of the OSPF area
areaType:
type: string
enum:
- normal
- nssa
- stub
description: 'Area types in OSPF. Must be one of: ["normal", "stub", "nssa"]'
description: OSPF v3 areas
description: OSPF v3 configuration
md5AuthenticationEnabled:
type: boolean
description: Boolean value to enable or disable MD5 authentication. MD5 authentication is disabled by default.
md5AuthenticationKey:
type: object
properties:
id:
type: integer
description: MD5 authentication key index. Key index must be between 1 to 255
passphrase:
type: string
description: MD5 authentication passphrase
description: MD5 authentication credentials. This param is only relevant if md5AuthenticationEnabled is true
example:
enabled: true
helloTimerInSeconds: 10
deadTimerInSeconds: 40
areas:
- areaId: '1284392014819'
areaName: Backbone
areaType: normal
v3:
enabled: true
helloTimerInSeconds: 10
deadTimerInSeconds: 40
areas:
- areaId: '1284392014819'
areaName: V3 Backbone
areaType: normal
md5AuthenticationEnabled: true
md5AuthenticationKey:
id: 1234
passphrase: abc1234
summary: Return layer 3 OSPF routing configuration
tags:
- switch.configure
put:
description: Update layer 3 OSPF routing configuration
operationId: updateNetworkSwitchRoutingOspf
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
enabled:
type: boolean
description: Boolean value to enable or disable OSPF routing. OSPF routing is disabled by default.
helloTimerInSeconds:
type: integer
description: Time interval in seconds at which hello packet will be sent to OSPF neighbors to maintain connectivity. Value must be between 1 and 255. Default is 10 seconds.
deadTimerInSeconds:
type: integer
description: Time interval to determine when the peer will be declared inactive/dead. Value must be between 1 and 65535
areas:
type: array
items:
type: object
properties:
areaId:
type: string
description: OSPF area ID
areaName:
type: string
description: Name of the OSPF area
areaType:
type: string
enum:
- normal
- nssa
- stub
description: 'Area types in OSPF. Must be one of: ["normal", "stub", "nssa"]'
required:
- areaId
- areaName
- areaType
description: OSPF areas
v3:
type: object
properties:
enabled:
type: boolean
description: Boolean value to enable or disable V3 OSPF routing. OSPF V3 routing is disabled by default.
helloTimerInSeconds:
type: integer
description: Time interval in seconds at which hello packet will be sent to OSPF neighbors to maintain connectivity. Value must be between 1 and 255. Default is 10 seconds.
deadTimerInSeconds:
type: integer
description: Time interval to determine when the peer will be declared inactive/dead. Value must be between 1 and 65535
areas:
type: array
items:
type: object
properties:
areaId:
type: string
description: OSPF area ID
areaName:
type: string
description: Name of the OSPF area
areaType:
type: string
enum:
- normal
- nssa
- stub
description: 'Area types in OSPF. Must be one of: ["normal", "stub", "nssa"]'
required:
- areaId
- areaName
- areaType
description: OSPF v3 areas
description: OSPF v3 configuration
md5AuthenticationEnabled:
type: boolean
description: Boolean value to enable or disable MD5 authentication. MD5 authentication is disabled by default.
md5AuthenticationKey:
type: object
properties:
id:
type: integer
description: MD5 authentication key index. Key index must be between 1 to 255
passphrase:
type: string
description: MD5 authentication passphrase
description: MD5 authentication credentials. This param is only relevant if md5AuthenticationEnabled is true
example:
enabled: true
helloTimerInSeconds: 10
deadTimerInSeconds: 40
areas:
- areaId: '1284392014819'
areaName: Backbone
areaType: normal
v3:
enabled: true
helloTimerInSeconds: 10
deadTimerInSeconds: 40
areas:
- areaId: '1284392014819'
areaName: V3 Backbone
areaType: normal
md5AuthenticationEnabled: true
md5AuthenticationKey:
id: 1234
passphrase: abc1234
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
enabled:
type: boolean
description: Boolean value to enable or disable OSPF routing. OSPF routing is disabled by default.
helloTimerInSeconds:
type: integer
description: Time interval in seconds at which hello packet will be sent to OSPF neighbors to maintain connectivity. Value must be between 1 and 255. Default is 10 seconds.
deadTimerInSeconds:
type: integer
description: Time interval to determine when the peer will be declared inactive/dead. Value must be between 1 and 65535
areas:
type: array
items:
type: object
properties:
areaId:
type: string
description: OSPF area ID
areaName:
type: string
description: Name of the OSPF area
areaType:
type: string
enum:
- normal
- nssa
- stub
description: 'Area types in OSPF. Must be one of: ["normal", "stub", "nssa"]'
description: OSPF areas
v3:
type: object
properties:
enabled:
type: boolean
description: Boolean value to enable or disable V3 OSPF routing. OSPF V3 routing is disabled by default.
helloTimerInSeconds:
type: integer
description: Time interval in seconds at which hello packet will be sent to OSPF neighbors to maintain connectivity. Value must be between 1 and 255. Default is 10 seconds.
deadTimerInSeconds:
type: integer
description: Time interval to determine when the peer will be declared inactive/dead. Value must be between 1 and 65535
areas:
type: array
items:
type: object
properties:
areaId:
type: string
description: OSPF area ID
areaName:
type: string
description: Name of the OSPF area
areaType:
type: string
enum:
- normal
- nssa
- stub
description: 'Area types in OSPF. Must be one of: ["normal", "stub", "nssa"]'
description: OSPF v3 areas
description: OSPF v3 configuration
md5AuthenticationEnabled:
type: boolean
description: Boolean value to enable or disable MD5 authentication. MD5 authentication is disabled by default.
md5AuthenticationKey:
type: object
properties:
id:
type: integer
description: MD5 authentication key index. Key index must be between 1 to 255
passphrase:
type: string
description: MD5 authentication passphrase
description: MD5 authentication credentials. This param is only relevant if md5AuthenticationEnabled is true
example:
enabled: true
helloTimerInSeconds: 10
deadTimerInSeconds: 40
areas:
- areaId: '1284392014819'
areaName: Backbone
areaType: normal
v3:
enabled: true
helloTimerInSeconds: 10
deadTimerInSeconds: 40
areas:
- areaId: '1284392014819'
areaName: V3 Backbone
areaType: normal
md5AuthenticationEnabled: true
md5AuthenticationKey:
id: 1234
passphrase: abc1234
summary: Update layer 3 OSPF routing configuration
tags:
- switch.configure
/networks/{networkId}/switch/settings:
get:
description: Returns the switch network settings
operationId: getNetworkSwitchSettings
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
vlan:
type: integer
description: Management VLAN
useCombinedPower:
type: boolean
description: The use Combined Power as the default behavior of secondary power supplies on supported devices.
powerExceptions:
type: array
items:
type: object
properties:
serial:
type: string
description: Serial number of the switch
powerType:
type: string
enum:
- combined
- redundant
- useNetworkSetting
description: Per switch exception (combined, redundant, useNetworkSetting)
description: Exceptions on a per switch basis to "useCombinedPower"
uplinkClientSampling:
type: object
properties:
enabled:
type: boolean
description: Enable client sampling on uplink
description: Uplink client sampling
macBlocklist:
type: object
properties:
enabled:
type: boolean
description: Enable MAC blocklist for switches in the network
description: MAC blocklist
example:
vlan: 100
useCombinedPower: false
powerExceptions:
- serial: Q234-ABCD-0001
powerType: redundant
uplinkClientSampling:
enabled: true
macBlocklist:
enabled: true
summary: Returns the switch network settings
tags:
- switch.configure
put:
description: Update switch network settings
operationId: updateNetworkSwitchSettings
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
vlan:
type: integer
description: Management VLAN
useCombinedPower:
type: boolean
description: The use Combined Power as the default behavior of secondary power supplies on supported devices.
powerExceptions:
type: array
items:
type: object
properties:
serial:
type: string
description: Serial number of the switch
powerType:
type: string
enum:
- combined
- redundant
- useNetworkSetting
description: Per switch exception (combined, redundant, useNetworkSetting)
required:
- serial
- powerType
description: Exceptions on a per switch basis to "useCombinedPower"
uplinkClientSampling:
type: object
properties:
enabled:
type: boolean
description: Enable uplink client sampling
description: Uplink client sampling
macBlocklist:
type: object
properties:
enabled:
type: boolean
description: Enable MAC blocklist
description: MAC blocklist
example: {}
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
vlan:
type: integer
description: Management VLAN
useCombinedPower:
type: boolean
description: The use Combined Power as the default behavior of secondary power supplies on supported devices.
powerExceptions:
type: array
items:
type: object
properties:
serial:
type: string
description: Serial number of the switch
powerType:
type: string
enum:
- combined
- redundant
- useNetworkSetting
description: Per switch exception (combined, redundant, useNetworkSetting)
description: Exceptions on a per switch basis to "useCombinedPower"
uplinkClientSampling:
type: object
properties:
enabled:
type: boolean
description: Enable client sampling on uplink
description: Uplink client sampling
macBlocklist:
type: object
properties:
enabled:
type: boolean
description: Enable MAC blocklist for switches in the network
description: MAC blocklist
example:
vlan: 100
useCombinedPower: false
powerExceptions:
- serial: Q234-ABCD-0001
powerType: redundant
uplinkClientSampling:
enabled: true
macBlocklist:
enabled: true
summary: Update switch network settings
tags:
- switch.configure
/networks/{networkId}/switch/stacks:
get:
description: List the switch stacks in a network
operationId: getNetworkSwitchStacks
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: string
description: ID of the Switch stack
name:
type: string
description: Name of the Switch stack
serials:
type: array
items:
type: string
description: Serials of the switches in the switch stack
isMonitorOnly:
type: boolean
description: Tells if stack is Monitored Stack.
members:
type: array
items:
type: object
properties:
serial:
type: string
description: Serial number of the device
name:
type: string
description: Name of the device
model:
type: string
description: Model of the device
mac:
type: string
description: MAC address of the device
role:
type: string
enum:
- active
- member
- standby
description: Role of the device
description: Members of the Stack
example:
- id: '8473'
name: A cool stack
serials:
- QBZY-XWVU-TSRQ
- QBAB-CDEF-GHIJ
isMonitorOnly: false
members:
- serial: QBZY-XWVU-TSRQ
name: switch 1
model: MS350-24-HW
mac: 00:18:0a:00:00:09
role: active
summary: List the switch stacks in a network
tags:
- switch.configure
post:
description: Create a switch stack
operationId: createNetworkSwitchStack
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: The name of the new stack
serials:
type: array
items:
type: string
description: An array of switch serials to be added into the new stack
example:
name: A cool stack
serials:
- QBZY-XWVU-TSRQ
- QBAB-CDEF-GHIJ
required:
- name
- serials
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: ID of the Switch stack
name:
type: string
description: Name of the Switch stack
serials:
type: array
items:
type: string
description: Serials of the switches in the switch stack
isMonitorOnly:
type: boolean
description: Tells if stack is Monitored Stack.
members:
type: array
items:
type: object
properties:
serial:
type: string
description: Serial number of the device
name:
type: string
description: Name of the device
model:
type: string
description: Model of the device
mac:
type: string
description: MAC address of the device
role:
type: string
enum:
- active
- member
- standby
description: Role of the device
description: Members of the Stack
example:
id: '8473'
name: A cool stack
serials:
- QBZY-XWVU-TSRQ
- QBAB-CDEF-GHIJ
isMonitorOnly: false
members:
- serial: QBZY-XWVU-TSRQ
name: switch 1
model: MS350-24-HW
mac: 00:18:0a:00:00:09
role: active
summary: Create a switch stack
tags:
- switch.configure
/networks/{networkId}/switch/stacks/{switchStackId}:
get:
description: Show a switch stack
operationId: getNetworkSwitchStack
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: switchStackId
in: path
description: Switch stack ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: ID of the Switch stack
name:
type: string
description: Name of the Switch stack
serials:
type: array
items:
type: string
description: Serials of the switches in the switch stack
isMonitorOnly:
type: boolean
description: Tells if stack is Monitored Stack.
members:
type: array
items:
type: object
properties:
serial:
type: string
description: Serial number of the device
name:
type: string
description: Name of the device
model:
type: string
description: Model of the device
mac:
type: string
description: MAC address of the device
role:
type: string
enum:
- active
- member
- standby
description: Role of the device
description: Members of the Stack
example:
id: '8473'
name: A cool stack
serials:
- QBZY-XWVU-TSRQ
- QBAB-CDEF-GHIJ
isMonitorOnly: false
members:
- serial: QBZY-XWVU-TSRQ
name: switch 1
model: MS350-24-HW
mac: 00:18:0a:00:00:09
role: active
summary: Show a switch stack
tags:
- switch.configure
delete:
description: Delete a stack
operationId: deleteNetworkSwitchStack
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: switchStackId
in: path
description: Switch stack ID
schema:
type: string
required: true
responses:
'204':
description: Successful operation
summary: Delete a stack
tags:
- switch.configure
/networks/{networkId}/switch/stacks/{switchStackId}/add:
post:
description: Add a switch to a stack
operationId: addNetworkSwitchStack
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: switchStackId
in: path
description: Switch stack ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
serial:
type: string
description: The serial of the switch to be added
example:
serial: QBZY-XWVU-TSRQ
required:
- serial
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: ID of the Switch stack
name:
type: string
description: Name of the Switch stack
serials:
type: array
items:
type: string
description: Serials of the switches in the switch stack
isMonitorOnly:
type: boolean
description: Tells if stack is Monitored Stack.
members:
type: array
items:
type: object
properties:
serial:
type: string
description: Serial number of the device
name:
type: string
description: Name of the device
model:
type: string
description: Model of the device
mac:
type: string
description: MAC address of the device
role:
type: string
enum:
- active
- member
- standby
description: Role of the device
description: Members of the Stack
example:
id: '8473'
name: A cool stack
serials:
- QBZY-XWVU-TSRQ
- QBAB-CDEF-GHIJ
isMonitorOnly: false
members:
- serial: QBZY-XWVU-TSRQ
name: switch 1
model: MS350-24-HW
mac: 00:18:0a:00:00:09
role: active
summary: Add a switch to a stack
tags:
- switch.configure
/networks/{networkId}/switch/stacks/{switchStackId}/remove:
post:
description: Remove a switch from a stack
operationId: removeNetworkSwitchStack
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: switchStackId
in: path
description: Switch stack ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
serial:
type: string
description: The serial of the switch to be removed
example:
serial: QBZY-XWVU-TSRQ
required:
- serial
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: ID of the Switch stack
name:
type: string
description: Name of the Switch stack
serials:
type: array
items:
type: string
description: Serials of the switches in the switch stack
isMonitorOnly:
type: boolean
description: Tells if stack is Monitored Stack.
members:
type: array
items:
type: object
properties:
serial:
type: string
description: Serial number of the device
name:
type: string
description: Name of the device
model:
type: string
description: Model of the device
mac:
type: string
description: MAC address of the device
role:
type: string
enum:
- active
- member
- standby
description: Role of the device
description: Members of the Stack
example:
id: '8473'
name: A cool stack
serials:
- QBZY-XWVU-TSRQ
- QBAB-CDEF-GHIJ
isMonitorOnly: false
members:
- serial: QBZY-XWVU-TSRQ
name: switch 1
model: MS350-24-HW
mac: 00:18:0a:00:00:09
role: active
summary: Remove a switch from a stack
tags:
- switch.configure
/networks/{networkId}/switch/stacks/{switchStackId}/routing/interfaces:
get:
description: List layer 3 interfaces for a switch stack
operationId: getNetworkSwitchStackRoutingInterfaces
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: switchStackId
in: path
description: Switch stack ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
interfaceId:
type: string
description: The id
name:
type: string
description: The name
subnet:
type: string
description: IPv4 subnet
interfaceIp:
type: string
description: IPv4 address
multicastRouting:
type: string
description: Multicast routing status
vlanId:
type: integer
description: VLAN id
ospfSettings:
type: object
properties:
area:
type: string
description: Area id
cost:
type: integer
description: OSPF Cost
isPassiveEnabled:
type: boolean
description: Disable sending Hello packets on this interface's IPv4 area
description: IPv4 OSPF Settings
ospfV3:
type: object
properties:
area:
type: string
description: Area id
cost:
type: integer
description: OSPF Cost
isPassiveEnabled:
type: boolean
description: Disable sending Hello packets on this interface's IPv6 area
description: IPv6 OSPF Settings
ipv6:
type: object
properties:
assignmentMode:
type: string
description: Assignment mode
address:
type: string
description: IPv6 address
prefix:
type: string
description: IPv6 subnet
gateway:
type: string
description: IPv6 gateway
description: IPv6 addressing
defaultGateway:
type: string
description: IPv4 default gateway
example:
- interfaceId: '1234'
name: L3 interface
subnet: 192.168.1.0/24
interfaceIp: 192.168.1.2
multicastRouting: disabled
vlanId: 100
ospfSettings:
area: '0'
cost: 1
isPassiveEnabled: true
ospfV3:
area: '1'
cost: 2
isPassiveEnabled: true
ipv6:
assignmentMode: static
address: 1:2:3:4::1
prefix: 1:2:3:4::/48
gateway: 1:2:3:4::2
defaultGateway: 192.168.1.1
summary: List layer 3 interfaces for a switch stack
tags:
- switch.configure
post:
description: Create a layer 3 interface for a switch stack
operationId: createNetworkSwitchStackRoutingInterface
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: switchStackId
in: path
description: Switch stack ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: A friendly name or description for the interface or VLAN.
subnet:
type: string
description: The network that this routed interface is on, in CIDR notation (ex. 10.1.1.0/24).
interfaceIp:
type: string
description: The IP address this switch stack will use for layer 3 routing on this VLAN or subnet. This cannot be the same as the switch's management IP.
multicastRouting:
type: string
enum:
- IGMP snooping querier
- disabled
- enabled
description: Enable multicast support if, multicast routing between VLANs is required. Options are, 'disabled', 'enabled' or 'IGMP snooping querier'. Default is 'disabled'.
vlanId:
type: integer
description: The VLAN this routed interface is on. VLAN must be between 1 and 4094.
defaultGateway:
type: string
description: The next hop for any traffic that isn't going to a directly connected subnet or over a static route. This IP address must exist in a subnet with a routed interface.
ospfSettings:
type: object
properties:
area:
type: string
description: The OSPF area to which this interface should belong. Can be either 'disabled' or the identifier of an existing OSPF area. Defaults to 'disabled'.
cost:
type: integer
description: The path cost for this interface. Defaults to 1, but can be increased up to 65535 to give lower priority.
isPassiveEnabled:
type: boolean
description: When enabled, OSPF will not run on the interface, but the subnet will still be advertised.
description: The OSPF routing settings of the interface.
ipv6:
type: object
properties:
assignmentMode:
type: string
description: The IPv6 assignment mode for the interface. Can be either 'eui-64' or 'static'.
prefix:
type: string
description: The IPv6 prefix of the interface. Required if IPv6 object is included.
address:
type: string
description: The IPv6 address of the interface. Required if assignmentMode is 'static'. Must not be included if assignmentMode is 'eui-64'.
gateway:
type: string
description: The IPv6 default gateway of the interface. Required if prefix is defined and this is the first interface with IPv6 configured for the stack.
description: The IPv6 settings of the interface.
example:
name: L3 interface
subnet: 192.168.1.0/24
interfaceIp: 192.168.1.2
multicastRouting: disabled
vlanId: 100
defaultGateway: 192.168.1.1
ospfSettings:
area: '0'
cost: 1
isPassiveEnabled: true
ipv6:
assignmentMode: static
prefix: 1:2:3:4::/48
address: 1:2:3:4::1
gateway: 1:2:3:4::2
required:
- name
- vlanId
required: true
responses:
'201':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
interfaceId:
type: string
description: The id
name:
type: string
description: The name
subnet:
type: string
description: IPv4 subnet
interfaceIp:
type: string
description: IPv4 address
multicastRouting:
type: string
description: Multicast routing status
vlanId:
type: integer
description: VLAN id
ospfSettings:
type: object
properties:
area:
type: string
description: Area id
cost:
type: integer
description: OSPF Cost
isPassiveEnabled:
type: boolean
description: Disable sending Hello packets on this interface's IPv4 area
description: IPv4 OSPF Settings
ospfV3:
type: object
properties:
area:
type: string
description: Area id
cost:
type: integer
description: OSPF Cost
isPassiveEnabled:
type: boolean
description: Disable sending Hello packets on this interface's IPv6 area
description: IPv6 OSPF Settings
ipv6:
type: object
properties:
assignmentMode:
type: string
description: Assignment mode
address:
type: string
description: IPv6 address
prefix:
type: string
description: IPv6 subnet
gateway:
type: string
description: IPv6 gateway
description: IPv6 addressing
defaultGateway:
type: string
description: IPv4 default gateway
example:
interfaceId: '1234'
name: L3 interface
subnet: 192.168.1.0/24
interfaceIp: 192.168.1.2
multicastRouting: disabled
vlanId: 100
ospfSettings:
area: '0'
cost: 1
isPassiveEnabled: true
ospfV3:
area: '1'
cost: 2
isPassiveEnabled: true
ipv6:
assignmentMode: static
address: 1:2:3:4::1
prefix: 1:2:3:4::/48
gateway: 1:2:3:4::2
defaultGateway: 192.168.1.1
summary: Create a layer 3 interface for a switch stack
tags:
- switch.configure
/networks/{networkId}/switch/stacks/{switchStackId}/routing/interfaces/{interfaceId}:
get:
description: Return a layer 3 interface from a switch stack
operationId: getNetworkSwitchStackRoutingInterface
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: switchStackId
in: path
description: Switch stack ID
schema:
type: string
required: true
- name: interfaceId
in: path
description: Interface ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
interfaceId:
type: string
description: The id
name:
type: string
description: The name
subnet:
type: string
description: IPv4 subnet
interfaceIp:
type: string
description: IPv4 address
multicastRouting:
type: string
description: Multicast routing status
vlanId:
type: integer
description: VLAN id
ospfSettings:
type: object
properties:
area:
type: string
description: Area id
cost:
type: integer
description: OSPF Cost
isPassiveEnabled:
type: boolean
description: Disable sending Hello packets on this interface's IPv4 area
description: IPv4 OSPF Settings
ospfV3:
type: object
properties:
area:
type: string
description: Area id
cost:
type: integer
description: OSPF Cost
isPassiveEnabled:
type: boolean
description: Disable sending Hello packets on this interface's IPv6 area
description: IPv6 OSPF Settings
ipv6:
type: object
properties:
assignmentMode:
type: string
description: Assignment mode
address:
type: string
description: IPv6 address
prefix:
type: string
description: IPv6 subnet
gateway:
type: string
description: IPv6 gateway
description: IPv6 addressing
defaultGateway:
type: string
description: IPv4 default gateway
example:
interfaceId: '1234'
name: L3 interface
subnet: 192.168.1.0/24
interfaceIp: 192.168.1.2
multicastRouting: disabled
vlanId: 100
ospfSettings:
area: '0'
cost: 1
isPassiveEnabled: true
ospfV3:
area: '1'
cost: 2
isPassiveEnabled: true
ipv6:
assignmentMode: static
address: 1:2:3:4::1
prefix: 1:2:3:4::/48
gateway: 1:2:3:4::2
defaultGateway: 192.168.1.1
summary: Return a layer 3 interface from a switch stack
tags:
- switch.configure
put:
description: Update a layer 3 interface for a switch stack
operationId: updateNetworkSwitchStackRoutingInterface
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: switchStackId
in: path
description: Switch stack ID
schema:
type: string
required: true
- name: interfaceId
in: path
description: Interface ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: A friendly name or description for the interface or VLAN.
subnet:
type: string
description: The network that this routed interface is on, in CIDR notation (ex. 10.1.1.0/24).
interfaceIp:
type: string
description: The IP address this switch stack will use for layer 3 routing on this VLAN or subnet. This cannot be the same as the switch's management IP.
multicastRouting:
type: string
enum:
- IGMP snooping querier
- disabled
- enabled
description: Enable multicast support if, multicast routing between VLANs is required. Options are, 'disabled', 'enabled' or 'IGMP snooping querier'.
vlanId:
type: integer
description: The VLAN this routed interface is on. VLAN must be between 1 and 4094.
defaultGateway:
type: string
description: The next hop for any traffic that isn't going to a directly connected subnet or over a static route. This IP address must exist in a subnet with a routed interface.
ospfSettings:
type: object
properties:
area:
type: string
description: The OSPF area to which this interface should belong. Can be either 'disabled' or the identifier of an existing OSPF area.
cost:
type: integer
description: The path cost for this interface. Defaults to 1, but can be increased up to 65535 to give lower priority.
isPassiveEnabled:
type: boolean
description: When enabled, OSPF will not run on the interface, but the subnet will still be advertised.
description: The OSPF routing settings of the interface.
ipv6:
type: object
properties:
assignmentMode:
type: string
description: The IPv6 assignment mode for the interface. Can be either 'eui-64' or 'static'.
prefix:
type: string
description: The IPv6 prefix of the interface. Required if IPv6 object is included and interface does not already have ipv6.prefix configured
address:
type: string
description: The IPv6 address of the interface. Required if assignmentMode is included and set as 'static'. Must not be included if assignmentMode is 'eui-64'.
gateway:
type: string
description: The IPv6 default gateway of the interface. Required if prefix is defined and this is the first interface with IPv6 configured for the stack.
description: The IPv6 settings of the interface.
example:
name: L3 interface
subnet: 192.168.1.0/24
interfaceIp: 192.168.1.2
multicastRouting: disabled
vlanId: 100
defaultGateway: 192.168.1.1
ospfSettings:
area: '0'
cost: 1
isPassiveEnabled: true
ipv6:
assignmentMode: static
prefix: 1:2:3:4::/48
address: 1:2:3:4::1
gateway: 1:2:3:4::2
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
interfaceId:
type: string
description: The id
name:
type: string
description: The name
subnet:
type: string
description: IPv4 subnet
interfaceIp:
type: string
description: IPv4 address
multicastRouting:
type: string
description: Multicast routing status
vlanId:
type: integer
description: VLAN id
ospfSettings:
type: object
properties:
area:
type: string
description: Area id
cost:
type: integer
description: OSPF Cost
isPassiveEnabled:
type: boolean
description: Disable sending Hello packets on this interface's IPv4 area
description: IPv4 OSPF Settings
ospfV3:
type: object
properties:
area:
type: string
description: Area id
cost:
type: integer
description: OSPF Cost
isPassiveEnabled:
type: boolean
description: Disable sending Hello packets on this interface's IPv6 area
description: IPv6 OSPF Settings
ipv6:
type: object
properties:
assignmentMode:
type: string
description: Assignment mode
address:
type: string
description: IPv6 address
prefix:
type: string
description: IPv6 subnet
gateway:
type: string
description: IPv6 gateway
description: IPv6 addressing
example:
interfaceId: '1234'
name: L3 interface
subnet: 192.168.1.0/24
interfaceIp: 192.168.1.2
multicastRouting: disabled
vlanId: 100
ospfSettings:
area: '0'
cost: 1
isPassiveEnabled: true
ospfV3:
area: '1'
cost: 2
isPassiveEnabled: true
ipv6:
assignmentMode: static
address: 1:2:3:4::1
prefix: 1:2:3:4::/48
gateway: 1:2:3:4::2
summary: Update a layer 3 interface for a switch stack
tags:
- switch.configure
delete:
description: Delete a layer 3 interface from a switch stack
operationId: deleteNetworkSwitchStackRoutingInterface
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: switchStackId
in: path
description: Switch stack ID
schema:
type: string
required: true
- name: interfaceId
in: path
description: Interface ID
schema:
type: string
required: true
responses:
'204':
description: Successful operation
summary: Delete a layer 3 interface from a switch stack
tags:
- switch.configure
/networks/{networkId}/switch/stacks/{switchStackId}/routing/interfaces/{interfaceId}/dhcp:
get:
description: Return a layer 3 interface DHCP configuration for a switch stack
operationId: getNetworkSwitchStackRoutingInterfaceDhcp
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: switchStackId
in: path
description: Switch stack ID
schema:
type: string
required: true
- name: interfaceId
in: path
description: Interface ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
dhcpMode:
type: string
description: The DHCP mode options for the switch stack interface ('dhcpDisabled', 'dhcpRelay' or 'dhcpServer')
dhcpRelayServerIps:
type: array
items:
type: string
description: The DHCP relay server IPs to which DHCP packets would get relayed for the switch stack interface
dhcpLeaseTime:
type: string
description: The DHCP lease time config for the dhcp server running on the switch stack interface ('30 minutes', '1 hour', '4 hours', '12 hours', '1 day' or '1 week')
dnsNameserversOption:
type: string
description: The DHCP name server option for the dhcp server running on the switch stack interface ('googlePublicDns', 'openDns' or 'custom')
dnsCustomNameservers:
type: array
items:
type: string
description: The DHCP name server IPs when DHCP name server option is 'custom'
bootOptionsEnabled:
type: boolean
description: Enable DHCP boot options to provide PXE boot options configs for the dhcp server running on the switch stack interface
bootNextServer:
type: string
description: The PXE boot server IP for the DHCP server running on the switch stack interface
bootFileName:
type: string
description: The PXE boot server file name for the DHCP server running on the switch stack interface
dhcpOptions:
type: array
items:
type: object
properties:
code:
type: string
description: The code for DHCP option which should be from 2 to 254
type:
type: string
description: The type of the DHCP option which should be one of ('text', 'ip', 'integer' or 'hex')
value:
type: string
description: The value of the DHCP option
description: Array of DHCP options consisting of code, type and value for the DHCP server running on the switch stack interface
reservedIpRanges:
type: array
items:
type: object
properties:
start:
type: string
description: The starting IP address of the reserved IP range
end:
type: string
description: The ending IP address of the reserved IP range
comment:
type: string
description: The comment for the reserved IP range
description: Array of DHCP reserved IP assignments for the DHCP server running on the switch stack interface
fixedIpAssignments:
type: array
items:
type: object
properties:
name:
type: string
description: The name of the client which has fixed IP address
mac:
type: string
description: The MAC address of the client which has fixed IP address
ip:
type: string
description: The IP address of the client which has fixed IP address assigned to it
description: Array of DHCP reserved IP assignments for the DHCP server running on the switch stack interface
example:
dhcpMode: dhcpServer
dhcpRelayServerIps:
- 1.2.3.4
dhcpLeaseTime: 1 day
dnsNameserversOption: custom
dnsCustomNameservers:
- 8.8.8.8, 8.8.4.4
bootOptionsEnabled: true
bootNextServer: 1.2.3.4
bootFileName: home_boot_file
dhcpOptions:
- code: '5'
type: text
value: five
reservedIpRanges:
- start: 192.168.1.1
end: 192.168.1.10
comment: A reserved IP range
fixedIpAssignments:
- name: Cisco Meraki valued client
mac: 22:33:44:55:66:77
ip: 192.168.1.12
summary: Return a layer 3 interface DHCP configuration for a switch stack
tags:
- switch.configure
put:
description: Update a layer 3 interface DHCP configuration for a switch stack
operationId: updateNetworkSwitchStackRoutingInterfaceDhcp
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: switchStackId
in: path
description: Switch stack ID
schema:
type: string
required: true
- name: interfaceId
in: path
description: Interface ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
dhcpMode:
type: string
enum:
- dhcpDisabled
- dhcpRelay
- dhcpServer
description: "The DHCP mode options for the switch stack interface\n ('dhcpDisabled', 'dhcpRelay' or 'dhcpServer')"
dhcpRelayServerIps:
type: array
items:
type: string
description: The DHCP relay server IPs to which DHCP packets would get relayed for the switch stack interface
dhcpLeaseTime:
type: string
enum:
- 1 day
- 1 hour
- 1 week
- 12 hours
- 30 minutes
- 4 hours
description: "The DHCP lease time config for the dhcp server running on switch stack interface\n ('30 minutes', '1 hour', '4 hours', '12 hours', '1 day' or '1 week')"
dnsNameserversOption:
type: string
enum:
- custom
- googlePublicDns
- openDns
description: "The DHCP name server option for the dhcp server running on the switch stack interface\n ('googlePublicDns', 'openDns' or 'custom')"
dnsCustomNameservers:
type: array
items:
type: string
description: "The DHCP name server IPs when DHCP name server option is '\n custom'"
bootOptionsEnabled:
type: boolean
description: "Enable DHCP boot options to provide PXE boot options configs for the dhcp server running on the switch\n stack interface"
bootNextServer:
type: string
description: The PXE boot server IP for the DHCP server running on the switch stack interface
bootFileName:
type: string
description: The PXE boot server file name for the DHCP server running on the switch stack interface
dhcpOptions:
type: array
items:
type: object
properties:
code:
type: string
description: The code for DHCP option which should be from 2 to 254
type:
type: string
enum:
- hex
- integer
- ip
- text
description: "The type of the DHCP option which should be one of\n ('text', 'ip', 'integer' or 'hex')"
value:
type: string
description: The value of the DHCP option
required:
- code
- type
- value
description: "Array of DHCP options consisting of code, type and value for the DHCP server running on the\n switch stack interface"
reservedIpRanges:
type: array
items:
type: object
properties:
start:
type: string
description: The starting IP address of the reserved IP range
end:
type: string
description: The ending IP address of the reserved IP range
comment:
type: string
description: The comment for the reserved IP range
required:
- start
- end
description: Array of DHCP reserved IP assignments for the DHCP server running on the switch stack interface
fixedIpAssignments:
type: array
items:
type: object
properties:
name:
type: string
description: The name of the client which has fixed IP address
mac:
type: string
description: The MAC address of the client which has fixed IP address
ip:
type: string
description: The IP address of the client which has fixed IP address assigned to it
required:
- name
- mac
- ip
description: Array of DHCP fixed IP assignments for the DHCP server running on the switch stack interface
example:
dhcpMode: dhcpServer
dhcpRelayServerIps:
- 1.2.3.4
dhcpLeaseTime: 1 day
dnsNameserversOption: custom
dnsCustomNameservers:
- 8.8.8.8, 8.8.4.4
bootOptionsEnabled: true
bootNextServer: 1.2.3.4
bootFileName: home_boot_file
dhcpOptions:
- code: '5'
type: text
value: five
reservedIpRanges:
- start: 192.168.1.1
end: 192.168.1.10
comment: A reserved IP range
fixedIpAssignments:
- name: Cisco Meraki valued client
mac: 22:33:44:55:66:77
ip: 192.168.1.12
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
dhcpMode:
type: string
description: The DHCP mode options for the switch stack interface ('dhcpDisabled', 'dhcpRelay' or 'dhcpServer')
dhcpRelayServerIps:
type: array
items:
type: string
description: The DHCP relay server IPs to which DHCP packets would get relayed for the switch stack interface
dhcpLeaseTime:
type: string
description: The DHCP lease time config for the dhcp server running on the switch stack interface ('30 minutes', '1 hour', '4 hours', '12 hours', '1 day' or '1 week')
dnsNameserversOption:
type: string
description: The DHCP name server option for the dhcp server running on the switch stack interface ('googlePublicDns', 'openDns' or 'custom')
dnsCustomNameservers:
type: array
items:
type: string
description: The DHCP name server IPs when DHCP name server option is 'custom'
bootOptionsEnabled:
type: boolean
description: Enable DHCP boot options to provide PXE boot options configs for the dhcp server running on the switch stack interface
bootNextServer:
type: string
description: The PXE boot server IP for the DHCP server running on the switch stack interface
bootFileName:
type: string
description: The PXE boot server file name for the DHCP server running on the switch stack interface
dhcpOptions:
type: array
items:
type: object
properties:
code:
type: string
description: The code for DHCP option which should be from 2 to 254
type:
type: string
description: The type of the DHCP option which should be one of ('text', 'ip', 'integer' or 'hex')
value:
type: string
description: The value of the DHCP option
description: Array of DHCP options consisting of code, type and value for the DHCP server running on the switch stack interface
reservedIpRanges:
type: array
items:
type: object
properties:
start:
type: string
description: The starting IP address of the reserved IP range
end:
type: string
description: The ending IP address of the reserved IP range
comment:
type: string
description: The comment for the reserved IP range
description: Array of DHCP reserved IP assignments for the DHCP server running on the switch stack interface
fixedIpAssignments:
type: array
items:
type: object
properties:
name:
type: string
description: The name of the client which has fixed IP address
mac:
type: string
description: The MAC address of the client which has fixed IP address
ip:
type: string
description: The IP address of the client which has fixed IP address assigned to it
description: Array of DHCP reserved IP assignments for the DHCP server running on the switch stack interface
example:
dhcpMode: dhcpServer
dhcpRelayServerIps:
- 1.2.3.4
dhcpLeaseTime: 1 day
dnsNameserversOption: custom
dnsCustomNameservers:
- 8.8.8.8, 8.8.4.4
bootOptionsEnabled: true
bootNextServer: 1.2.3.4
bootFileName: home_boot_file
dhcpOptions:
- code: '5'
type: text
value: five
reservedIpRanges:
- start: 192.168.1.1
end: 192.168.1.10
comment: A reserved IP range
fixedIpAssignments:
- name: Cisco Meraki valued client
mac: 22:33:44:55:66:77
ip: 192.168.1.12
summary: Update a layer 3 interface DHCP configuration for a switch stack
tags:
- switch.configure
/networks/{networkId}/switch/stacks/{switchStackId}/routing/staticRoutes:
get:
description: List layer 3 static routes for a switch stack
operationId: getNetworkSwitchStackRoutingStaticRoutes
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: switchStackId
in: path
description: Switch stack ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
staticRouteId:
type: string
description: The identifier of a layer 3 static route
name:
type: string
description: The name or description of the layer 3 static route
subnet:
type: string
description: The IP address of the subnetwork specified in CIDR notation (ex. 1.2.3.0/24)
nextHopIp:
type: string
description: The IP address of the router to which traffic for this destination network should be sent
managementNextHop:
type: string
description: Optional fallback IP address for management traffic
advertiseViaOspfEnabled:
type: boolean
description: Option to advertise static routes via OSPF
preferOverOspfRoutesEnabled:
type: boolean
description: Option to prefer static routes over OSPF routes
required:
- subnet
- nextHopIp
example:
- staticRouteId: '1234'
name: My route
subnet: 192.168.1.0/24
nextHopIp: 1.2.3.4
managementNextHop: 1.2.3.5
advertiseViaOspfEnabled: false
preferOverOspfRoutesEnabled: false
summary: List layer 3 static routes for a switch stack
tags:
- switch.configure
post:
description: Create a layer 3 static route for a switch stack
operationId: createNetworkSwitchStackRoutingStaticRoute
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: switchStackId
in: path
description: Switch stack ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name or description for layer 3 static route
subnet:
type: string
description: The subnet which is routed via this static route and should be specified in CIDR notation (ex. 1.2.3.0/24)
nextHopIp:
type: string
description: IP address of the next hop device to which the device sends its traffic for the subnet
advertiseViaOspfEnabled:
type: boolean
description: Option to advertise static route via OSPF
preferOverOspfRoutesEnabled:
type: boolean
description: Option to prefer static route over OSPF routes
example:
name: My route
subnet: 192.168.1.0/24
nextHopIp: 1.2.3.4
advertiseViaOspfEnabled: false
preferOverOspfRoutesEnabled: false
required:
- subnet
- nextHopIp
required: true
responses:
'201':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
staticRouteId:
type: string
description: The identifier of a layer 3 static route
name:
type: string
description: The name or description of the layer 3 static route
subnet:
type: string
description: The IP address of the subnetwork specified in CIDR notation (ex. 1.2.3.0/24)
nextHopIp:
type: string
description: The IP address of the router to which traffic for this destination network should be sent
managementNextHop:
type: string
description: Optional fallback IP address for management traffic
advertiseViaOspfEnabled:
type: boolean
description: Option to advertise static routes via OSPF
preferOverOspfRoutesEnabled:
type: boolean
description: Option to prefer static routes over OSPF routes
required:
- subnet
- nextHopIp
example:
staticRouteId: '1234'
name: My route
subnet: 192.168.1.0/24
nextHopIp: 1.2.3.4
managementNextHop: 1.2.3.5
advertiseViaOspfEnabled: false
preferOverOspfRoutesEnabled: false
summary: Create a layer 3 static route for a switch stack
tags:
- switch.configure
/networks/{networkId}/switch/stacks/{switchStackId}/routing/staticRoutes/{staticRouteId}:
get:
description: Return a layer 3 static route for a switch stack
operationId: getNetworkSwitchStackRoutingStaticRoute
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: switchStackId
in: path
description: Switch stack ID
schema:
type: string
required: true
- name: staticRouteId
in: path
description: Static route ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
staticRouteId:
type: string
description: The identifier of a layer 3 static route
name:
type: string
description: The name or description of the layer 3 static route
subnet:
type: string
description: The IP address of the subnetwork specified in CIDR notation (ex. 1.2.3.0/24)
nextHopIp:
type: string
description: The IP address of the router to which traffic for this destination network should be sent
managementNextHop:
type: string
description: Optional fallback IP address for management traffic
advertiseViaOspfEnabled:
type: boolean
description: Option to advertise static routes via OSPF
preferOverOspfRoutesEnabled:
type: boolean
description: Option to prefer static routes over OSPF routes
required:
- subnet
- nextHopIp
example:
staticRouteId: '1234'
name: My route
subnet: 192.168.1.0/24
nextHopIp: 1.2.3.4
managementNextHop: 1.2.3.5
advertiseViaOspfEnabled: false
preferOverOspfRoutesEnabled: false
summary: Return a layer 3 static route for a switch stack
tags:
- switch.configure
put:
description: Update a layer 3 static route for a switch stack
operationId: updateNetworkSwitchStackRoutingStaticRoute
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: switchStackId
in: path
description: Switch stack ID
schema:
type: string
required: true
- name: staticRouteId
in: path
description: Static route ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name or description for layer 3 static route
subnet:
type: string
description: The subnet which is routed via this static route and should be specified in CIDR notation (ex. 1.2.3.0/24)
nextHopIp:
type: string
description: IP address of the next hop device to which the device sends its traffic for the subnet
managementNextHop:
type: string
description: Optional fallback IP address for management traffic
advertiseViaOspfEnabled:
type: boolean
description: Option to advertise static route via OSPF
preferOverOspfRoutesEnabled:
type: boolean
description: Option to prefer static route over OSPF routes
example:
name: My route
subnet: 192.168.1.0/24
nextHopIp: 1.2.3.4
managementNextHop: 1.2.3.5
advertiseViaOspfEnabled: false
preferOverOspfRoutesEnabled: false
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
staticRouteId:
type: string
description: The identifier of a layer 3 static route
name:
type: string
description: The name or description of the layer 3 static route
subnet:
type: string
description: The IP address of the subnetwork specified in CIDR notation (ex. 1.2.3.0/24)
nextHopIp:
type: string
description: The IP address of the router to which traffic for this destination network should be sent
managementNextHop:
type: string
description: Optional fallback IP address for management traffic
advertiseViaOspfEnabled:
type: boolean
description: Option to advertise static routes via OSPF
preferOverOspfRoutesEnabled:
type: boolean
description: Option to prefer static routes over OSPF routes
required:
- subnet
- nextHopIp
example:
staticRouteId: '1234'
name: My route
subnet: 192.168.1.0/24
nextHopIp: 1.2.3.4
managementNextHop: 1.2.3.5
advertiseViaOspfEnabled: false
preferOverOspfRoutesEnabled: false
summary: Update a layer 3 static route for a switch stack
tags:
- switch.configure
delete:
description: Delete a layer 3 static route for a switch stack
operationId: deleteNetworkSwitchStackRoutingStaticRoute
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: switchStackId
in: path
description: Switch stack ID
schema:
type: string
required: true
- name: staticRouteId
in: path
description: Static route ID
schema:
type: string
required: true
responses:
'204':
description: Successful operation
summary: Delete a layer 3 static route for a switch stack
tags:
- switch.configure
/networks/{networkId}/switch/stormControl:
get:
description: Return the storm control configuration for a switch network
operationId: getNetworkSwitchStormControl
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
broadcastThreshold:
type: integer
description: Broadcast threshold.
multicastThreshold:
type: integer
description: Multicast threshold.
unknownUnicastThreshold:
type: integer
description: Unknown Unicast threshold.
treatTheseTrafficTypesAsOneThreshold:
type: array
items:
type: string
description: Grouped traffic types
example:
broadcastThreshold: 30
multicastThreshold: 30
unknownUnicastThreshold: 30
treatTheseTrafficTypesAsOneThreshold:
- broadcast
- multicast
summary: Return the storm control configuration for a switch network
tags:
- switch.configure
put:
description: Update the storm control configuration for a switch network
operationId: updateNetworkSwitchStormControl
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
broadcastThreshold:
type: integer
description: Percentage (1 to 99) of total available port bandwidth for broadcast traffic type. Default value 100 percent rate is to clear the configuration.
multicastThreshold:
type: integer
description: Percentage (1 to 99) of total available port bandwidth for multicast traffic type. Default value 100 percent rate is to clear the configuration.
unknownUnicastThreshold:
type: integer
description: Percentage (1 to 99) of total available port bandwidth for unknown unicast (dlf-destination lookup failure) traffic type. Default value 100 percent rate is to clear the configuration.
treatTheseTrafficTypesAsOneThreshold:
type: array
items:
type: string
description: Grouped traffic types
example:
broadcastThreshold: 30
multicastThreshold: 30
unknownUnicastThreshold: 30
treatTheseTrafficTypesAsOneThreshold:
- broadcast
- multicast
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
broadcastThreshold:
type: integer
description: Broadcast threshold.
multicastThreshold:
type: integer
description: Multicast threshold.
unknownUnicastThreshold:
type: integer
description: Unknown Unicast threshold.
treatTheseTrafficTypesAsOneThreshold:
type: array
items:
type: string
description: Grouped traffic types
example:
broadcastThreshold: 30
multicastThreshold: 30
unknownUnicastThreshold: 30
treatTheseTrafficTypesAsOneThreshold:
- broadcast
- multicast
summary: Update the storm control configuration for a switch network
tags:
- switch.configure
/networks/{networkId}/switch/stp:
get:
description: Returns STP settings
operationId: getNetworkSwitchStp
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
rstpEnabled:
type: boolean
description: The spanning tree protocol status in network
stpBridgePriority:
type: array
items:
type: object
properties:
switches:
type: array
items:
type: string
description: List of switch serial numbers
stacks:
type: array
items:
type: string
description: List of stack IDs
switchProfiles:
type: array
items:
type: string
description: List of switch template IDs
stpPriority:
type: integer
description: STP priority for switch, stacks, or switch templates
description: STP bridge priority for switches/stacks or switch templates. An empty array will clear the STP bridge priority settings.
example:
rstpEnabled: true
stpBridgePriority:
- switches:
- Q234-ABCD-0001
- Q234-ABCD-0002
- Q234-ABCD-0003
stacks:
- '789102'
- '123456'
- '129102'
switchProfiles:
- '1098'
- '1099'
- '1100'
stpPriority: 4096
summary: Returns STP settings
tags:
- switch.configure
put:
description: Updates STP settings
operationId: updateNetworkSwitchStp
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
rstpEnabled:
type: boolean
description: The spanning tree protocol status in network
stpBridgePriority:
type: array
items:
type: object
properties:
switchProfiles:
type: array
items:
type: string
description: List of switch template IDs
switches:
type: array
items:
type: string
description: List of switch serial numbers
stacks:
type: array
items:
type: string
description: List of stack IDs
stpPriority:
type: integer
description: STP priority for switch, stacks, or switch templates
required:
- stpPriority
description: STP bridge priority for switches/stacks or switch templates. An empty array will clear the STP bridge priority settings.
example:
rstpEnabled: true
stpBridgePriority:
- switchProfiles:
- '1098'
- '1099'
- '1100'
switches:
- Q234-ABCD-0001
- Q234-ABCD-0002
- Q234-ABCD-0003
stacks:
- '789102'
- '123456'
- '129102'
stpPriority: 4096
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
rstpEnabled:
type: boolean
description: The spanning tree protocol status in network
stpBridgePriority:
type: array
items:
type: object
properties:
switches:
type: array
items:
type: string
description: List of switch serial numbers
stacks:
type: array
items:
type: string
description: List of stack IDs
switchProfiles:
type: array
items:
type: string
description: List of switch template IDs
stpPriority:
type: integer
description: STP priority for switch, stacks, or switch templates
description: STP bridge priority for switches/stacks or switch templates. An empty array will clear the STP bridge priority settings.
example:
rstpEnabled: true
stpBridgePriority:
- switches:
- Q234-ABCD-0001
- Q234-ABCD-0002
- Q234-ABCD-0003
stacks:
- '789102'
- '123456'
- '129102'
switchProfiles:
- '1098'
- '1099'
- '1100'
stpPriority: 4096
summary: Updates STP settings
tags:
- switch.configure
/organizations/{organizationId}/configTemplates/{configTemplateId}/switch/profiles:
get:
description: List the switch templates for your switch template configuration
operationId: getOrganizationConfigTemplateSwitchProfiles
parameters:
- name: organizationId
in: path
description: Organization ID
schema:
type: string
required: true
- name: configTemplateId
in: path
description: Config template ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
switchProfileId:
type: string
description: Switch template id
name:
type: string
description: Switch template name
model:
type: string
description: Switch model
example:
- switchProfileId: '1234'
name: A Simple Switch Template
model: MS450-24
summary: List the switch templates for your switch template configuration
tags:
- switch.configure
/organizations/{organizationId}/configTemplates/{configTemplateId}/switch/profiles/{profileId}/ports:
get:
description: Return all the ports of a switch template
operationId: getOrganizationConfigTemplateSwitchProfilePorts
parameters:
- name: organizationId
in: path
description: Organization ID
schema:
type: string
required: true
- name: configTemplateId
in: path
description: Config template ID
schema:
type: string
required: true
- name: profileId
in: path
description: Profile ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
portId:
type: string
description: The identifier of the switch template port.
name:
type: string
description: The name of the switch template port.
tags:
type: array
items:
type: string
description: The list of tags of the switch template port.
enabled:
type: boolean
description: The status of the switch template port.
poeEnabled:
type: boolean
description: The PoE status of the switch template port.
type:
type: string
enum:
- access
- stack
- trunk
description: The type of the switch template port ('trunk', 'access' or 'stack').
vlan:
type: integer
description: The VLAN of the switch template port. For a trunk port, this is the native VLAN. A null value will clear the value set for trunk ports.
voiceVlan:
type: integer
description: The voice VLAN of the switch template port. Only applicable to access ports.
allowedVlans:
type: string
description: The VLANs allowed on the switch template port. Only applicable to trunk ports.
isolationEnabled:
type: boolean
description: The isolation status of the switch template port.
rstpEnabled:
type: boolean
description: The rapid spanning tree protocol status.
stpGuard:
type: string
enum:
- bpdu guard
- disabled
- loop guard
- root guard
description: The state of the STP guard ('disabled', 'root guard', 'bpdu guard' or 'loop guard').
linkNegotiation:
type: string
description: The link speed for the switch template port.
linkNegotiationCapabilities:
type: array
items:
type: string
description: Available link speeds for the switch template port.
portScheduleId:
type: string
description: The ID of the port schedule. A value of null will clear the port schedule.
schedule:
type: object
properties:
id:
type: string
description: The ID of the port schedule.
name:
type: string
description: The name of the port schedule.
description: The port schedule data.
udld:
type: string
enum:
- Alert only
- Enforce
description: The action to take when Unidirectional Link is detected (Alert only, Enforce). Default configuration is Alert only.
accessPolicyType:
type: string
enum:
- Custom access policy
- MAC allow list
- Open
- Sticky MAC allow list
description: The type of the access policy of the switch template port. Only applicable to access ports. Can be one of 'Open', 'Custom access policy', 'MAC allow list' or 'Sticky MAC allow list'.
accessPolicyNumber:
type: integer
description: The number of a custom access policy to configure on the switch template port. Only applicable when 'accessPolicyType' is 'Custom access policy'.
macAllowList:
type: array
items:
type: string
description: Only devices with MAC addresses specified in this list will have access to this port. Up to 20 MAC addresses can be defined. Only applicable when 'accessPolicyType' is 'MAC allow list'.
stickyMacAllowList:
type: array
items:
type: string
description: The initial list of MAC addresses for sticky Mac allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'.
stickyMacAllowListLimit:
type: integer
description: The maximum number of MAC addresses for sticky MAC allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'.
stormControlEnabled:
type: boolean
description: The storm control status of the switch template port.
flexibleStackingEnabled:
type: boolean
description: For supported switches (e.g. MS420/MS425), whether or not the port has flexible stacking enabled.
daiTrusted:
type: boolean
description: If true, ARP packets for this port will be considered trusted, and Dynamic ARP Inspection will allow the traffic.
profile:
type: object
properties:
enabled:
type: boolean
description: When enabled, override this port's configuration with a port profile.
id:
type: string
description: When enabled, the ID of the port profile used to override the port's configuration.
iname:
type: string
description: When enabled, the IName of the profile.
description: Profile attributes
module:
type: object
properties:
model:
type: string
description: The model of the expansion module.
description: Expansion module
mirror:
type: object
properties:
mode:
type: string
enum:
- Destination port
- Not mirroring traffic
- Source port
description: The port mirror mode. Can be one of ('Destination port', 'Source port' or 'Not mirroring traffic').
description: Port mirror
dot3az:
type: object
properties:
enabled:
type: boolean
description: The Energy Efficient Ethernet status of the switch template port.
description: dot3az settings for the port
stackwiseVirtual:
type: object
properties:
isStackWiseVirtualLink:
type: boolean
description: For SVL devices, whether or not the port is used for StackWise Virtual Link.
isDualActiveDetector:
type: boolean
description: For SVL devices, whether or not the port is used for Dual Active Detection.
description: Stackwise Virtual settings for the port
example:
- portId: '1'
name: My switch port
tags:
- tag1
- tag2
enabled: true
poeEnabled: true
type: access
vlan: 10
voiceVlan: 20
allowedVlans: 1,3,5-10
isolationEnabled: false
rstpEnabled: true
stpGuard: disabled
linkNegotiation: Auto negotiate
linkNegotiationCapabilities:
- Auto negotiate
- 1 Gigabit full duplex (auto)
portScheduleId: '1234'
schedule:
id: '1234'
name: Port Schedule
udld: Alert only
accessPolicyType: Sticky MAC allow list
accessPolicyNumber: 2
macAllowList:
- 34:56:fe:ce:8e:a0
- 34:56:fe:ce:8e:a1
stickyMacAllowList:
- 34:56:fe:ce:8e:b0
- 34:56:fe:ce:8e:b1
stickyMacAllowListLimit: 5
stormControlEnabled: true
flexibleStackingEnabled: true
daiTrusted: false
profile:
enabled: false
id: '1284392014819'
iname: iname
module:
model: MA-MOD-4X10G
mirror:
mode: Not mirroring traffic
dot3az:
enabled: false
stackwiseVirtual:
isStackWiseVirtualLink: false
isDualActiveDetector: false
summary: Return all the ports of a switch template
tags:
- switch.configure
/organizations/{organizationId}/configTemplates/{configTemplateId}/switch/profiles/{profileId}/ports/{portId}:
get:
description: Return a switch template port
operationId: getOrganizationConfigTemplateSwitchProfilePort
parameters:
- name: organizationId
in: path
description: Organization ID
schema:
type: string
required: true
- name: configTemplateId
in: path
description: Config template ID
schema:
type: string
required: true
- name: profileId
in: path
description: Profile ID
schema:
type: string
required: true
- name: portId
in: path
description: Port ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
portId:
type: string
description: The identifier of the switch template port.
name:
type: string
description: The name of the switch template port.
tags:
type: array
items:
type: string
description: The list of tags of the switch template port.
enabled:
type: boolean
description: The status of the switch template port.
poeEnabled:
type: boolean
description: The PoE status of the switch template port.
type:
type: string
enum:
- access
- stack
- trunk
description: The type of the switch template port ('trunk', 'access' or 'stack').
vlan:
type: integer
description: The VLAN of the switch template port. For a trunk port, this is the native VLAN. A null value will clear the value set for trunk ports.
voiceVlan:
type: integer
description: The voice VLAN of the switch template port. Only applicable to access ports.
allowedVlans:
type: string
description: The VLANs allowed on the switch template port. Only applicable to trunk ports.
isolationEnabled:
type: boolean
description: The isolation status of the switch template port.
rstpEnabled:
type: boolean
description: The rapid spanning tree protocol status.
stpGuard:
type: string
enum:
- bpdu guard
- disabled
- loop guard
- root guard
description: The state of the STP guard ('disabled', 'root guard', 'bpdu guard' or 'loop guard').
linkNegotiation:
type: string
description: The link speed for the switch template port.
linkNegotiationCapabilities:
type: array
items:
type: string
description: Available link speeds for the switch template port.
portScheduleId:
type: string
description: The ID of the port schedule. A value of null will clear the port schedule.
schedule:
type: object
properties:
id:
type: string
description: The ID of the port schedule.
name:
type: string
description: The name of the port schedule.
description: The port schedule data.
udld:
type: string
enum:
- Alert only
- Enforce
description: The action to take when Unidirectional Link is detected (Alert only, Enforce). Default configuration is Alert only.
accessPolicyType:
type: string
enum:
- Custom access policy
- MAC allow list
- Open
- Sticky MAC allow list
description: The type of the access policy of the switch template port. Only applicable to access ports. Can be one of 'Open', 'Custom access policy', 'MAC allow list' or 'Sticky MAC allow list'.
accessPolicyNumber:
type: integer
description: The number of a custom access policy to configure on the switch template port. Only applicable when 'accessPolicyType' is 'Custom access policy'.
macAllowList:
type: array
items:
type: string
description: Only devices with MAC addresses specified in this list will have access to this port. Up to 20 MAC addresses can be defined. Only applicable when 'accessPolicyType' is 'MAC allow list'.
stickyMacAllowList:
type: array
items:
type: string
description: The initial list of MAC addresses for sticky Mac allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'.
stickyMacAllowListLimit:
type: integer
description: The maximum number of MAC addresses for sticky MAC allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'.
stormControlEnabled:
type: boolean
description: The storm control status of the switch template port.
flexibleStackingEnabled:
type: boolean
description: For supported switches (e.g. MS420/MS425), whether or not the port has flexible stacking enabled.
daiTrusted:
type: boolean
description: If true, ARP packets for this port will be considered trusted, and Dynamic ARP Inspection will allow the traffic.
profile:
type: object
properties:
enabled:
type: boolean
description: When enabled, override this port's configuration with a port profile.
id:
type: string
description: When enabled, the ID of the port profile used to override the port's configuration.
iname:
type: string
description: When enabled, the IName of the profile.
description: Profile attributes
module:
type: object
properties:
model:
type: string
description: The model of the expansion module.
description: Expansion module
mirror:
type: object
properties:
mode:
type: string
enum:
- Destination port
- Not mirroring traffic
- Source port
description: The port mirror mode. Can be one of ('Destination port', 'Source port' or 'Not mirroring traffic').
description: Port mirror
dot3az:
type: object
properties:
enabled:
type: boolean
description: The Energy Efficient Ethernet status of the switch template port.
description: dot3az settings for the port
stackwiseVirtual:
type: object
properties:
isStackWiseVirtualLink:
type: boolean
description: For SVL devices, whether or not the port is used for StackWise Virtual Link.
isDualActiveDetector:
type: boolean
description: For SVL devices, whether or not the port is used for Dual Active Detection.
description: Stackwise Virtual settings for the port
example:
portId: '1'
name: My switch port
tags:
- tag1
- tag2
enabled: true
poeEnabled: true
type: access
vlan: 10
voiceVlan: 20
allowedVlans: 1,3,5-10
isolationEnabled: false
rstpEnabled: true
stpGuard: disabled
linkNegotiation: Auto negotiate
linkNegotiationCapabilities:
- Auto negotiate
- 1 Gigabit full duplex (auto)
portScheduleId: '1234'
schedule:
id: '1234'
name: Port Schedule
udld: Alert only
accessPolicyType: Sticky MAC allow list
accessPolicyNumber: 2
macAllowList:
- 34:56:fe:ce:8e:a0
- 34:56:fe:ce:8e:a1
stickyMacAllowList:
- 34:56:fe:ce:8e:b0
- 34:56:fe:ce:8e:b1
stickyMacAllowListLimit: 5
stormControlEnabled: true
flexibleStackingEnabled: true
daiTrusted: false
profile:
enabled: false
id: '1284392014819'
iname: iname
module:
model: MA-MOD-4X10G
mirror:
mode: Not mirroring traffic
dot3az:
enabled: false
stackwiseVirtual:
isStackWiseVirtualLink: false
isDualActiveDetector: false
summary: Return a switch template port
tags:
- switch.configure
put:
description: Update a switch template port
operationId: updateOrganizationConfigTemplateSwitchProfilePort
parameters:
- name: organizationId
in: path
description: Organization ID
schema:
type: string
required: true
- name: configTemplateId
in: path
description: Config template ID
schema:
type: string
required: true
- name: profileId
in: path
description: Profile ID
schema:
type: string
required: true
- name: portId
in: path
description: Port ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: The name of the switch template port.
tags:
type: array
items:
type: string
description: The list of tags of the switch template port.
enabled:
type: boolean
description: The status of the switch template port.
poeEnabled:
type: boolean
description: The PoE status of the switch template port.
type:
type: string
enum:
- access
- stack
- trunk
description: The type of the switch template port ('trunk', 'access' or 'stack').
vlan:
type: integer
description: The VLAN of the switch template port. For a trunk port, this is the native VLAN. A null value will clear the value set for trunk ports.
voiceVlan:
type: integer
description: The voice VLAN of the switch template port. Only applicable to access ports.
allowedVlans:
type: string
description: The VLANs allowed on the switch template port. Only applicable to trunk ports.
isolationEnabled:
type: boolean
description: The isolation status of the switch template port.
rstpEnabled:
type: boolean
description: The rapid spanning tree protocol status.
stpGuard:
type: string
enum:
- bpdu guard
- disabled
- loop guard
- root guard
description: The state of the STP guard ('disabled', 'root guard', 'bpdu guard' or 'loop guard').
linkNegotiation:
type: string
description: The link speed for the switch template port.
portScheduleId:
type: string
description: The ID of the port schedule. A value of null will clear the port schedule.
udld:
type: string
enum:
- Alert only
- Enforce
description: The action to take when Unidirectional Link is detected (Alert only, Enforce). Default configuration is Alert only.
accessPolicyType:
type: string
enum:
- Custom access policy
- MAC allow list
- Open
- Sticky MAC allow list
description: The type of the access policy of the switch template port. Only applicable to access ports. Can be one of 'Open', 'Custom access policy', 'MAC allow list' or 'Sticky MAC allow list'.
accessPolicyNumber:
type: integer
description: The number of a custom access policy to configure on the switch template port. Only applicable when 'accessPolicyType' is 'Custom access policy'.
macAllowList:
type: array
items:
type: string
description: Only devices with MAC addresses specified in this list will have access to this port. Up to 20 MAC addresses can be defined. Only applicable when 'accessPolicyType' is 'MAC allow list'.
stickyMacAllowList:
type: array
items:
type: string
description: The initial list of MAC addresses for sticky Mac allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'.
stickyMacAllowListLimit:
type: integer
description: The maximum number of MAC addresses for sticky MAC allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'.
stormControlEnabled:
type: boolean
description: The storm control status of the switch template port.
flexibleStackingEnabled:
type: boolean
description: For supported switches (e.g. MS420/MS425), whether or not the port has flexible stacking enabled.
daiTrusted:
type: boolean
description: If true, ARP packets for this port will be considered trusted, and Dynamic ARP Inspection will allow the traffic.
profile:
type: object
properties:
enabled:
type: boolean
description: When enabled, override this port's configuration with a port profile.
id:
type: string
description: When enabled, the ID of the port profile used to override the port's configuration.
iname:
type: string
description: When enabled, the IName of the profile.
description: Profile attributes
dot3az:
type: object
properties:
enabled:
type: boolean
description: The Energy Efficient Ethernet status of the switch template port.
description: dot3az settings for the port
example:
name: My switch port
tags:
- tag1
- tag2
enabled: true
poeEnabled: true
type: access
vlan: 10
voiceVlan: 20
allowedVlans: 1,3,5-10
isolationEnabled: false
rstpEnabled: true
stpGuard: disabled
linkNegotiation: Auto negotiate
portScheduleId: '1234'
udld: Alert only
accessPolicyType: Sticky MAC allow list
accessPolicyNumber: 2
macAllowList:
- 34:56:fe:ce:8e:a0
- 34:56:fe:ce:8e:a1
stickyMacAllowList:
- 34:56:fe:ce:8e:b0
- 34:56:fe:ce:8e:b1
stickyMacAllowListLimit: 5
stormControlEnabled: true
flexibleStackingEnabled: true
daiTrusted: false
profile:
enabled: false
id: '1284392014819'
iname: iname
dot3az:
enabled: false
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
portId:
type: string
description: The identifier of the switch template port.
name:
type: string
description: The name of the switch template port.
tags:
type: array
items:
type: string
description: The list of tags of the switch template port.
enabled:
type: boolean
description: The status of the switch template port.
poeEnabled:
type: boolean
description: The PoE status of the switch template port.
type:
type: string
enum:
- access
- stack
- trunk
description: The type of the switch template port ('trunk', 'access' or 'stack').
vlan:
type: integer
description: The VLAN of the switch template port. For a trunk port, this is the native VLAN. A null value will clear the value set for trunk ports.
voiceVlan:
type: integer
description: The voice VLAN of the switch template port. Only applicable to access ports.
allowedVlans:
type: string
description: The VLANs allowed on the switch template port. Only applicable to trunk ports.
isolationEnabled:
type: boolean
description: The isolation status of the switch template port.
rstpEnabled:
type: boolean
description: The rapid spanning tree protocol status.
stpGuard:
type: string
enum:
- bpdu guard
- disabled
- loop guard
- root guard
description: The state of the STP guard ('disabled', 'root guard', 'bpdu guard' or 'loop guard').
linkNegotiation:
type: string
description: The link speed for the switch template port.
linkNegotiationCapabilities:
type: array
items:
type: string
description: Available link speeds for the switch template port.
portScheduleId:
type: string
description: The ID of the port schedule. A value of null will clear the port schedule.
schedule:
type: object
properties:
id:
type: string
description: The ID of the port schedule.
name:
type: string
description: The name of the port schedule.
description: The port schedule data.
udld:
type: string
enum:
- Alert only
- Enforce
description: The action to take when Unidirectional Link is detected (Alert only, Enforce). Default configuration is Alert only.
accessPolicyType:
type: string
enum:
- Custom access policy
- MAC allow list
- Open
- Sticky MAC allow list
description: The type of the access policy of the switch template port. Only applicable to access ports. Can be one of 'Open', 'Custom access policy', 'MAC allow list' or 'Sticky MAC allow list'.
accessPolicyNumber:
type: integer
description: The number of a custom access policy to configure on the switch template port. Only applicable when 'accessPolicyType' is 'Custom access policy'.
macAllowList:
type: array
items:
type: string
description: Only devices with MAC addresses specified in this list will have access to this port. Up to 20 MAC addresses can be defined. Only applicable when 'accessPolicyType' is 'MAC allow list'.
stickyMacAllowList:
type: array
items:
type: string
description: The initial list of MAC addresses for sticky Mac allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'.
stickyMacAllowListLimit:
type: integer
description: The maximum number of MAC addresses for sticky MAC allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'.
stormControlEnabled:
type: boolean
description: The storm control status of the switch template port.
flexibleStackingEnabled:
type: boolean
description: For supported switches (e.g. MS420/MS425), whether or not the port has flexible stacking enabled.
daiTrusted:
type: boolean
description: If true, ARP packets for this port will be considered trusted, and Dynamic ARP Inspection will allow the traffic.
profile:
type: object
properties:
enabled:
type: boolean
description: When enabled, override this port's configuration with a port profile.
id:
type: string
description: When enabled, the ID of the port profile used to override the port's configuration.
iname:
type: string
description: When enabled, the IName of the profile.
description: Profile attributes
module:
type: object
properties:
model:
type: string
description: The model of the expansion module.
description: Expansion module
mirror:
type: object
properties:
mode:
type: string
enum:
- Destination port
- Not mirroring traffic
- Source port
description: The port mirror mode. Can be one of ('Destination port', 'Source port' or 'Not mirroring traffic').
description: Port mirror
dot3az:
type: object
properties:
enabled:
type: boolean
description: The Energy Efficient Ethernet status of the switch template port.
description: dot3az settings for the port
stackwiseVirtual:
type: object
properties:
isStackWiseVirtualLink:
type: boolean
description: For SVL devices, whether or not the port is used for StackWise Virtual Link.
isDualActiveDetector:
type: boolean
description: For SVL devices, whether or not the port is used for Dual Active Detection.
description: Stackwise Virtual settings for the port
example:
portId: '1'
name: My switch port
tags:
- tag1
- tag2
enabled: true
poeEnabled: true
type: access
vlan: 10
voiceVlan: 20
allowedVlans: 1,3,5-10
isolationEnabled: false
rstpEnabled: true
stpGuard: disabled
linkNegotiation: Auto negotiate
linkNegotiationCapabilities:
- Auto negotiate
- 1 Gigabit full duplex (auto)
portScheduleId: '1234'
schedule:
id: '1234'
name: Port Schedule
udld: Alert only
accessPolicyType: Sticky MAC allow list
accessPolicyNumber: 2
macAllowList:
- 34:56:fe:ce:8e:a0
- 34:56:fe:ce:8e:a1
stickyMacAllowList:
- 34:56:fe:ce:8e:b0
- 34:56:fe:ce:8e:b1
stickyMacAllowListLimit: 5
stormControlEnabled: true
flexibleStackingEnabled: true
daiTrusted: false
profile:
enabled: false
id: '1284392014819'
iname: iname
module:
model: MA-MOD-4X10G
mirror:
mode: Not mirroring traffic
dot3az:
enabled: false
stackwiseVirtual:
isStackWiseVirtualLink: false
isDualActiveDetector: false
summary: Update a switch template port
tags:
- switch.configure
/organizations/{organizationId}/switch/devices/clone:
post:
description: 'Clone port-level and some switch-level configuration settings from a source switch to one or more target switches. Cloned settings include: Aggregation Groups, Power Settings, Multicast Settings, MTU Configuration, STP Bridge priority, Port Mirroring'
operationId: cloneOrganizationSwitchDevices
parameters:
- name: organizationId
in: path
description: Organization ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
sourceSerial:
type: string
description: Serial number of the source switch (must be on a network not bound to a template)
targetSerials:
type: array
items:
type: string
description: Array of serial numbers of one or more target switches (must be on a network not bound to a template)
example:
sourceSerial: Q234-ABCD-5678
targetSerials:
- Q234-ABCD-0001
- Q234-ABCD-0002
- Q234-ABCD-0003
required:
- sourceSerial
- targetSerials
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
sourceSerial:
type: string
description: Serial number of the source switch (must be on a network not bound to a template)
targetSerials:
type: array
items:
type: string
description: Array of serial numbers of one or more target switches (must be on a network not bound to a template)
example:
sourceSerial: Q234-ABCD-5678
targetSerials:
- Q234-ABCD-0001
- Q234-ABCD-0002
- Q234-ABCD-0003
summary: Clone port-level and some switch-level configuration settings from a source switch to one or more target switches
tags:
- switch.configure
/organizations/{organizationId}/switch/ports/bySwitch:
get:
description: List the switchports in an organization by switch
operationId: getOrganizationSwitchPortsBySwitch
parameters:
- name: organizationId
in: path
description: Organization ID
schema:
type: string
required: true
- name: perPage
in: query
description: The number of entries per page returned. Acceptable range is 3 - 50. Default is 50.
schema:
type: integer
- name: startingAfter
in: query
description: A token used by the server to indicate the start of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
schema:
type: string
- name: endingBefore
in: query
description: A token used by the server to indicate the end of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
schema:
type: string
- name: configurationUpdatedAfter
in: query
description: Optional parameter to filter items to switches where the configuration has been updated after the given timestamp.
schema:
type: string
format: date-time
- name: mac
in: query
description: Optional parameter to filter items to switches with MAC addresses that contain the search term or are an exact match.
schema:
type: string
- name: macs
in: query
description: Optional parameter to filter items to switches that have one of the provided MAC addresses.
schema:
type: array
items:
type: string
- name: name
in: query
description: Optional parameter to filter items to switches with names that contain the search term or are an exact match.
schema:
type: string
- name: networkIds
in: query
description: Optional parameter to filter items to switches in one of the provided networks.
schema:
type: array
items:
type: string
- name: portProfileIds
in: query
description: Optional parameter to filter items to switches that contain switchports belonging to one of the specified port profiles.
schema:
type: array
items:
type: string
- name: serial
in: query
description: Optional parameter to filter items to switches with serial number that contains the search term or are an exact match.
schema:
type: string
- name: serials
in: query
description: Optional parameter to filter items to switches that have one of the provided serials.
schema:
type: array
items:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: The name of the switch.
serial:
type: string
description: The serial number of the switch.
mac:
type: string
description: The MAC address of the switch.
network:
type: object
properties:
name:
type: string
description: The name of the network.
id:
type: string
description: The ID of the network.
description: Identifying information of the switch's network.
model:
type: string
description: The model of the switch.
ports:
type: array
items:
type: object
properties:
portId:
type: string
description: The identifier of the switch port.
name:
type: string
description: The name of the switch port.
tags:
type: array
items:
type: string
description: The list of tags of the switch port.
enabled:
type: boolean
description: The status of the switch port.
poeEnabled:
type: boolean
description: The PoE status of the switch port.
type:
type: string
enum:
- access
- stack
- trunk
description: The type of the switch port ('trunk', 'access' or 'stack').
vlan:
type: integer
description: The VLAN of the switch port. For a trunk port, this is the native VLAN. A null value will clear the value set for trunk ports.
voiceVlan:
type: integer
description: The voice VLAN of the switch port. Only applicable to access ports.
allowedVlans:
type: string
description: The VLANs allowed on the switch port. Only applicable to trunk ports.
rstpEnabled:
type: boolean
description: The rapid spanning tree protocol status.
stpGuard:
type: string
enum:
- bpdu guard
- disabled
- loop guard
- root guard
description: The state of the STP guard ('disabled', 'root guard', 'bpdu guard' or 'loop guard').
linkNegotiation:
type: string
description: The link speed for the switch port.
accessPolicyType:
type: string
enum:
- Custom access policy
- MAC allow list
- Open
- Sticky MAC allow list
description: The type of the access policy of the switch port. Only applicable to access ports. Can be one of 'Open', 'Custom access policy', 'MAC allow list' or 'Sticky MAC allow list'.
stickyMacAllowList:
type: array
items:
type: string
description: The initial list of MAC addresses for sticky Mac allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'.
stickyMacAllowListLimit:
type: integer
description: The maximum number of MAC addresses for sticky MAC allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'.
description: Ports belonging to the switch
example:
name: Example Switch
serial: Q555-5555-5555
mac: 01:23:45:67:ab:cd
network:
name: Example Network
id: L_12345
model: MS120-8
ports:
- portId: '1'
name: My switch port
tags:
- tag1
- tag2
enabled: true
poeEnabled: true
type: access
vlan: 10
voiceVlan: 20
allowedVlans: 1,3,5-10
rstpEnabled: true
stpGuard: disabled
linkNegotiation: Auto negotiate
accessPolicyType: Sticky MAC allow list
stickyMacAllowList:
- 34:56:fe:ce:8e:b0
- 34:56:fe:ce:8e:b1
stickyMacAllowListLimit: 5
headers:
Link:
schema:
type: string
description: A comma-separated list of first, last, prev, and next relative links used for subsequent paginated requests.
summary: List the switchports in an organization by switch
tags:
- switch.configure
components:
securitySchemes:
OAuth2ClientCredentials:
type: oauth2
flows:
clientCredentials:
tokenUrl: https://api-prd.kpn.com/oauth/client_credential/accesstoken?grant_type=client_credentials
scopes: {}