openapi: 3.0.0
info:
version: 1.54.0
title: KPN SD-LAN SD-WAN Network View API
description: >-
The SD-LAN SD-WAN Network View API is a modern REST API based on the OpenAPI specification.
The Network View API gives users read rights to retrieve information from the `Network View API` resources.
- **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.
---
## [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/)
---
## [KPN Developer](https://developer.kpn.com/)<br/>
[Getting Started](https://developer.kpn.com/getting-started)
servers:
- url: https://api-prd.kpn.com/kpn/meraki
paths:
/organizations/{organizationId}/networks:
get:
summary: List networks in an organization
description: Retrieve the list of networks for a given organization.
operationId: getOrganizationNetworks
parameters:
- name: organizationId
in: path
required: true
schema:
type: string
description: The ID of the organization.
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: string
name:
type: string
example:
- id: N_12345
name: Test Network
/organizations/{organizationId}/devices:
get:
summary: List devices in an organization
description: Retrieve the list of devices for a given organization.
operationId: getOrganizationDevices
parameters:
- name: organizationId
in: path
required: true
schema:
type: string
description: The ID of the organization.
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: array
items:
type: object
properties:
serial:
type: string
model:
type: string
name:
type: string
example:
- serial: Q234-ABCD-5678
model: MX67
name: Main Office MX
/networks/{networkId}/clients:
get:
summary: List clients in a network
description: Retrieve the list of clients for a given network.
operationId: getNetworkClients
parameters:
- name: networkId
in: path
required: true
schema:
type: string
description: The ID of the network.
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: string
mac:
type: string
description:
type: string
example:
- id: C12345
mac: '00:11:22:33:44:55'
description: Test Client
/getOrganizations: {}
/getOrganizationNetworks: {}
/getOrganizationDevices: {}
/getNetworkClients: {}
/devices/{serial}/appliance/dhcp/subnets:
get:
description: Return the DHCP subnet information for an appliance
operationId: getDeviceApplianceDhcpSubnets
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
example:
- subnet: 192.168.1.0/24
vlanId: 100
usedCount: 2
freeCount: 251
summary: Return the DHCP subnet information for an appliance
tags:
- appliance.monitor
/devices/{serial}/appliance/performance:
get:
description: Return the performance score for a single MX. Only primary MX devices supported. If no data is available, a 204 error code is returned.
operationId: getDeviceAppliancePerformance
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
- name: t0
in: query
description: The beginning of the timespan for the data. The maximum lookback period is 30 days from today.
schema:
type: string
- name: t1
in: query
description: The end of the timespan for the data. t1 can be a maximum of 14 days after t0.
schema:
type: string
- name: timespan
in: query
description: The timespan for which the information will be fetched. If specifying timespan, do not specify parameters t0 and t1. The value must be in seconds and be greater than or equal to 30 minutes and be less than or equal to 14 days. The default is 30 minutes.
schema:
type: number
format: float
minimum: 1800
maximum: 1209600
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
perfScore: 10
summary: Return the performance score for a single MX
tags:
- appliance.monitor
/devices/{serial}/appliance/prefixes/delegated:
get:
description: Return current delegated IPv6 prefixes on an appliance.
operationId: getDeviceAppliancePrefixesDelegated
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
example:
- origin:
interface: wan1
prefix: 2001:db8:3c4d:15::/64
counts:
assigned: 2
available: 253
method: auto
description: My ISP provider
isPreferred: true
expiresAt: '2018-05-12T00:00:00Z'
summary: Return current delegated IPv6 prefixes on an appliance.
tags:
- appliance.monitor
/devices/{serial}/appliance/prefixes/delegated/vlanAssignments:
get:
description: Return prefixes assigned to all IPv6 enabled VLANs on an appliance.
operationId: getDeviceAppliancePrefixesDelegatedVlanAssignments
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
example:
- vlan:
id: 100
name: My VLAN
origin:
interface: wan1
prefix: 2001:db8:3c4d:15::/64
status: Active
ipv6:
prefix: 2001:db8:3c4d:15::/64
address: 2001:db8:3c4d:15::1
linkLocal:
address: 2001:db8:3c4d:15::1
solicitedNodeMulticast:
address: 2001:db8:3c4d:15::1
summary: Return prefixes assigned to all IPv6 enabled VLANs on an appliance.
tags:
- appliance.monitor
/devices/{serial}/appliance/radio/settings:
get:
description: Return the radio settings of an appliance
operationId: getDeviceApplianceRadioSettings
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
serial:
type: string
description: The device serial
rfProfileId:
type: string
description: RF Profile ID
twoFourGhzSettings:
type: object
properties:
channel:
type: integer
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
description: Manual channel for 2.4 GHz
targetPower:
type: integer
description: Manual target power for 2.4 GHz
description: Manual radio settings for 2.4 GHz
fiveGhzSettings:
type: object
properties:
channel:
type: integer
enum:
- 36
- 40
- 44
- 48
- 52
- 56
- 60
- 64
- 100
- 104
- 108
- 112
- 116
- 120
- 124
- 128
- 132
- 136
- 140
- 144
- 149
- 153
- 157
- 161
- 165
- 169
- 173
- 177
description: Manual channel for 5 GHz
channelWidth:
type: integer
enum:
- 0
- 20
- 40
- 80
- 160
description: Manual channel width for 5 GHz
targetPower:
type: integer
description: Manual target power for 5 GHz
description: Manual radio settings for 5 GHz
example:
serial: Q234-ABCD-5678
rfProfileId: '1234'
twoFourGhzSettings:
channel: 11
targetPower: 21
fiveGhzSettings:
channel: 149
channelWidth: 20
targetPower: 15
summary: Return the radio settings of an appliance
tags:
- appliance.configure
put:
description: Update the radio settings of an appliance
operationId: updateDeviceApplianceRadioSettings
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
rfProfileId:
type: string
description: The ID of an RF profile to assign to the device. If the value of this parameter is null, the appropriate basic RF profile (indoor or outdoor) will be assigned to the device. Assigning an RF profile will clear ALL manually configured overrides on the device (channel width, channel, power).
twoFourGhzSettings:
type: object
properties:
channel:
type: integer
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
description: Sets a manual channel for 2.4 GHz. Can be '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13' or '14' or null for using auto channel.
targetPower:
type: integer
description: Set a manual target power for 2.4 GHz (dBm). Enter null for using auto power range.
description: Manual radio settings for 2.4 GHz.
fiveGhzSettings:
type: object
properties:
channel:
type: integer
enum:
- 36
- 40
- 44
- 48
- 52
- 56
- 60
- 64
- 100
- 104
- 108
- 112
- 116
- 120
- 124
- 128
- 132
- 136
- 140
- 144
- 149
- 153
- 157
- 161
- 165
- 169
- 173
- 177
description: Sets a manual channel for 5 GHz. Can be '36', '40', '44', '48', '52', '56', '60', '64', '100', '104', '108', '112', '116', '120', '124', '128', '132', '136', '140', '144', '149', '153', '157', '161', '165', '169', '173' or '177' or null for using auto channel.
channelWidth:
type: integer
enum:
- 0
- 20
- 40
- 80
- 160
description: Sets a manual channel width for 5 GHz. Can be '0', '20', '40', '80' or '160' or null for using auto channel width.
targetPower:
type: integer
description: Set a manual target power for 5 GHz (dBm). Enter null for using auto power range.
description: Manual radio settings for 5 GHz.
example:
rfProfileId: '1234'
twoFourGhzSettings:
channel: 11
targetPower: 21
fiveGhzSettings:
channel: 149
channelWidth: 20
targetPower: 15
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
serial:
type: string
description: The device serial
rfProfileId:
type: string
description: RF Profile ID
twoFourGhzSettings:
type: object
properties:
channel:
type: integer
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
description: Manual channel for 2.4 GHz
targetPower:
type: integer
description: Manual target power for 2.4 GHz
description: Manual radio settings for 2.4 GHz
fiveGhzSettings:
type: object
properties:
channel:
type: integer
enum:
- 36
- 40
- 44
- 48
- 52
- 56
- 60
- 64
- 100
- 104
- 108
- 112
- 116
- 120
- 124
- 128
- 132
- 136
- 140
- 144
- 149
- 153
- 157
- 161
- 165
- 169
- 173
- 177
description: Manual channel for 5 GHz
channelWidth:
type: integer
enum:
- 0
- 20
- 40
- 80
- 160
description: Manual channel width for 5 GHz
targetPower:
type: integer
description: Manual target power for 5 GHz
description: Manual radio settings for 5 GHz
example:
serial: Q234-ABCD-5678
rfProfileId: '1234'
twoFourGhzSettings:
channel: 11
targetPower: 21
fiveGhzSettings:
channel: 149
channelWidth: 20
targetPower: 15
summary: Update the radio settings of an appliance
tags:
- appliance.configure
/devices/{serial}/appliance/uplinks/settings:
get:
description: Return the uplink settings for an MX appliance
operationId: getDeviceApplianceUplinksSettings
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
interfaces:
type: object
properties:
wan1:
type: object
properties:
enabled:
type: boolean
description: Enable or disable the interface.
vlanTagging:
type: object
properties:
enabled:
type: boolean
description: Whether VLAN tagging is enabled.
vlanId:
type: integer
description: The ID of the VLAN to use for VLAN tagging.
description: VLAN tagging settings.
svis:
type: object
properties:
ipv4:
type: object
properties:
assignmentMode:
type: string
enum:
- dynamic
- static
description: The assignment mode for this SVI. Applies only when PPPoE is disabled.
address:
type: string
description: IP address and subnet mask when in static mode.
gateway:
type: string
description: Gateway IP address when in static mode.
nameservers:
type: object
properties:
addresses:
type: array
items:
type: string
description: Up to 2 nameserver addresses to use, ordered in priority from highest to lowest priority.
description: The nameserver settings for this SVI.
description: IPv4 settings for static/dynamic mode.
ipv6:
type: object
properties:
assignmentMode:
type: string
enum:
- dynamic
- static
description: The assignment mode for this SVI. Applies only when PPPoE is disabled.
address:
type: string
description: Static address that will override the one(s) received by SLAAC.
gateway:
type: string
description: Static gateway that will override the one received by autoconf.
nameservers:
type: object
properties:
addresses:
type: array
items:
type: string
description: Up to 2 nameserver addresses to use, ordered in priority from highest to lowest priority.
description: The nameserver settings for this SVI.
description: IPv6 settings for static/dynamic mode.
description: SVI settings by protocol.
pppoe:
type: object
properties:
enabled:
type: boolean
description: Whether PPPoE is enabled.
authentication:
type: object
properties:
enabled:
type: boolean
description: Whether PPPoE authentication is enabled.
username:
type: string
description: Username for PPPoE authentication.
description: Settings for PPPoE Authentication.
description: Configuration options for PPPoE.
description: WAN 1 settings.
wan2:
type: object
properties:
enabled:
type: boolean
description: Enable or disable the interface.
vlanTagging:
type: object
properties:
enabled:
type: boolean
description: Whether VLAN tagging is enabled.
vlanId:
type: integer
description: The ID of the VLAN to use for VLAN tagging.
description: VLAN tagging settings.
svis:
type: object
properties:
ipv4:
type: object
properties:
assignmentMode:
type: string
enum:
- dynamic
- static
description: The assignment mode for this SVI. Applies only when PPPoE is disabled.
address:
type: string
description: IP address and subnet mask when in static mode.
gateway:
type: string
description: Gateway IP address when in static mode.
nameservers:
type: object
properties:
addresses:
type: array
items:
type: string
description: Up to 2 nameserver addresses to use, ordered in priority from highest to lowest priority.
description: The nameserver settings for this SVI.
description: IPv4 settings for static/dynamic mode.
ipv6:
type: object
properties:
assignmentMode:
type: string
enum:
- dynamic
- static
description: The assignment mode for this SVI. Applies only when PPPoE is disabled.
address:
type: string
description: Static address that will override the one(s) received by SLAAC.
gateway:
type: string
description: Static gateway that will override the one received by autoconf.
nameservers:
type: object
properties:
addresses:
type: array
items:
type: string
description: Up to 2 nameserver addresses to use, ordered in priority from highest to lowest priority.
description: The nameserver settings for this SVI.
description: IPv6 settings for static/dynamic mode.
description: SVI settings by protocol.
pppoe:
type: object
properties:
enabled:
type: boolean
description: Whether PPPoE is enabled.
authentication:
type: object
properties:
enabled:
type: boolean
description: Whether PPPoE authentication is enabled.
username:
type: string
description: Username for PPPoE authentication.
description: Settings for PPPoE Authentication.
description: Configuration options for PPPoE.
description: WAN 2 settings.
description: Interface settings.
example:
interfaces:
wan1:
enabled: true
vlanTagging:
enabled: true
vlanId: 1
svis:
ipv4:
assignmentMode: static
address: 9.10.11.10/16
gateway: 13.14.15.16
nameservers:
addresses:
- 1.2.3.4
ipv6:
assignmentMode: static
address: 1:2:3::4
gateway: 1:2:3::5
nameservers:
addresses:
- 1001:4860:4860::8888
- 1001:4860:4860::8844
pppoe:
enabled: true
authentication:
enabled: true
username: username
wan2:
enabled: true
vlanTagging:
enabled: true
vlanId: 1
svis:
ipv4:
assignmentMode: static
address: 9.10.11.10/16
gateway: 13.14.15.16
nameservers:
addresses:
- 1.2.3.4
ipv6:
assignmentMode: static
address: 1:2:3::4
gateway: 1:2:3::5
nameservers:
addresses:
- 1001:4860:4860::8888
- 1001:4860:4860::8844
pppoe:
enabled: true
authentication:
enabled: true
username: username
summary: Return the uplink settings for an MX appliance
tags:
- appliance.configure
put:
descr
# --- truncated at 32 KB (1824 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kpn/refs/heads/main/openapi/kpn-sd-lan-sd-wan-network-view-openapi.yml