Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/kpn-switch-configure-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no email required.
A second provider on the same verified email joins the account you already have.
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/)<br/> [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/)<br/> [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
# --- truncated at 32 KB (450 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kpn/refs/heads/main/openapi/kpn-switch-configure-api-openapi.yml