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: {}