KPN

KPN Switch.configure API

The switch.configure API from KPN — 47 operation(s) for switch.configure.

Operations 92

GET /devices/{serial}/switch/ports List the switch ports for a switch #
GET /devices/{serial}/switch/ports/{portId} Return a switch port #
PUT /devices/{serial}/switch/ports/{portId} Update a switch port #
GET /devices/{serial}/switch/routing/interfaces List layer 3 interfaces for a switch #
POST /devices/{serial}/switch/routing/interfaces Create a layer 3 interface for a switch #
GET /devices/{serial}/switch/routing/interfaces/{interfaceId} Return a layer 3 interface for a switch #
PUT /devices/{serial}/switch/routing/interfaces/{interfaceId} Update a layer 3 interface for a switch #
DELETE /devices/{serial}/switch/routing/interfaces/{interfaceId} Delete a layer 3 interface from the switch #
GET /devices/{serial}/switch/routing/interfaces/{interfaceId}/dhcp Return a layer 3 interface DHCP configuration for a switch #
PUT /devices/{serial}/switch/routing/interfaces/{interfaceId}/dhcp Update a layer 3 interface DHCP configuration for a switch #
GET /devices/{serial}/switch/routing/staticRoutes List layer 3 static routes for a switch #
POST /devices/{serial}/switch/routing/staticRoutes Create a layer 3 static route for a switch #
GET /devices/{serial}/switch/routing/staticRoutes/{staticRouteId} Return a layer 3 static route for a switch #
PUT /devices/{serial}/switch/routing/staticRoutes/{staticRouteId} Update a layer 3 static route for a switch #
DELETE /devices/{serial}/switch/routing/staticRoutes/{staticRouteId} Delete a layer 3 static route for a switch #
GET /devices/{serial}/switch/warmSpare Return warm spare configuration for a switch #
PUT /devices/{serial}/switch/warmSpare Update warm spare configuration for a switch #
GET /networks/{networkId}/switch/accessControlLists Return the access control lists for a MS network #
PUT /networks/{networkId}/switch/accessControlLists Update the access control lists for a MS network #
GET /networks/{networkId}/switch/accessPolicies List the access policies for a switch network #
POST /networks/{networkId}/switch/accessPolicies Create an access policy for a switch network #
GET /networks/{networkId}/switch/accessPolicies/{accessPolicyNumber} Return a specific access policy for a switch network #
PUT /networks/{networkId}/switch/accessPolicies/{accessPolicyNumber} Update an access policy for a switch network #
DELETE /networks/{networkId}/switch/accessPolicies/{accessPolicyNumber} Delete an access policy for a switch network #
GET /networks/{networkId}/switch/alternateManagementInterface Return the switch alternate management interface for the network #
PUT /networks/{networkId}/switch/alternateManagementInterface Update the switch alternate management interface for the network #
GET /networks/{networkId}/switch/dhcp/v4/servers/seen Return the network's DHCPv4 servers seen within the selected timeframe (default 1 day) #
GET /networks/{networkId}/switch/dhcpServerPolicy Return the DHCP server settings #
PUT /networks/{networkId}/switch/dhcpServerPolicy Update the DHCP server settings #
GET /networks/{networkId}/switch/dhcpServerPolicy/arpInspection/trustedServers Return the list of servers trusted by Dynamic ARP Inspection on this network #
POST /networks/{networkId}/switch/dhcpServerPolicy/arpInspection/trustedServers Add a server to be trusted by Dynamic ARP Inspection on this network #
PUT /networks/{networkId}/switch/dhcpServerPolicy/arpInspection/trustedServers/{trustedServerId} Update a server that is trusted by Dynamic ARP Inspection on this network #
DELETE /networks/{networkId}/switch/dhcpServerPolicy/arpInspection/trustedServers/{trustedServerId} Remove a server from being trusted by Dynamic ARP Inspection on this network #
GET /networks/{networkId}/switch/dhcpServerPolicy/arpInspection/warnings/byDevice Return the devices that have a Dynamic ARP Inspection warning and their warnings #
GET /networks/{networkId}/switch/dscpToCosMappings Return the DSCP to CoS mappings #
PUT /networks/{networkId}/switch/dscpToCosMappings Update the DSCP to CoS mappings #
GET /networks/{networkId}/switch/linkAggregations List link aggregation groups #
POST /networks/{networkId}/switch/linkAggregations Create a link aggregation group #
PUT /networks/{networkId}/switch/linkAggregations/{linkAggregationId} Update a link aggregation group #
DELETE /networks/{networkId}/switch/linkAggregations/{linkAggregationId} Split a link aggregation group into separate ports #
GET /networks/{networkId}/switch/mtu Return the MTU configuration #
PUT /networks/{networkId}/switch/mtu Update the MTU configuration #
GET /networks/{networkId}/switch/portSchedules List switch port schedules #
POST /networks/{networkId}/switch/portSchedules Add a switch port schedule #
DELETE /networks/{networkId}/switch/portSchedules/{portScheduleId} Delete a switch port schedule #
PUT /networks/{networkId}/switch/portSchedules/{portScheduleId} Update a switch port schedule #
GET /networks/{networkId}/switch/qosRules List quality of service rules #
POST /networks/{networkId}/switch/qosRules Add a quality of service rule #
GET /networks/{networkId}/switch/qosRules/order Return the quality of service rule IDs by order in which they will be processed by the switch #
PUT /networks/{networkId}/switch/qosRules/order Update the order in which the rules should be processed by the switch #
GET /networks/{networkId}/switch/qosRules/{qosRuleId} Return a quality of service rule #
DELETE /networks/{networkId}/switch/qosRules/{qosRuleId} Delete a quality of service rule #
PUT /networks/{networkId}/switch/qosRules/{qosRuleId} Update a quality of service rule #
GET /networks/{networkId}/switch/routing/multicast Return multicast settings for a network #
PUT /networks/{networkId}/switch/routing/multicast Update multicast settings for a network #
GET /networks/{networkId}/switch/routing/multicast/rendezvousPoints List multicast rendezvous points #
POST /networks/{networkId}/switch/routing/multicast/rendezvousPoints Create a multicast rendezvous point #
GET /networks/{networkId}/switch/routing/multicast/rendezvousPoints/{rendezvousPointId} Return a multicast rendezvous point #
DELETE /networks/{networkId}/switch/routing/multicast/rendezvousPoints/{rendezvousPointId} Delete a multicast rendezvous point #
PUT /networks/{networkId}/switch/routing/multicast/rendezvousPoints/{rendezvousPointId} Update a multicast rendezvous point #
GET /networks/{networkId}/switch/routing/ospf Return layer 3 OSPF routing configuration #
PUT /networks/{networkId}/switch/routing/ospf Update layer 3 OSPF routing configuration #
GET /networks/{networkId}/switch/settings Returns the switch network settings #
PUT /networks/{networkId}/switch/settings Update switch network settings #
GET /networks/{networkId}/switch/stacks List the switch stacks in a network #
POST /networks/{networkId}/switch/stacks Create a switch stack #
GET /networks/{networkId}/switch/stacks/{switchStackId} Show a switch stack #
DELETE /networks/{networkId}/switch/stacks/{switchStackId} Delete a stack #
POST /networks/{networkId}/switch/stacks/{switchStackId}/add Add a switch to a stack #
POST /networks/{networkId}/switch/stacks/{switchStackId}/remove Remove a switch from a stack #
GET /networks/{networkId}/switch/stacks/{switchStackId}/routing/interfaces List layer 3 interfaces for a switch stack #
POST /networks/{networkId}/switch/stacks/{switchStackId}/routing/interfaces Create a layer 3 interface for a switch stack #
GET /networks/{networkId}/switch/stacks/{switchStackId}/routing/interfaces/{interfaceId} Return a layer 3 interface from a switch stack #
PUT /networks/{networkId}/switch/stacks/{switchStackId}/routing/interfaces/{interfaceId} Update a layer 3 interface for a switch stack #
DELETE /networks/{networkId}/switch/stacks/{switchStackId}/routing/interfaces/{interfaceId} Delete a layer 3 interface from a switch stack #
GET /networks/{networkId}/switch/stacks/{switchStackId}/routing/interfaces/{interfaceId}/dhcp Return a layer 3 interface DHCP configuration for a switch stack #
PUT /networks/{networkId}/switch/stacks/{switchStackId}/routing/interfaces/{interfaceId}/dhcp Update a layer 3 interface DHCP configuration for a switch stack #
GET /networks/{networkId}/switch/stacks/{switchStackId}/routing/staticRoutes List layer 3 static routes for a switch stack #
POST /networks/{networkId}/switch/stacks/{switchStackId}/routing/staticRoutes Create a layer 3 static route for a switch stack #
GET /networks/{networkId}/switch/stacks/{switchStackId}/routing/staticRoutes/{staticRouteId} Return a layer 3 static route for a switch stack #
PUT /networks/{networkId}/switch/stacks/{switchStackId}/routing/staticRoutes/{staticRouteId} Update a layer 3 static route for a switch stack #
DELETE /networks/{networkId}/switch/stacks/{switchStackId}/routing/staticRoutes/{staticRouteId} Delete a layer 3 static route for a switch stack #
GET /networks/{networkId}/switch/stormControl Return the storm control configuration for a switch network #
PUT /networks/{networkId}/switch/stormControl Update the storm control configuration for a switch network #
GET /networks/{networkId}/switch/stp Returns STP settings #
PUT /networks/{networkId}/switch/stp Updates STP settings #
GET /organizations/{organizationId}/configTemplates/{configTemplateId}/switch/profiles List the switch templates for your switch template configuration #
GET /organizations/{organizationId}/configTemplates/{configTemplateId}/switch/profiles/{profileId}/ports Return all the ports of a switch template #
GET /organizations/{organizationId}/configTemplates/{configTemplateId}/switch/profiles/{profileId}/ports/{portId} Return a switch template port #
PUT /organizations/{organizationId}/configTemplates/{configTemplateId}/switch/profiles/{profileId}/ports/{portId} Update a switch template port #
POST /organizations/{organizationId}/switch/devices/clone Clone port-level and some switch-level configuration settings from a source switch to one or more target switches #
GET /organizations/{organizationId}/switch/ports/bySwitch List the switchports in an organization by switch #

Documentation

📖
Documentation
https://developer.kpn.com/products/kpn-number-verify
📖
Documentation
https://developer.kpn.com/documentation/kpn-number-verify-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/numberverify-kpn
📖
Documentation
https://developer.kpn.com/products/kpn-account-takeover-protection
📖
Documentation
https://developer.kpn.com/documentation/kpn-account-takeover-protection-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/simswap-kpn
📖
Documentation
https://developer.kpn.com/products/kpn-match
📖
Documentation
https://developer.kpn.com/documentation/kpn-match-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/match-kpn
📖
Documentation
https://developer.kpn.com/products/kpn-sms-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-sms-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/sms-kpn
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/sms-inbound
📖
Documentation
https://developer.kpn.com/products/kpn-mobile-services-management-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-mobile-services-management-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/mobileservicesmanagement-kpn
📖
Documentation
https://developer.kpn.com/products/federated-identity-and-access-management
📖
Documentation
https://developer.kpn.com/documentation/fiam-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/fiam-kpn
📖
Documentation
https://developer.kpn.com/products/fiam-eneco-data-products
📖
Documentation
https://developer.kpn.com/documentation/eneco-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/fiam-eneco-data-products
📖
Documentation
https://developer.kpn.com/products/kpn-disturbance-check-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-disturbance-check-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/disturbance-check-kpn
📖
Documentation
https://developer.kpn.com/products/kpn-internet-speed-check-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-internet-speed-check-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/internet-speed-check-kpn
📖
Documentation
https://developer.kpn.com/products/kpn-high-level-design-fttx-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-high-level-design-fttx-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/high-level_design_ftth
📖
Documentation
https://developer.kpn.com/products/kpn-lora-device-management-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-lora-device-management-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/lora-device-management-kpn
📖
Documentation
https://developer.kpn.com/products/kpn-sd-lan-sd-wan-network-view-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-sd-lan-sd-wan-network-view-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/kpn-sd_lan_sd_wan_network_view_api
📖
Documentation
https://developer.kpn.com/products/kpn-servicenow-connect-api
📖
Documentation
https://developer.kpn.com/documentation/kpn-servicenow-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/servicenow-kpn
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/ise-kpn
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/tv-guide-kpn
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/webhook-signing-key-management-kpn
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/webhook-privacy-config-manager
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/wholesale-wba-kpn
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/wholesale-broadband_access_fpi_cip
📖
Documentation
https://developer.kpn.com/products/pollyhelp-knowledge-management-api
📖
Documentation
https://developer.kpn.com/documentation/pollyhelp-knowledge-management-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/knowledge-management-polly.help
📖
Documentation
https://developer.kpn.com/products/xdroid-speech-text-api
📖
Documentation
https://developer.kpn.com/documentation/xdroid-xdroid-speech-text-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/speech-to-text-xdroid
📖
Documentation
https://developer.kpn.com/products/parley-secure-messenger-api
📖
Documentation
https://developer.kpn.com/documentation/parley-chat-and-messaging-api-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/secure-messenger-parley
📖
Documentation
https://developer.kpn.com/products/social-media-chat-and-messaging
📖
Documentation
https://developer.kpn.com/documentation/parley-webcare-parley-documentation-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/socialmediawebcare-tracebuzz
📖
Documentation
https://developer.kpn.com/products/weseedo-weseedo-direct-api
📖
Documentation
https://developer.kpn.com/documentation/weseedo-weseedo-direct-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/weseedo-direct-weseedo
📖
Documentation
https://developer.kpn.com/products/weseedo-weseedo-personal-api
📖
Documentation
https://developer.kpn.com/documentation/weseedo-weseedo-personal-weseedo-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/weseedo-personal-weseedo
📖
Documentation
https://developer.kpn.com/products/vonage-messages-api
📖
Documentation
https://developer.kpn.com/documentation/vonage-messages-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/messages-nexmo
📖
Documentation
https://developer.kpn.com/products/vonage-voice-api
📖
Documentation
https://developer.kpn.com/documentation/vonage-voice-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/voice-nexmo
📖
Documentation
https://developer.kpn.com/products/vonage-phone-numbers-api
📖
Documentation
https://developer.kpn.com/documentation/vonage-phone-numbers-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/phone-numbers-nexmo
📖
Documentation
https://developer.kpn.com/products/vonage-number-insight-api
📖
Documentation
https://developer.kpn.com/documentation/vonage-number-insight-api-documentation
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/number-insight-nexmo
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/sms-nexmo
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/verify-nexmo
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/apidaze-voice-voip-innovations
📖
APIReference
https://app.swaggerhub.com/apis-docs/kpn/registeredemail-registeredemail

Specifications

Other Resources

Work with this as data

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 Specification

kpn-switch-configure-api-openapi.yml Raw ↑
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