openapi: 3.2.0
info:
version: 1.54.0
title: KPN SD-LAN SD-WAN Network View Appliance.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: appliance.configure
paths:
/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:
description: Update the uplink settings for an MX appliance
operationId: updateDeviceApplianceUplinksSettings
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
requestBody:
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.
password:
type: string
description: Password for PPPoE authentication. This parameter is not returned.
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.
password:
type: string
description: Password for PPPoE authentication. This parameter is not returned.
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
password: password
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
password: password
required:
- interfaces
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: Update the uplink settings for an MX appliance
tags:
- appliance.configure
/devices/{serial}/appliance/vmx/authenticationToken:
post:
description: Generate a new vMX authentication token
operationId: createDeviceApplianceVmxAuthenticationToken
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
responses:
'201':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
token:
type: string
description: The newly generated authentication token for the vMX instance
expiresAt:
type: string
description: The expiration time for the token, in ISO 8601 format
example:
token: ffc0b7b578b61be5bd1d172132c78044/9af03bd84d474
expiresAt: '2021-06-18T12:40:10Z'
summary: Generate a new vMX authentication token
tags:
- appliance.configure
/networks/{networkId}/appliance/connectivityMonitoringDestinations:
get:
description: Return the connectivity testing destinations for an MX network
operationId: getNetworkApplianceConnectivityMonitoringDestinations
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:
destinations:
type: array
items:
type: object
properties:
ip:
type: string
description: The IP address to test connectivity with
description:
type: string
description: Description of the testing destination. Optional, defaults to an empty string
default:
type: boolean
description: Boolean indicating whether this is the default testing destination (true) or not (false). Defaults to false. Only one default is allowed
description: The list of connectivity monitoring destinations
example:
destinations:
- ip: 1.2.3.4
description: Google
default: false
summary: Return the connectivity testing destinations for an MX network
tags:
- appliance.configure
put:
description: Update the connectivity testing destinations for an MX network
operationId: updateNetworkApplianceConnectivityMonitoringDestinations
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
destinations:
type: array
items:
type: object
properties:
ip:
type: string
description: The IP address to test connectivity with
description:
type: string
description: Description of the testing destination. Optional, defaults to null
default:
type: boolean
description: Boolean indicating whether this is the default testing destination (true) or not (false). Defaults to false. Only one default is allowed
required:
- ip
description: The list of connectivity monitoring destinations
example:
destinations:
- ip: 1.2.3.4
description: Google
default: false
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
destinations:
type: array
items:
type: object
properties:
ip:
type: string
description: The IP address to test connectivity with
description:
type: string
description: Description of the testing destination. Optional, defaults to an empty string
default:
type: boolean
description: Boolean indicating whether this is the default testing destination (true) or not (false). Defaults to false. Only one default is allowed
description: The list of connectivity monitoring destinations
example:
destinations:
- ip: 1.2.3.4
description: Google
default: false
summary: Update the connectivity testing destinations for an MX network
tags:
- appliance.configure
/networks/{networkId}/appliance/contentFiltering:
get:
description: Return the content filtering settings for an MX network
operationId: getNetworkApplianceContentFiltering
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
allowedUrlPatterns:
- http://www.example.org
- http://help.com.au
blockedUrlPatterns:
- http://www.example.com
- http://www.betting.com
blockedUrlCategories:
- id: meraki:contentFiltering/category/1
name: Real Estate
- id: meraki:contentFiltering/category/7
name: Shopping
urlCategoryListSize: topSites
summary: Return the content filtering settings for an MX network
tags:
- appliance.configure
put:
description: Update the content filtering settings for an MX network
operationId: updateNetworkApplianceContentFiltering
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
allowedUrlPatterns:
type: array
items:
type: string
description: A list of URL patterns that are allowed
blockedUrlPatterns:
type: array
items:
type: string
description: A list of URL patterns that are blocked
blockedUrlCategories:
type: array
items:
type: string
description: A list of URL categories to block
urlCategoryListSize:
type: string
enum:
- fullList
- topSites
description: URL category list size which is either 'topSites' or 'fullList'
example:
allowedUrlPatterns:
- http://www.example.org
- http://help.com.au
blockedUrlPatterns:
- http://www.example.com
- http://www.betting.com
blockedUrlCategories:
- meraki:contentFiltering/category/1
- meraki:contentFiltering/category/7
urlCategoryListSize: topSites
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
allowedUrlPatterns:
- http://www.example.org
- http://help.com.au
blockedUrlPatterns:
- http://www.example.com
- http://www.betting.com
blockedUrlCategories:
- id: meraki:contentFiltering/category/1
name: Real Estate
- id: meraki:contentFiltering/category/7
name: Shopping
urlCategoryListSize: topSites
summary: Update the content filtering settings for an MX network
tags:
- appliance.configure
/networks/{networkId}/appliance/contentFiltering/categories:
get:
description: List all available content filtering categories for an MX network
operationId: getNetworkApplianceContentFilteringCategories
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
categories:
- id: meraki:contentFiltering/category/1
name: Real Estate
- id: meraki:contentFiltering/category/3
name: Financial Services
- '...'
- id: meraki:contentFiltering/category/11
name: Adult and Pornography
summary: List all available content filtering categories for an MX network
tags:
- appliance.configure
/networks/{networkId}/appliance/firewall/cellularFirewallRules:
get:
description: Return the cellular firewall rules for an MX network
operationId: getNetworkApplianceFirewallCellularFirewallRules
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
rules:
- comment: Allow TCP traffic to subnet with HTTP servers.
policy: allow
protocol: tcp
destPort: '443'
destCidr: 192.168.1.0/24
srcPort: Any
srcCidr: Any
syslogEnabled: false
summary: Return the cellular firewall rules for an MX network
tags:
- appliance.configure
put:
description: Update the cellular firewall rules of an MX network
operationId: updateNetworkApplianceFirewallCellularFirewallRules
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'
protocol:
type: string
enum:
- any
- icmp
- icmp6
- tcp
- udp
description: The type of protocol (must be 'tcp', 'udp', 'icmp', 'icmp6' or 'any')
srcPort:
type: string
description: Comma-separated list of source port(s) (integer in the range 1-65535), or 'any'
srcCidr:
type: string
description: 'Comma-separated list of source IP address(es) (in IP or CIDR notation), or ''any'' (note: FQDN not supported for source addresses)'
destPort:
type: string
description: Comma-separated list of destination port(s) (integer in the range 1-65535), or 'any'
destCidr:
type: string
description: Comma-separated list of destination IP address(es) (in IP or CIDR notation), fully-qualified domain names (FQDN) or 'any'
syslogEnabled:
type: boolean
description: Log this rule to syslog (true or false, boolean value) - only applicable if a syslog has been configured (optional)
required:
- policy
- protocol
- srcCidr
- destCidr
description: An ordered array of the firewall rules (not including the default rule)
example:
rules:
- comment: Allow TCP traffic to subnet with HTTP servers.
policy: allow
protocol: tcp
destPort: '443'
destCidr: 192.168.1.0/24
srcPort: Any
srcCidr: Any
syslogEnabled: false
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
rules:
- comment: Allow TCP traffic to subnet with HTTP servers.
policy: allow
protocol: tcp
destPort: '443'
destCidr: 192.168.1.0/24
srcPort: Any
srcCidr: Any
syslogEnabled: false
summary: Update the cellular firewall rules of an MX network
tags:
- appliance.configure
/networks/{networkId}/appliance/firewall/firewalledServices:
get:
description: List the appliance services and their accessibility rules
operationId: getNetworkApplianceFirewallFirewalledServices
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:
service:
type: string
description: Appliance service name
access:
type: string
description: A string indicating the rule for which IPs are allowed to use the specified service
allowedIps:
type: array
items:
type: string
description: An array of allowed IPs that can access the service
example:
- service: web
access: restricted
allowedIps:
- 123.123.123.1
summary: List the appliance services and their accessibility rules
tags:
- appliance.configure
/networks/{networkId}/appliance/firewall/firewalledServices/{service}:
get:
description: Return the accessibility settings of the given service ('ICMP', 'web', or 'SNMP')
operationId: getNetworkApplianceFirewallFirewalledService
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: service
in: path
description: Service
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
service:
type: string
description: Appliance service name
access:
type: string
description: A string indicating the rule for which IPs are allowed to use the specified service
allowedIps:
type: array
items:
type: string
description: An array of allowed IPs that can access the service
example:
service: web
access: restricted
allowedIps:
- 123.123.123.1
summary: Return the accessibility settings of the given service ('ICMP', 'web', or 'SNMP')
tags:
- appliance.configure
put:
description: Updates the accessibility settings for the given service ('ICMP', 'web', or 'SNMP')
operationId: updateNetworkApplianceFirewallFirewalledService
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: service
in: path
description: Service
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
access:
type: string
enum:
- blocked
- restricted
- unrestricted
description: A string indicating the rule for which IPs are allowed to use the specified service. Acceptable values are "blocked" (no remote IPs can access the service), "restricted" (only allowed IPs can access the service), and "unrestriced" (any remote IP can access the service). This field is required
allowedIps:
type: array
items:
type: string
description: An array of allowed IPs that can access the service. This field is required if "access" is set to "restricted". Otherwise this field is ignored
example:
access: restricted
allowedIps:
- 123.123.123.1
required:
- access
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
service:
type: string
description: Appliance service name
access:
type: string
description: A string indicating the rule for which IPs are allowed to use the specified service
allowedIps:
type: array
items:
type: string
description: An array of allowed IPs that can access the service
example:
service: web
access: restricted
allowedIps:
- 123.123.123.1
summary: Updates the accessibility settings for the given service ('ICMP', 'web', or 'SNMP')
tags:
- appliance.configure
/networks/{networkId}/appliance/firewall/inboundCellularFirewallRules:
get:
description: Return the inbound cellular firewall rules for an MX network
operationId: getNetworkApplianceFirewallInboundCellularFirewallRules
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
description: '''allow'' or ''deny'' traffic specified by this rule'
protocol:
type: string
description: The type of protocol (must be 'tcp', 'udp', 'icmp', 'icmp6' or 'any')
srcPort:
type: string
description: Comma-separated list of source port(s) (integer in the range 1-65535), or 'any'
srcCidr:
type: string
description: 'Comma-separated list of source IP address(es) (in IP or CIDR notation), or ''any'' (note: FQDN not supported for source addresses)'
destPort:
type: string
description: Comma-separated list of destination port(s) (integer in the range 1-65535), or 'any'
destCidr:
type: string
description: Comma-separated list of destination IP address(es) (in IP or CIDR notation), fully-qualified domain names (FQDN) or 'any'
syslogEnabled:
type: boolean
description: Log this rule to syslog (true or false, boolean value) - only applicable if a syslog has been configured (optional)
description: An ordered array of the firewall rules (not including the default rule)
example:
rules:
- comment: Allow TCP traffic to subnet with HTTP servers.
policy: allow
protocol: tcp
srcPort: Any
srcCidr: Any
destPort: '443'
destCidr: 192.168.1.0/24
syslogEnabled: false
summary: Return the inbound cellular firewall rules for an MX network
tags:
- appliance.configure
put:
description: Update the inbound cellular firewall rules of an MX network
operationId: updateNetworkApplianceFirewallInboundCellularFirewallRules
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'
protocol:
type: string
enum:
- any
- icmp
- icmp6
- tcp
- udp
description: The type of protocol (must be 'tcp', 'udp', 'icmp', 'icmp6' or 'any')
srcPort:
type: string
description: Comma-separated list of source port(s) (integer in the range 1-65535), or 'any'
srcCidr:
type: string
description: 'Comma-separated list of source IP address(es) (in IP or CIDR notation), or ''any'' (note: FQDN not supported for source addresses)'
destPort:
type: string
description: Comma-separated list of destination port(s) (integer in the range 1-65535), or 'any'
destCidr:
type: string
description: Comma-separated list of destination IP address(es) (in IP or CIDR notation), fully-qualified domain names (FQDN) or 'any'
syslogEnabled:
type: boolean
description: Log this rule to syslog (true or false, boolean value) - only applicable if a syslog has been configured (optional)
required:
- policy
- protocol
- srcCidr
- destCidr
description: An ordered array of the firewall rules (not including the default rule)
example:
rules:
- comment: Allow TCP traffic to subnet with HTTP servers.
policy: allow
protocol: tcp
srcPort: Any
srcCidr: Any
destPort: '443'
destCidr: 192.168.1.0/24
syslogEnabled: false
required: false
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
description: '''allow'' or ''deny'' traffic specified by this rule'
protocol:
type: string
description: The type of protocol (must be 'tcp', 'udp', 'icmp', 'icmp6' or 'any')
srcPort:
type: string
description: Comma-separated list of source port(s) (integer in the range 1-65535), or 'any'
srcCidr:
type: string
description: 'Comma-separated list of source IP address(es) (in IP or CIDR notation), or ''any'' (note: FQDN not supported for source addresses)'
destPort:
type: string
description: Comma-separated list of destination port(s) (integer in the range 1-65535), or 'any'
destCidr:
type: string
description: Comma-separated list of destination IP address(es) (in IP or CIDR notation), fully-qualified domain names (FQDN) or 'any'
syslogEnabled:
type: boolean
description: Log this rule to syslog (true or false, boolean value) - only applicable if a syslog has been configured (optional)
description: An ordered array of the firewall rules (not including the default rule)
example:
rules:
- comment: Allow TCP traffic to subnet with HTTP servers.
policy: allow
protocol: tcp
srcPort: Any
srcCidr: Any
destPort: '443'
destCidr: 192.168.1.0/24
syslogEnabled: false
summary: Update the inbound cellular firewall rules of an MX network
tags:
- appliance.configure
/networks/{networkId}/appliance/firewall/inboundFirewallRules:
get:
description: Return the inbound firewall rules for an MX network
operationId: getNetworkApplianceFirewallInboundFirewallRules
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
description: '''allow'' or ''deny'' traffic specified by this rule'
protocol:
type: string
description: The type of protocol (must be 'tcp', 'udp', 'icmp', 'icmp6' or 'any')
srcPort:
type: string
description: Comma-separated list of source port(s) (integer in the range 1-65535), or 'any'
srcCidr:
type: string
description: 'Comma-separated list of source IP address(es) (in IP or CIDR notation), or ''any'' (note: FQDN not supported for source addresses)'
destPort:
type: string
description: Comma-separated list of destination port(s) (integer in the range 1-65535), or 'any'
destCidr:
type: string
description: Comma-separated list of destination IP address(es) (in IP or CIDR notation), fully-qualified domain names (FQDN) or 'any'
syslogEnabled:
type: boolean
description: Log this rule to syslog (true or false, boolean value) - only applicable if a syslog has been configured (optional)
description: An ordered array of the firewall rules (not including the default rule)
syslogDefaultRule:
type: boolean
description: Log the special default rule (boolean value - enable only if you've configured a syslog server) (optional)
example:
rules:
- comment: Allow TCP traffic to subnet with HTTP servers.
policy: allow
protocol: tcp
srcPort: Any
srcCidr: Any
destPort: '443'
destCidr: 192.168.1.0/24
syslogEnabled: false
syslogDefaultRule: false
summary: Return the inbound firewall rules for an MX network
tags:
- appliance.configure
put:
description: Update the inbound firewall rules of an MX network
operationId: updateNetworkApplianceFirewallInboundFirewallRules
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'
protocol:
type: string
enum:
- any
- icmp
- icmp6
- tcp
- udp
description: The type of protocol (must be 'tcp', 'udp', 'icmp', 'icmp6' or 'any')
srcPort:
type: string
description: Comma-separated list of source port(s) (integer in the range 1-65535), or 'any'
srcCidr:
type: string
description: 'Comma-separated list of source IP address(es) (in IP or CIDR notation), or ''any'' (note: FQDN not supported for source addresses)'
destPort:
type: string
description: Comma-separated list of destination port(s) (integer in the range 1-65535), or 'any'
destCidr:
type: string
description: Comma-separated list of destination IP address(es) (in IP or CIDR notation), fully-qualified domain names (FQDN) or 'any'
syslogEnabled:
type: boolean
description: Log this rule to syslog (true or false, boolean value) - only applicable if a syslog has been configured (optional)
required:
- policy
- protocol
- srcCidr
- destCidr
description: An ordered array of the firewall rules (not including the default rule)
syslogDefaultRule:
type: boolean
description: Log the special default rule (boolean value - enable only if you've configured a syslog server) (optional)
example:
rules:
- comment: Allow TCP traffic to subnet with HTTP servers.
policy: allow
protocol: tcp
srcPort: Any
srcCidr: Any
destPort: '443'
destCidr: 192.168.1.0/24
syslogEnabled: false
syslogDefaultRule: true
required: false
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
description: '''allow'' or ''deny'' traffic specified by this rule'
protocol:
type: string
description: The type of protocol (must be 'tcp', 'udp', 'icmp', 'icmp6' or 'any')
srcPort:
type: string
description: Comma-separated list of source port(s) (integer in the range 1-65535), or 'any'
srcCidr:
type: string
description: 'Comma-separated list of source IP address(es) (in IP or CIDR notation), or ''any'' (note: FQDN not supported for source addresses)'
destPort:
type: string
description: Comma-separated list of destination port(s) (integer in the range 1-65535), or 'any'
destCidr:
type: string
description: Comma-separated list of destination IP address(es) (in IP or CIDR notation), fully-qualified domain names (FQDN) or 'any'
syslogEnabled:
type: boolean
description: Log this rule to syslog (true or false, boolean value) - only applicable if a syslog has been configured (optional)
description: An ordered array of the firewall rules (not including the default rule)
syslogDefaultRule:
type: boolean
description: Log the special default rule (boolean value - enable only if you've configured a syslog server) (optional)
example:
rules:
- comment: Allow TCP traffic to subnet with HTTP servers.
policy: allow
protocol: tcp
srcPort: Any
srcCidr: Any
destPort: '443'
destCidr: 192.168.1.0/24
syslogEnabled: false
syslogDefaultRule: false
summary: Update the inbound firewall rules of an MX network
tags:
- appliance.configure
/networks/{networkId}/appliance/firewall/l3FirewallRules:
get:
description: Return the L3 firewall rules for an MX network
operationId: getNetworkApplianceFirewallL3FirewallRules
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
rules:
- comment: Allow TCP traffic to subnet with HTTP servers.
policy: allow
protocol: tcp
destPort: '443'
destCidr: 192.168.1.0/24
srcPort: Any
srcCidr: Any
syslogEnabled: false
summary: Return the L3 firewall rules for an MX network
tags:
- appliance.configure
put:
description: Update the L3 firewall rules of an MX network
operationId: updateNetworkApplianceFirewallL3FirewallRules
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'
protocol:
type: string
enum:
- any
- icmp
- icmp6
- tcp
- udp
description: The type of protocol (must be 'tcp', 'udp', 'icmp', 'icmp6' or 'any')
srcPort:
type: string
description: Comma-separated list of source port(s) (integer in the range 1-65535), or 'any'
srcCidr:
type: string
description: 'Comma-separated list of source IP address(es) (in IP or CIDR notation), or ''any'' (note: FQDN not supported for source addresses)'
destPort:
type: string
description: Comma-separated list of destination port(s) (integer in the range 1-65535), or 'any'
destCidr:
type: string
description: Comma-separated list of destination IP address(es) (in IP or CIDR notation), fully-qualified domain names (FQDN) or 'any'
syslogEnabled:
type: boolean
description: Log this rule to syslog (true or false, boolean value) - only applicable if a syslog has been configured (optional)
required:
- policy
- protocol
- srcCidr
- destCidr
description: An ordered array of the firewall rules (not including the default rule)
syslogDefaultRule:
type: boolean
description: Log the special default rule (boolean value - enable only if you've configured a syslog server) (optional)
example:
rules:
- comment: Allow TCP traffic to subnet with HTTP servers.
policy: allow
protocol: tcp
destPort: '443'
destCidr: 192.168.1.0/24
srcPort: Any
srcCidr: Any
syslogEnabled: false
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
rules:
- comment: Allow TCP traffic to subnet with HTTP servers.
policy: allow
protocol: tcp
destPort: '443'
destCidr: 192.168.1.0/24
srcPort: Any
srcCidr: Any
syslogEnabled: false
summary: Update the L3 firewall rules of an MX network
tags:
- appliance.configure
/networks/{networkId}/appliance/firewall/l7FirewallRules:
get:
description: List the MX L7 firewall rules for an MX network
operationId: getNetworkApplianceFirewallL7FirewallRules
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
rules:
- policy: deny
type: host
value: google.com
- policy: deny
type: port
value: '23'
- policy: deny
type: ipRange
value: 10.11.12.00/24
- policy: deny
type: ipRange
value: 10.11.12.00/24:5555
summary: List the MX L7 firewall rules for an MX network
tags:
- appliance.configure
put:
description: Update the MX L7 firewall rules for an MX network
operationId: updateNetworkApplianceFirewallL7FirewallRules
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:
policy:
type: string
enum:
- deny
description: '''Deny'' traffic specified by this rule'
type:
type: string
enum:
- application
- applicationCategory
- host
- ipRange
- port
description: 'Type of the L7 rule. One of: ''application'', ''applicationCategory'', ''host'', ''port'', ''ipRange'''
value:
type: string
description: The 'value' of what you want to block. Format of 'value' varies depending on type of the rule. The application categories and application ids can be retrieved from the the 'MX L7 application categories' endpoint. The countries follow the two-letter ISO 3166-1 alpha-2 format.
description: An ordered array of the MX L7 firewall rules
example:
rules:
- policy: deny
type: host
value: google.com
- policy: deny
type: port
value: '23'
- policy: deny
type: ipRange
value: 10.11.12.00/24
- policy: deny
type: ipRange
value: 10.11.12.00/24:5555
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
rules:
- policy: deny
type: host
value: google.com
- policy: deny
type: port
value: '23'
- policy: deny
type: ipRange
value: 10.11.12.00/24
- policy: deny
type: ipRange
value: 10.11.12.00/24:5555
summary: Update the MX L7 firewall rules for an MX network
tags:
- appliance.configure
/networks/{networkId}/appliance/firewall/l7FirewallRules/applicationCategories:
get:
description: Return the L7 firewall application categories and their associated applications for an MX network
operationId: getNetworkApplianceFirewallL7FirewallRulesApplicationCategories
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:
applicationCategories:
type: array
items:
type: object
properties:
id:
type: string
description: The id of the category
name:
type: string
description: The name of the category
applications:
type: array
items:
type: object
properties:
id:
type: string
description: The id of the application
name:
type: string
description: The name of the application
description: Details of the associated applications
description: ' The L7 firewall application categories and their associated applications for an MX network'
example:
applicationCategories:
- id: meraki:layer7/category/24
name: Advertising
applications:
- id: meraki:layer7/application/5
name: Advertising.com
summary: Return the L7 firewall application categories and their associated applications for an MX network
tags:
- appliance.configure
/networks/{networkId}/appliance/firewall/oneToManyNatRules:
get:
description: Return the 1:Many NAT mapping rules for an MX network
operationId: getNetworkApplianceFirewallOneToManyNatRules
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
rules:
- publicIp: 146.11.11.13
uplink: internet1
portRules:
- name: Rule 1
protocol: tcp
publicPort: '9443'
localIp: 192.168.128.1
localPort: '443'
allowedIps:
- any
- name: Rule 2
protocol: tcp
publicPort: '8080'
localIp: 192.168.128.1
localPort: '80'
allowedIps:
- 10.82.110.0/24
- 10.82.111.0/24
summary: Return the 1:Many NAT mapping rules for an MX network
tags:
- appliance.configure
put:
description: Set the 1:Many NAT mapping rules for an MX network
operationId: updateNetworkApplianceFirewallOneToManyNatRules
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:
publicIp:
type: string
description: The IP address that will be used to access the internal resource from the WAN
uplink:
type: string
description: The physical WAN interface on which the traffic will arrive, formatted as 'internetN' where N is an integer representing a valid uplink for the network's appliance
portRules:
type: array
items:
type: object
properties:
name:
type: string
description: A description of the rule
protocol:
type: string
enum:
- tcp
- udp
description: '''tcp'' or ''udp'''
publicPort:
type: string
description: Destination port of the traffic that is arriving on the WAN
localIp:
type: string
description: Local IP address to which traffic will be forwarded
localPort:
type: string
description: Destination port of the forwarded traffic that will be sent from the MX to the specified host on the LAN. If you simply wish to forward the traffic without translating the port, this should be the same as the Public port
allowedIps:
type: array
items:
type: string
description: Remote IP addresses or ranges that are permitted to access the internal resource via this port forwarding rule, or 'any'
description: An array of associated forwarding rules
required:
- publicIp
- uplink
- portRules
description: An array of 1:Many nat rules
example:
rules:
- publicIp: 146.11.11.13
uplink: internet1
portRules:
- name: Rule 1
protocol: tcp
publicPort: '9443'
localIp: 192.168.128.1
localPort: '443'
allowedIps:
- any
- name: Rule 2
protocol: tcp
publicPort: '8080'
localIp: 192.168.128.1
localPort: '80'
allowedIps:
- 10.82.110.0/24
- 10.82.111.0/24
required:
- rules
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
rules:
- publicIp: 146.11.11.13
uplink: internet1
portRules:
- name: Rule 1
protocol: tcp
publicPort: '9443'
localIp: 192.168.128.1
localPort: '443'
allowedIps:
- any
- name: Rule 2
protocol: tcp
publicPort: '8080'
localIp: 192.168.128.1
localPort: '80'
allowedIps:
- 10.82.110.0/24
- 10.82.111.0/24
summary: Set the 1:Many NAT mapping rules for an MX network
tags:
- appliance.configure
/networks/{networkId}/appliance/firewall/oneToOneNatRules:
get:
description: Return the 1:1 NAT mapping rules for an MX network
operationId: getNetworkApplianceFirewallOneToOneNatRules
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
rules:
- name: Service behind NAT
lanIp: 192.168.128.22
publicIp: 146.12.3.33
uplink: internet1
allowedInbound:
- protocol: tcp
destinationPorts:
- '80'
allowedIps:
- 10.82.112.0/24
- 10.82.0.0/16
- protocol: udp
destinationPorts:
- '8080'
allowedIps:
- 10.81.110.5
- 10.81.0.0/16
summary: Return the 1:1 NAT mapping rules for an MX network
tags:
- appliance.configure
put:
description: Set the 1:1 NAT mapping rules for an MX network
operationId: updateNetworkApplianceFirewallOneToOneNatRules
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:
name:
type: string
description: A descriptive name for the rule
publicIp:
type: string
description: The IP address that will be used to access the internal resource from the WAN
lanIp:
type: string
description: The IP address of the server or device that hosts the internal resource that you wish to make available on the WAN
uplink:
type: string
description: The physical WAN interface on which the traffic will arrive, formatted as 'internetN' where N is an integer representing a valid uplink for the network's appliance
allowedInbound:
type: array
items:
type: object
properties:
protocol:
type: string
enum:
- any
- icmp-ping
- tcp
- udp
description: 'Either of the following: ''tcp'', ''udp'', ''icmp-ping'' or ''any'''
destinationPorts:
type: array
items:
type: string
description: An array of ports or port ranges that will be forwarded to the host on the LAN
allowedIps:
type: array
items:
type: string
description: An array of ranges of WAN IP addresses that are allowed to make inbound connections on the specified ports or port ranges, or 'any'
description: The ports this mapping will provide access on, and the remote IPs that will be allowed access to the resource
required:
- lanIp
description: An array of 1:1 nat rules
example:
rules:
- name: Service behind NAT
lanIp: 192.168.128.22
publicIp: 146.12.3.33
uplink: internet1
allowedInbound:
- protocol: tcp
destinationPorts:
- '80'
allowedIps:
- 10.82.112.0/24
- 10.82.0.0/16
- protocol: udp
destinationPorts:
- '8080'
allowedIps:
- 10.81.110.5
- 10.81.0.0/16
required:
- rules
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
rules:
- name: Service behind NAT
lanIp: 192.168.128.22
publicIp: 146.12.3.33
uplink: internet1
allowedInbound:
- protocol: tcp
destinationPorts:
- '80'
allowedIps:
- 10.82.112.0/24
- 10.82.0.0/16
- protocol: udp
destinationPorts:
- '8080'
allowedIps:
- 10.81.110.5
- 10.81.0.0/16
summary: Set the 1:1 NAT mapping rules for an MX network
tags:
- appliance.configure
/networks/{networkId}/appliance/firewall/portForwardingRules:
get:
description: Return the port forwarding rules for an MX network
operationId: getNetworkApplianceFirewallPortForwardingRules
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:
lanIp:
type: string
description: IP address of the device subject to port forwarding
allowedIps:
type: array
items:
type: string
description: An array of ranges of WAN IP addresses that are allowed to make inbound connections on the specified ports or port ranges (or any)
name:
type: string
description: Name of the rule
protocol:
type: string
enum:
- tcp
- udp
description: Protocol the rule applies to
publicPort:
type: string
description: The port or port range forwarded to the host on the LAN
localPort:
type: string
description: The port or port range that receives forwarded traffic from the WAN
uplink:
type: string
enum:
- both
- internet1
- internet2
- internet3
description: The physical WAN interface on which the traffic arrives; allowed values vary by appliance model and configuration
description: An array of port forwarding rules
example:
rules:
- lanIp: 192.168.128.1
allowedIps:
- any
name: Description of Port Forwarding Rule
protocol: tcp
publicPort: 8100-8101
localPort: 442-443
uplink: both
summary: Return the port forwarding rules for an MX network
tags:
- appliance.configure
put:
description: Update the port forwarding rules for an MX network
operationId: updateNetworkApplianceFirewallPortForwardingRules
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:
name:
type: string
description: A descriptive name for the rule
lanIp:
type: string
description: The IP address of the server or device that hosts the internal resource that you wish to make available on the WAN
uplink:
type: string
enum:
- both
- internet1
- internet2
- internet3
description: The physical WAN interface on which the traffic will arrive ('internet1' or, if available, 'internet2' or 'both')
publicPort:
type: string
description: A port or port ranges that will be forwarded to the host on the LAN
localPort:
type: string
description: A port or port ranges that will receive the forwarded traffic from the WAN
allowedIps:
type: array
items:
type: string
description: An array of ranges of WAN IP addresses that are allowed to make inbound connections on the specified ports or port ranges (or any)
protocol:
type: string
enum:
- tcp
- udp
description: TCP or UDP
required:
- lanIp
- publicPort
- localPort
- allowedIps
- protocol
description: An array of port forwarding params
example:
rules:
- name: Description of Port Forwarding Rule
lanIp: 192.168.128.1
uplink: both
publicPort: 8100-8101
localPort: 442-443
allowedIps:
- any
protocol: tcp
required:
- rules
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
rules:
type: array
items:
type: object
properties:
lanIp:
type: string
description: IP address of the device subject to port forwarding
allowedIps:
type: array
items:
type: string
description: An array of ranges of WAN IP addresses that are allowed to make inbound connections on the specified ports or port ranges (or any)
name:
type: string
description: Name of the rule
protocol:
type: string
enum:
- tcp
- udp
description: Protocol the rule applies to
publicPort:
type: string
description: The port or port range forwarded to the host on the LAN
localPort:
type: string
description: The port or port range that receives forwarded traffic from the WAN
uplink:
type: string
enum:
- both
- internet1
- internet2
- internet3
description: The physical WAN interface on which the traffic arrives; allowed values vary by appliance model and configuration
description: An array of port forwarding rules
example:
rules:
- lanIp: 192.168.128.1
allowedIps:
- any
name: Description of Port Forwarding Rule
protocol: tcp
publicPort: 8100-8101
localPort: 442-443
uplink: both
summary: Update the port forwarding rules for an MX network
tags:
- appliance.configure
/networks/{networkId}/appliance/firewall/settings:
get:
description: Return the firewall settings for this network
operationId: getNetworkApplianceFirewallSettings
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
spoofingProtection:
ipSourceGuard:
mode: block
summary: Return the firewall settings for this network
tags:
- appliance.configure
put:
description: Update the firewall settings for this network
operationId: updateNetworkApplianceFirewallSettings
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
spoofingProtection:
type: object
properties:
ipSourceGuard:
type: object
properties:
mode:
type: string
enum:
- block
- log
description: Mode of protection
description: IP source address spoofing settings
description: Spoofing protection settings
example:
spoofingProtection:
ipSourceGuard:
mode: block
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
spoofingProtection:
ipSourceGuard:
mode: block
summary: Update the firewall settings for this network
tags:
- appliance.configure
/networks/{networkId}/appliance/ports:
get:
description: List per-port VLAN settings for all ports of a MX.
operationId: getNetworkAppliancePorts
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:
number:
type: integer
description: Number of the port
enabled:
type: boolean
description: The status of the port
type:
type: string
description: 'The type of the port: ''access'' or ''trunk''.'
dropUntaggedTraffic:
type: boolean
description: Whether the trunk port can drop all untagged traffic.
vlan:
type: integer
description: Native VLAN when the port is in Trunk mode. Access VLAN when the port is in Access mode.
allowedVlans:
type: string
description: Comma-delimited list of the VLAN ID's allowed on the port, or 'all' to permit all VLAN's on the port.
accessPolicy:
type: string
description: The name of the policy. Only applicable to Access ports.
example:
- number: 1
enabled: true
type: access
dropUntaggedTraffic: false
vlan: 3
allowedVlans: all
accessPolicy: open
summary: List per-port VLAN settings for all ports of a MX.
tags:
- appliance.configure
/networks/{networkId}/appliance/ports/{portId}:
get:
description: Return per-port VLAN settings for a single MX port.
operationId: getNetworkAppliancePort
parameters:
- name: networkId
in: path
description: Network 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:
number:
type: integer
description: Number of the port
enabled:
type: boolean
description: The status of the port
type:
type: string
description: 'The type of the port: ''access'' or ''trunk''.'
dropUntaggedTraffic:
type: boolean
description: Whether the trunk port can drop all untagged traffic.
vlan:
type: integer
description: Native VLAN when the port is in Trunk mode. Access VLAN when the port is in Access mode.
allowedVlans:
type: string
description: Comma-delimited list of the VLAN ID's allowed on the port, or 'all' to permit all VLAN's on the port.
accessPolicy:
type: string
description: The name of the policy. Only applicable to Access ports.
example:
number: 1
enabled: true
type: access
dropUntaggedTraffic: false
vlan: 3
allowedVlans: all
accessPolicy: open
summary: Return per-port VLAN settings for a single MX port.
tags:
- appliance.configure
put:
description: Update the per-port VLAN settings for a single MX port.
operationId: updateNetworkAppliancePort
parameters:
- name: networkId
in: path
description: Network 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:
enabled:
type: boolean
description: The status of the port
dropUntaggedTraffic:
type: boolean
description: Trunk port can Drop all Untagged traffic. When true, no VLAN is required. Access ports cannot have dropUntaggedTraffic set to true.
type:
type: string
description: 'The type of the port: ''access'' or ''trunk''.'
vlan:
type: integer
description: Native VLAN when the port is in Trunk mode. Access VLAN when the port is in Access mode.
allowedVlans:
type: string
description: Comma-delimited list of the VLAN ID's allowed on the port, or 'all' to permit all VLAN's on the port.
accessPolicy:
type: string
description: 'The name of the policy. Only applicable to Access ports. Valid values are: ''open'', ''8021x-radius'', ''mac-radius'', ''hybris-radius'' for MX64 or Z3 or any MX supporting the per port authentication feature. Otherwise, ''open'' is the only valid value and ''open'' is the default value if the field is missing.'
example:
enabled: true
dropUntaggedTraffic: false
type: access
vlan: 3
allowedVlans: all
accessPolicy: open
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
number:
type: integer
description: Number of the port
enabled:
type: boolean
description: The status of the port
type:
type: string
description: 'The type of the port: ''access'' or ''trunk''.'
dropUntaggedTraffic:
type: boolean
description: Whether the trunk port can drop all untagged traffic.
vlan:
type: integer
description: Native VLAN when the port is in Trunk mode. Access VLAN when the port is in Access mode.
allowedVlans:
type: string
description: Comma-delimited list of the VLAN ID's allowed on the port, or 'all' to permit all VLAN's on the port.
accessPolicy:
type: string
description: The name of the policy. Only applicable to Access ports.
example:
number: 1
enabled: true
type: access
dropUntaggedTraffic: false
vlan: 3
allowedVlans: all
accessPolicy: open
summary: Update the per-port VLAN settings for a single MX port.
tags:
- appliance.configure
/networks/{networkId}/appliance/prefixes/delegated/statics:
get:
description: List static delegated prefixes for a network
operationId: getNetworkAppliancePrefixesDelegatedStatics
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:
staticDelegatedPrefixId:
type: string
description: Static delegated prefix id.
prefix:
type: string
description: IPv6 prefix/prefix length.
origin:
type: object
properties:
type:
type: string
description: Origin type
interfaces:
type: array
items:
type: string
description: Uplink provided or independent
description: WAN1/WAN2/Independent prefix.
description:
type: string
description: Identifying description for the prefix.
createdAt:
type: string
format: date-time
description: Prefix creation time.
updatedAt:
type: string
format: date-time
description: Prefix Updated time.
example:
- staticDelegatedPrefixId: '1284392014819'
prefix: 2001:db8:3c4d:15::/64
origin:
type: internet
interfaces:
- wan1
description: Prefix on WAN 1 of Long Island Office network
createdAt: '2018-05-12T00:00:00Z'
updatedAt: '2018-05-12T00:00:00Z'
summary: List static delegated prefixes for a network
tags:
- appliance.configure
post:
description: Add a static delegated prefix from a network
operationId: createNetworkAppliancePrefixesDelegatedStatic
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
prefix:
type: string
description: A static IPv6 prefix
origin:
type: object
properties:
type:
type: string
enum:
- independent
- internet
description: Type of the origin
interfaces:
type: array
items:
type: string
description: Interfaces associated with the prefix
description: The origin of the prefix
description:
type: string
description: A name or description for the prefix
example:
prefix: 2001:db8:3c4d:15::/64
origin:
type: internet
interfaces:
- wan1
description: Prefix on WAN 1 of Long Island Office network
required:
- prefix
- origin
required: true
responses:
'201':
description: Successful operation
content:
application/json:
schema:
type: object
example:
staticDelegatedPrefixId: '1284392014819'
prefix: 2001:db8:3c4d:15::/64
origin:
type: internet
interfaces:
- wan1
description: Prefix on WAN 1 of Long Island Office network
createdAt: '2018-05-12T00:00:00Z'
updatedAt: '2018-05-12T00:00:00Z'
summary: Add a static delegated prefix from a network
tags:
- appliance.configure
/networks/{networkId}/appliance/prefixes/delegated/statics/{staticDelegatedPrefixId}:
get:
description: Return a static delegated prefix from a network
operationId: getNetworkAppliancePrefixesDelegatedStatic
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: staticDelegatedPrefixId
in: path
description: Static delegated prefix ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
staticDelegatedPrefixId:
type: string
description: Static delegated prefix id.
prefix:
type: string
description: IPv6 prefix/prefix length.
origin:
type: object
properties:
type:
type: string
description: Origin type
interfaces:
type: array
items:
type: string
description: Uplink provided or independent
description: WAN1/WAN2/Independent prefix.
description:
type: string
description: Identifying description for the prefix.
createdAt:
type: string
format: date-time
description: Prefix creation time.
updatedAt:
type: string
format: date-time
description: Prefix Updated time.
example:
staticDelegatedPrefixId: '1284392014819'
prefix: 2001:db8:3c4d:15::/64
origin:
type: internet
interfaces:
- wan1
description: Prefix on WAN 1 of Long Island Office network
createdAt: '2018-05-12T00:00:00Z'
updatedAt: '2018-05-12T00:00:00Z'
summary: Return a static delegated prefix from a network
tags:
- appliance.configure
put:
description: Update a static delegated prefix from a network
operationId: updateNetworkAppliancePrefixesDelegatedStatic
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: staticDelegatedPrefixId
in: path
description: Static delegated prefix ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
prefix:
type: string
description: A static IPv6 prefix
origin:
type: object
properties:
type:
type: string
enum:
- independent
- internet
description: Type of the origin
interfaces:
type: array
items:
type: string
description: Interfaces associated with the prefix
description: The origin of the prefix
description:
type: string
description: A name or description for the prefix
example:
prefix: 2001:db8:3c4d:15::/64
origin:
type: internet
interfaces:
- wan1
description: Prefix on WAN 1 of Long Island Office network
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
staticDelegatedPrefixId: '1284392014819'
prefix: 2001:db8:3c4d:15::/64
origin:
type: internet
interfaces:
- wan1
description: Prefix on WAN 1 of Long Island Office network
createdAt: '2018-05-12T00:00:00Z'
updatedAt: '2018-05-12T00:00:00Z'
summary: Update a static delegated prefix from a network
tags:
- appliance.configure
delete:
description: Delete a static delegated prefix from a network
operationId: deleteNetworkAppliancePrefixesDelegatedStatic
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: staticDelegatedPrefixId
in: path
description: Static delegated prefix ID
schema:
type: string
required: true
responses:
'204':
description: Successful operation
summary: Delete a static delegated prefix from a network
tags:
- appliance.configure
/networks/{networkId}/appliance/rfProfiles:
get:
description: List the RF profiles for this network
operationId: getNetworkApplianceRfProfiles
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:
assigned:
type: array
items:
type: object
properties:
id:
type: string
description: ID of the RF Profile.
networkId:
type: string
description: ID of network this RF Profile belongs in.
name:
type: string
description: The name of the profile.
twoFourGhzSettings:
type: object
properties:
minBitrate:
type: number
format: float
description: Min bitrate (Mbps) of 2.4Ghz band.
axEnabled:
type: boolean
description: Whether ax radio on 2.4Ghz band is on or off.
description: Settings related to 2.4Ghz band.
fiveGhzSettings:
type: object
properties:
minBitrate:
type: integer
description: Min bitrate (Mbps) of 2.4Ghz band.
axEnabled:
type: boolean
description: Whether ax radio on 5Ghz band is on or off.
description: Settings related to 5Ghz band.
perSsidSettings:
type: object
properties:
'1':
type: object
properties:
bandOperationMode:
type: string
description: Band mode of this SSID
bandSteeringEnabled:
type: boolean
description: Whether this SSID steers clients to the most open band between 2.4 GHz and 5 GHz.
description: Settings for SSID 1.
'2':
type: object
properties:
bandOperationMode:
type: string
description: Band mode of this SSID
bandSteeringEnabled:
type: boolean
description: Whether this SSID steers clients to the most open band between 2.4 GHz and 5 GHz.
description: Settings for SSID 2.
'3':
type: object
properties:
bandOperationMode:
type: string
description: Band mode of this SSID
bandSteeringEnabled:
type: boolean
description: Whether this SSID steers clients to the most open band between 2.4 GHz and 5 GHz.
description: Settings for SSID 3.
'4':
type: object
properties:
bandOperationMode:
type: string
description: Band mode of this SSID
bandSteeringEnabled:
type: boolean
description: Whether this SSID steers clients to the most open band between 2.4 GHz and 5 GHz.
description: Settings for SSID 4.
description: Per-SSID radio settings by number.
description: RF Profiles
example:
assigned:
- id: '1234'
networkId: N_24329156
name: Some Custom RF Profile
twoFourGhzSettings:
minBitrate: 11
axEnabled: true
fiveGhzSettings:
minBitrate: 12
axEnabled: true
perSsidSettings:
'1':
bandOperationMode: dual
bandSteeringEnabled: true
'2':
bandOperationMode: dual
bandSteeringEnabled: true
'3':
bandOperationMode: dual
bandSteeringEnabled: true
'4':
bandOperationMode: dual
bandSteeringEnabled: true
summary: List the RF profiles for this network
tags:
- appliance.configure
post:
description: Creates new RF profile for this network
operationId: createNetworkApplianceRfProfile
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 profile. Must be unique. This param is required on creation.
twoFourGhzSettings:
type: object
properties:
minBitrate:
type: number
format: float
description: Sets min bitrate (Mbps) of 2.4Ghz band. Can be one of '1', '2', '5.5', '6', '9', '11', '12', '18', '24', '36', '48' or '54'. Defaults to 11.
axEnabled:
type: boolean
description: Determines whether ax radio on 2.4Ghz band is on or off. Can be either true or false. If false, we highly recommend disabling band steering. Defaults to true.
description: Settings related to 2.4Ghz band
fiveGhzSettings:
type: object
properties:
minBitrate:
type: integer
description: Sets min bitrate (Mbps) of 5Ghz band. Can be one of '6', '9', '12', '18', '24', '36', '48' or '54'. Defaults to 12.
axEnabled:
type: boolean
description: Determines whether ax radio on 5Ghz band is on or off. Can be either true or false. If false, we highly recommend disabling band steering. Defaults to true.
description: Settings related to 5Ghz band
perSsidSettings:
type: object
properties:
'1':
type: object
properties:
bandOperationMode:
type: string
enum:
- 2.4ghz
- 5ghz
- 6ghz
- dual
- multi
description: Choice between 'dual', '2.4ghz', '5ghz', '6ghz' or 'multi'.
bandSteeringEnabled:
type: boolean
description: Steers client to most open band between 2.4 GHz and 5 GHz. Can be either true or false.
description: Settings for SSID 1
'2':
type: object
properties:
bandOperationMode:
type: string
enum:
- 2.4ghz
- 5ghz
- 6ghz
- dual
- multi
description: Choice between 'dual', '2.4ghz', '5ghz', '6ghz' or 'multi'.
bandSteeringEnabled:
type: boolean
description: Steers client to most open band between 2.4 GHz and 5 GHz. Can be either true or false.
description: Settings for SSID 2
'3':
type: object
properties:
bandOperationMode:
type: string
enum:
- 2.4ghz
- 5ghz
- 6ghz
- dual
- multi
description: Choice between 'dual', '2.4ghz', '5ghz', '6ghz' or 'multi'.
bandSteeringEnabled:
type: boolean
description: Steers client to most open band between 2.4 GHz and 5 GHz. Can be either true or false.
description: Settings for SSID 3
'4':
type: object
properties:
bandOperationMode:
type: string
enum:
- 2.4ghz
- 5ghz
- 6ghz
- dual
- multi
description: Choice between 'dual', '2.4ghz', '5ghz', '6ghz' or 'multi'.
bandSteeringEnabled:
type: boolean
description: Steers client to most open band between 2.4 GHz and 5 GHz. Can be either true or false.
description: Settings for SSID 4
description: Per-SSID radio settings by number.
example:
name: MX RF Profile
twoFourGhzSettings:
minBitrate: 12
axEnabled: true
fiveGhzSettings:
minBitrate: 48
axEnabled: true
perSsidSettings:
'1':
bandOperationMode: dual
bandSteeringEnabled: true
'2':
bandOperationMode: dual
bandSteeringEnabled: true
'3':
bandOperationMode: dual
bandSteeringEnabled: true
'4':
bandOperationMode: dual
bandSteeringEnabled: true
required:
- name
required: true
responses:
'201':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: ID of the RF Profile.
networkId:
type: string
description: ID of network this RF Profile belongs in.
name:
type: string
description: The name of the profile.
twoFourGhzSettings:
type: object
properties:
minBitrate:
type: number
format: float
description: Min bitrate (Mbps) of 2.4Ghz band.
axEnabled:
type: boolean
description: Whether ax radio on 2.4Ghz band is on or off.
description: Settings related to 2.4Ghz band.
fiveGhzSettings:
type: object
properties:
minBitrate:
type: integer
description: Min bitrate (Mbps) of 2.4Ghz band.
axEnabled:
type: boolean
description: Whether ax radio on 5Ghz band is on or off.
description: Settings related to 5Ghz band.
perSsidSettings:
type: object
properties:
'1':
type: object
properties:
bandOperationMode:
type: string
description: Band mode of this SSID
bandSteeringEnabled:
type: boolean
description: Whether this SSID steers clients to the most open band between 2.4 GHz and 5 GHz.
description: Settings for SSID 1.
'2':
type: object
properties:
bandOperationMode:
type: string
description: Band mode of this SSID
bandSteeringEnabled:
type: boolean
description: Whether this SSID steers clients to the most open band between 2.4 GHz and 5 GHz.
description: Settings for SSID 2.
'3':
type: object
properties:
bandOperationMode:
type: string
description: Band mode of this SSID
bandSteeringEnabled:
type: boolean
description: Whether this SSID steers clients to the most open band between 2.4 GHz and 5 GHz.
description: Settings for SSID 3.
'4':
type: object
properties:
bandOperationMode:
type: string
description: Band mode of this SSID
bandSteeringEnabled:
type: boolean
description: Whether this SSID steers clients to the most open band between 2.4 GHz and 5 GHz.
description: Settings for SSID 4.
description: Per-SSID radio settings by number.
example:
id: '1234'
networkId: N_24329156
name: Some Custom RF Profile
twoFourGhzSettings:
minBitrate: 11
axEnabled: true
fiveGhzSettings:
minBitrate: 12
axEnabled: true
perSsidSettings:
'1':
bandOperationMode: dual
bandSteeringEnabled: true
'2':
bandOperationMode: dual
bandSteeringEnabled: true
'3':
bandOperationMode: dual
bandSteeringEnabled: true
'4':
bandOperationMode: dual
bandSteeringEnabled: true
summary: Creates new RF profile for this network
tags:
- appliance.configure
/networks/{networkId}/appliance/rfProfiles/{rfProfileId}:
put:
description: Updates specified RF profile for this network
operationId: updateNetworkApplianceRfProfile
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: rfProfileId
in: path
description: Rf profile ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: The name of the new profile. Must be unique.
twoFourGhzSettings:
type: object
properties:
minBitrate:
type: number
format: float
description: Sets min bitrate (Mbps) of 2.4Ghz band. Can be one of '1', '2', '5.5', '6', '9', '11', '12', '18', '24', '36', '48' or '54'.
axEnabled:
type: boolean
description: Determines whether ax radio on 2.4Ghz band is on or off. Can be either true or false. If false, we highly recommend disabling band steering.
description: Settings related to 2.4Ghz band
fiveGhzSettings:
type: object
properties:
minBitrate:
type: integer
description: Sets min bitrate (Mbps) of 5Ghz band. Can be one of '6', '9', '12', '18', '24', '36', '48' or '54'.
axEnabled:
type: boolean
description: Determines whether ax radio on 5Ghz band is on or off. Can be either true or false. If false, we highly recommend disabling band steering.
description: Settings related to 5Ghz band
perSsidSettings:
type: object
properties:
'1':
type: object
properties:
bandOperationMode:
type: string
enum:
- 2.4ghz
- 5ghz
- 6ghz
- dual
- multi
description: Choice between 'dual', '2.4ghz', '5ghz', '6ghz' or 'multi'.
bandSteeringEnabled:
type: boolean
description: Steers client to most open band between 2.4 GHz and 5 GHz. Can be either true or false.
description: Settings for SSID 1
'2':
type: object
properties:
bandOperationMode:
type: string
enum:
- 2.4ghz
- 5ghz
- 6ghz
- dual
- multi
description: Choice between 'dual', '2.4ghz', '5ghz', '6ghz' or 'multi'.
bandSteeringEnabled:
type: boolean
description: Steers client to most open band between 2.4 GHz and 5 GHz. Can be either true or false.
description: Settings for SSID 2
'3':
type: object
properties:
bandOperationMode:
type: string
enum:
- 2.4ghz
- 5ghz
- 6ghz
- dual
- multi
description: Choice between 'dual', '2.4ghz', '5ghz', '6ghz' or 'multi'.
bandSteeringEnabled:
type: boolean
description: Steers client to most open band between 2.4 GHz and 5 GHz. Can be either true or false.
description: Settings for SSID 3
'4':
type: object
properties:
bandOperationMode:
type: string
enum:
- 2.4ghz
- 5ghz
- 6ghz
- dual
- multi
description: Choice between 'dual', '2.4ghz', '5ghz', '6ghz' or 'multi'.
bandSteeringEnabled:
type: boolean
description: Steers client to most open band between 2.4 GHz and 5 GHz. Can be either true or false.
description: Settings for SSID 4
description: Per-SSID radio settings by number.
example:
name: MX RF Profile
twoFourGhzSettings:
minBitrate: 12
axEnabled: true
fiveGhzSettings:
minBitrate: 48
axEnabled: true
perSsidSettings:
'1':
bandOperationMode: dual
bandSteeringEnabled: true
'2':
bandOperationMode: dual
bandSteeringEnabled: true
'3':
bandOperationMode: dual
bandSteeringEnabled: true
'4':
bandOperationMode: dual
bandSteeringEnabled: true
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: ID of the RF Profile.
networkId:
type: string
description: ID of network this RF Profile belongs in.
name:
type: string
description: The name of the profile.
twoFourGhzSettings:
type: object
properties:
minBitrate:
type: number
format: float
description: Min bitrate (Mbps) of 2.4Ghz band.
axEnabled:
type: boolean
description: Whether ax radio on 2.4Ghz band is on or off.
description: Settings related to 2.4Ghz band.
fiveGhzSettings:
type: object
properties:
minBitrate:
type: integer
description: Min bitrate (Mbps) of 2.4Ghz band.
axEnabled:
type: boolean
description: Whether ax radio on 5Ghz band is on or off.
description: Settings related to 5Ghz band.
perSsidSettings:
type: object
properties:
'1':
type: object
properties:
bandOperationMode:
type: string
description: Band mode of this SSID
bandSteeringEnabled:
type: boolean
description: Whether this SSID steers clients to the most open band between 2.4 GHz and 5 GHz.
description: Settings for SSID 1.
'2':
type: object
properties:
bandOperationMode:
type: string
description: Band mode of this SSID
bandSteeringEnabled:
type: boolean
description: Whether this SSID steers clients to the most open band between 2.4 GHz and 5 GHz.
description: Settings for SSID 2.
'3':
type: object
properties:
bandOperationMode:
type: string
description: Band mode of this SSID
bandSteeringEnabled:
type: boolean
description: Whether this SSID steers clients to the most open band between 2.4 GHz and 5 GHz.
description: Settings for SSID 3.
'4':
type: object
properties:
bandOperationMode:
type: string
description: Band mode of this SSID
bandSteeringEnabled:
type: boolean
description: Whether this SSID steers clients to the most open band between 2.4 GHz and 5 GHz.
description: Settings for SSID 4.
description: Per-SSID radio settings by number.
example:
id: '1234'
networkId: N_24329156
name: Some Custom RF Profile
twoFourGhzSettings:
minBitrate: 11
axEnabled: true
fiveGhzSettings:
minBitrate: 12
axEnabled: true
perSsidSettings:
'1':
bandOperationMode: dual
bandSteeringEnabled: true
'2':
bandOperationMode: dual
bandSteeringEnabled: true
'3':
bandOperationMode: dual
bandSteeringEnabled: true
'4':
bandOperationMode: dual
bandSteeringEnabled: true
summary: Updates specified RF profile for this network
tags:
- appliance.configure
delete:
description: Delete a RF Profile
operationId: deleteNetworkApplianceRfProfile
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: rfProfileId
in: path
description: Rf profile ID
schema:
type: string
required: true
responses:
'204':
description: Successful operation
summary: Delete a RF Profile
tags:
- appliance.configure
get:
description: Return a RF profile
operationId: getNetworkApplianceRfProfile
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: rfProfileId
in: path
description: Rf profile 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 RF Profile.
networkId:
type: string
description: ID of network this RF Profile belongs in.
name:
type: string
description: The name of the profile.
twoFourGhzSettings:
type: object
properties:
minBitrate:
type: number
format: float
description: Min bitrate (Mbps) of 2.4Ghz band.
axEnabled:
type: boolean
description: Whether ax radio on 2.4Ghz band is on or off.
description: Settings related to 2.4Ghz band.
fiveGhzSettings:
type: object
properties:
minBitrate:
type: integer
description: Min bitrate (Mbps) of 2.4Ghz band.
axEnabled:
type: boolean
description: Whether ax radio on 5Ghz band is on or off.
description: Settings related to 5Ghz band.
perSsidSettings:
type: object
properties:
'1':
type: object
properties:
bandOperationMode:
type: string
description: Band mode of this SSID
bandSteeringEnabled:
type: boolean
description: Whether this SSID steers clients to the most open band between 2.4 GHz and 5 GHz.
description: Settings for SSID 1.
'2':
type: object
properties:
bandOperationMode:
type: string
description: Band mode of this SSID
bandSteeringEnabled:
type: boolean
description: Whether this SSID steers clients to the most open band between 2.4 GHz and 5 GHz.
description: Settings for SSID 2.
'3':
type: object
properties:
bandOperationMode:
type: string
description: Band mode of this SSID
bandSteeringEnabled:
type: boolean
description: Whether this SSID steers clients to the most open band between 2.4 GHz and 5 GHz.
description: Settings for SSID 3.
'4':
type: object
properties:
bandOperationMode:
type: string
description: Band mode of this SSID
bandSteeringEnabled:
type: boolean
description: Whether this SSID steers clients to the most open band between 2.4 GHz and 5 GHz.
description: Settings for SSID 4.
description: Per-SSID radio settings by number.
example:
id: '1234'
networkId: N_24329156
name: Some Custom RF Profile
twoFourGhzSettings:
minBitrate: 11
axEnabled: true
fiveGhzSettings:
minBitrate: 12
axEnabled: true
perSsidSettings:
'1':
bandOperationMode: dual
bandSteeringEnabled: true
'2':
bandOperationMode: dual
bandSteeringEnabled: true
'3':
bandOperationMode: dual
bandSteeringEnabled: true
'4':
bandOperationMode: dual
bandSteeringEnabled: true
summary: Return a RF profile
tags:
- appliance.configure
/networks/{networkId}/appliance/sdwan/internetPolicies:
put:
description: Update SDWAN internet traffic preferences for an MX network
operationId: updateNetworkApplianceSdwanInternetPolicies
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
wanTrafficUplinkPreferences:
type: array
items:
type: object
properties:
preferredUplink:
type: string
enum:
- bestForVoIP
- defaultUplink
- loadBalancing
- wan1
- wan2
description: 'Preferred uplink for uplink preference rule. Must be one of: ''wan1'', ''wan2'', ''bestForVoIP'', ''loadBalancing'' or ''defaultUplink'''
failOverCriterion:
type: string
enum:
- poorPerformance
- uplinkDown
description: WAN failover and failback behavior
performanceClass:
type: object
properties:
type:
type: string
enum:
- builtin
- custom
description: 'Type of this performance class. Must be one of: ''builtin'' or ''custom'''
builtinPerformanceClassName:
type: string
enum:
- VoIP
description: 'Name of builtin performance class. Must be present when performanceClass type is ''builtin'' and value must be one of: ''VoIP'''
customPerformanceClassId:
type: string
description: ID of created custom performance class, must be present when performanceClass type is "custom"
description: Performance class setting for uplink preference rule
trafficFilters:
type: array
items:
type: object
properties:
type:
type: string
enum:
- application
- custom
- majorApplication
description: Traffic filter type. Must be 'custom', 'major_application', 'application (NBAR)', if type is 'application', you can pass either an NBAR App Category or Application
value:
type: object
properties:
protocol:
type: string
enum:
- any
- icmp6
- tcp
- udp
description: 'Protocol of the traffic filter. Must be one of: ''tcp'', ''udp'', ''icmp6'' or ''any'''
source:
type: object
properties:
port:
type: string
description: 'E.g.: "any", "0" (also means "any"), "8080", "1-1024"'
cidr:
type: string
description: CIDR format address (e.g."192.168.10.1", which is the same as "192.168.10.1/32"), or "any". Cannot be used in combination with the "vlan" property
vlan:
type: integer
description: VLAN ID of the configured VLAN in the Meraki network. Cannot be used in combination with the "cidr" property and is currently only available under a template network.
host:
type: integer
description: Host ID in the VLAN. Should not exceed the VLAN subnet capacity. Must be used along with the "vlan" property and is currently only available under a template network.
description: Source of traffic filter
destination:
type: object
properties:
port:
type: string
description: 'E.g.: "any", "0" (also means "any"), "8080", "1-1024"'
cidr:
type: string
description: CIDR format address (e.g."192.168.10.1", which is the same as "192.168.10.1/32"), or "any"
applications:
type: array
items:
type: object
properties:
id:
type: string
description: Id of the major application, or a list of NBAR Application Category or Application selections
name:
type: string
description: Name of the major application or application category selected
type:
type: string
description: app type (major or nbar)
description: list of application objects (either majorApplication or nbar)
description: Destination of 'custom' type traffic filter
required:
- source
- destination
description: Value of traffic filter
required:
- type
- value
description: Traffic filters
required:
- preferredUplink
- trafficFilters
description: policies with respective traffic filters for an MX network
example:
wanTrafficUplinkPreferences:
- preferredUplink: wan1
failOverCriterion: poorPerformance
performanceClass:
type: custom
builtinPerformanceClassName: VoIP
customPerformanceClassId: '123456'
trafficFilters:
- type: custom
value:
protocol: tcp
source:
port: 1-1024
cidr: 192.168.1.0/24
vlan: 10
host: 254
destination:
port: any
cidr: any
applications:
- id: meraki:layer7/application/3
name: DNS
type: major
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
wanTrafficUplinkPreferences:
type: array
items:
type: object
properties:
preferredUplink:
type: string
enum:
- bestForVoIP
- defaultUplink
- loadBalancing
- wan1
- wan2
description: 'Preferred uplink for uplink preference rule. Must be one of: ''wan1'', ''wan2'', ''bestForVoIP'', ''loadBalancing'' or ''defaultUplink'''
failOverCriterion:
type: string
enum:
- poorPerformance
- uplinkDown
description: WAN failover and failback behavior
performanceClass:
type: object
properties:
type:
type: string
enum:
- builtin
- custom
description: 'Type of this performance class. Must be one of: ''builtin'' or ''custom'''
builtinPerformanceClassName:
type: string
enum:
- VoIP
description: 'Name of builtin performance class. Must be present when performanceClass type is ''builtin'' and value must be one of: ''VoIP'''
customPerformanceClassId:
type: string
description: ID of created custom performance class, must be present when performanceClass type is "custom"
description: Performance class setting for uplink preference rule
trafficFilters:
type: array
items:
type: object
properties:
type:
type: string
enum:
- application
- custom
- majorApplication
description: Traffic filter type. Must be 'custom', 'major_application', 'application (NBAR)', if type is 'application', you can pass either an NBAR App Category or Application
value:
type: object
properties:
protocol:
type: string
enum:
- any
- icmp6
- tcp
- udp
description: 'Protocol of the traffic filter. Must be one of: ''tcp'', ''udp'', ''icmp6'' or ''any'''
source:
type: object
properties:
port:
type: string
description: 'E.g.: "any", "0" (also means "any"), "8080", "1-1024"'
cidr:
type: string
description: CIDR format address (e.g."192.168.10.1", which is the same as "192.168.10.1/32"), or "any". Cannot be used in combination with the "vlan" property
vlan:
type: integer
description: VLAN ID of the configured VLAN in the Meraki network. Cannot be used in combination with the "cidr" property and is currently only available under a template network.
host:
type: integer
description: Host ID in the VLAN. Should not exceed the VLAN subnet capacity. Must be used along with the "vlan" property and is currently only available under a template network.
description: Source of traffic filter
destination:
type: object
properties:
port:
type: string
description: 'E.g.: "any", "0" (also means "any"), "8080", "1-1024"'
cidr:
type: string
description: CIDR format address (e.g."192.168.10.1", which is the same as "192.168.10.1/32"), or "any"
applications:
type: array
items:
type: object
properties:
id:
type: string
description: Id of the major application, or a list of NBAR Application Category or Application selections
name:
type: string
description: Name of the major application or application category selected
type:
type: string
description: app type (major or nbar)
description: list of application objects (either majorApplication or nbar)
description: Destination of 'custom' type traffic filter
required:
- source
- destination
description: Value of traffic filter
required:
- type
- value
description: Traffic filters
required:
- preferredUplink
- trafficFilters
description: policies with respective traffic filters for an MX network
example:
wanTrafficUplinkPreferences:
- preferredUplink: wan1
failOverCriterion: poorPerformance
performanceClass:
type: custom
builtinPerformanceClassName: VoIP
customPerformanceClassId: '123456'
trafficFilters:
- type: custom
value:
protocol: tcp
source:
port: 1-1024
cidr: 192.168.1.0/24
vlan: 10
host: 254
destination:
port: any
cidr: any
applications:
- id: meraki:layer7/application/3
name: DNS
type: major
summary: Update SDWAN internet traffic preferences for an MX network
tags:
- appliance.configure
/networks/{networkId}/appliance/security/intrusion:
get:
description: Returns all supported intrusion settings for an MX network
operationId: getNetworkApplianceSecurityIntrusion
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:
mode:
type: string
description: Intrusion detection mode
idsRulesets:
type: string
description: Intrusion detection ruleset
protectedNetworks:
type: object
properties:
useDefault:
type: boolean
description: 'Whether special IPv4 addresses should be used (see: https://tools.ietf.org/html/rfc5735)'
includedCidr:
type: array
items:
type: string
description: List of IP addresses or subnets being protected
excludedCidr:
type: array
items:
type: string
description: List of IP addresses or subnets being excluded from protection
description: Networks included in and excluded from the detection engine
example:
mode: prevention
idsRulesets: balanced
protectedNetworks:
useDefault: false
includedCidr:
- 10.0.0.0/8
- 127.0.0.0/8
- 169.254.0.0/16
- 172.16.0.0/12
excludedCidr:
- 10.0.0.0/8
- 127.0.0.0/8
summary: Returns all supported intrusion settings for an MX network
tags:
- appliance.configure
put:
description: Set the supported intrusion settings for an MX network
operationId: updateNetworkApplianceSecurityIntrusion
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
mode:
type: string
enum:
- detection
- disabled
- prevention
description: Set mode to 'disabled'/'detection'/'prevention' (optional - omitting will leave current config unchanged)
idsRulesets:
type: string
enum:
- balanced
- connectivity
- security
description: Set the detection ruleset 'connectivity'/'balanced'/'security' (optional - omitting will leave current config unchanged). Default value is 'balanced' if none currently saved
protectedNetworks:
type: object
properties:
useDefault:
type: boolean
description: 'true/false whether to use special IPv4 addresses: https://tools.ietf.org/html/rfc5735 (required). Default value is true if none currently saved'
includedCidr:
type: array
items:
type: string
description: list of IP addresses or subnets being protected (required if 'useDefault' is false)
excludedCidr:
type: array
items:
type: string
description: list of IP addresses or subnets being excluded from protection (required if 'useDefault' is false)
description: Set the included/excluded networks from the intrusion engine (optional - omitting will leave current config unchanged). This is available only in 'passthrough' mode
example:
mode: prevention
idsRulesets: balanced
protectedNetworks:
useDefault: false
includedCidr:
- 10.0.0.0/8
- 127.0.0.0/8
- 169.254.0.0/16
- 172.16.0.0/12
excludedCidr:
- 10.0.0.0/8
- 127.0.0.0/8
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
mode:
type: string
description: Intrusion detection mode
idsRulesets:
type: string
description: Intrusion detection ruleset
protectedNetworks:
type: object
properties:
useDefault:
type: boolean
description: 'Whether special IPv4 addresses should be used (see: https://tools.ietf.org/html/rfc5735)'
includedCidr:
type: array
items:
type: string
description: List of IP addresses or subnets being protected
excludedCidr:
type: array
items:
type: string
description: List of IP addresses or subnets being excluded from protection
description: Networks included in and excluded from the detection engine
example:
mode: prevention
idsRulesets: balanced
protectedNetworks:
useDefault: false
includedCidr:
- 10.0.0.0/8
- 127.0.0.0/8
- 169.254.0.0/16
- 172.16.0.0/12
excludedCidr:
- 10.0.0.0/8
- 127.0.0.0/8
summary: Set the supported intrusion settings for an MX network
tags:
- appliance.configure
/networks/{networkId}/appliance/security/malware:
get:
description: Returns all supported malware settings for an MX network
operationId: getNetworkApplianceSecurityMalware
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:
mode:
type: string
description: Current status of malware prevention
allowedUrls:
type: array
items:
type: object
properties:
url:
type: string
description: The allowed URL
comment:
type: string
description: Comment about the allowed URL
description: URLs permitted by the malware detection engine
allowedFiles:
type: array
items:
type: object
properties:
sha256:
type: string
description: The sha256 digest of allowed file
comment:
type: string
description: Comment about the allowed file
description: Sha256 digests of files permitted by the malware detection engine
example:
mode: enabled
allowedUrls:
- url: help.com.au
comment: allow help.com.au
allowedFiles:
- sha256: e82c5f7d75004727e1f3b94426b9a11c8bc4c312a9170ac9a73abace40aef503
comment: allow ZIP file
summary: Returns all supported malware settings for an MX network
tags:
- appliance.configure
put:
description: Set the supported malware settings for an MX network
operationId: updateNetworkApplianceSecurityMalware
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
mode:
type: string
enum:
- disabled
- enabled
description: Set mode to 'enabled' to enable malware prevention, otherwise 'disabled'
allowedUrls:
type: array
items:
type: object
properties:
url:
type: string
description: The url to allow
comment:
type: string
description: Comment about the allowed entity
required:
- url
- comment
description: The urls that should be permitted by the malware detection engine. If omitted, the current config will remain unchanged. This is available only if your network supports AMP allow listing
allowedFiles:
type: array
items:
type: object
properties:
sha256:
type: string
description: The file sha256 hash to allow
comment:
type: string
description: Comment about the allowed entity
required:
- sha256
- comment
description: The sha256 digests of files that should be permitted by the malware detection engine. If omitted, the current config will remain unchanged. This is available only if your network supports AMP allow listing
example:
mode: enabled
allowedUrls:
- url: help.com.au
comment: allow help.com.au
allowedFiles:
- sha256: e82c5f7d75004727e1f3b94426b9a11c8bc4c312a9170ac9a73abace40aef503
comment: allow ZIP file
required:
- mode
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
mode:
type: string
description: Current status of malware prevention
allowedUrls:
type: array
items:
type: object
properties:
url:
type: string
description: The allowed URL
comment:
type: string
description: Comment about the allowed URL
description: URLs permitted by the malware detection engine
allowedFiles:
type: array
items:
type: object
properties:
sha256:
type: string
description: The sha256 digest of allowed file
comment:
type: string
description: Comment about the allowed file
description: Sha256 digests of files permitted by the malware detection engine
example:
mode: enabled
allowedUrls:
- url: help.com.au
comment: allow help.com.au
allowedFiles:
- sha256: e82c5f7d75004727e1f3b94426b9a11c8bc4c312a9170ac9a73abace40aef503
comment: allow ZIP file
summary: Set the supported malware settings for an MX network
tags:
- appliance.configure
/networks/{networkId}/appliance/settings:
get:
description: Return the appliance settings for a network
operationId: getNetworkApplianceSettings
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:
clientTrackingMethod:
type: string
enum:
- IP address
- MAC address
- Unique client identifier
description: Client tracking method of a network
deploymentMode:
type: string
enum:
- passthrough
- routed
description: Deployment mode of a network
dynamicDns:
type: object
properties:
enabled:
type: boolean
description: Dynamic DNS enabled
prefix:
type: string
description: Dynamic DNS url prefix. DDNS must be enabled to update
url:
type: string
description: Dynamic DNS url. DDNS must be enabled to update
description: Dynamic DNS settings for a network
example:
clientTrackingMethod: MAC address
deploymentMode: routed
dynamicDns:
enabled: true
prefix: test
url: test-adfgnnhjea.meraki.com
summary: Return the appliance settings for a network
tags:
- appliance.configure
put:
description: Update the appliance settings for a network
operationId: updateNetworkApplianceSettings
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
clientTrackingMethod:
type: string
enum:
- IP address
- MAC address
- Unique client identifier
description: Client tracking method of a network
deploymentMode:
type: string
enum:
- passthrough
- routed
description: Deployment mode of a network
dynamicDns:
type: object
properties:
prefix:
type: string
description: Dynamic DNS url prefix. DDNS must be enabled to update
enabled:
type: boolean
description: Dynamic DNS enabled
description: Dynamic DNS settings for a network
example:
clientTrackingMethod: MAC address
deploymentMode: routed
dynamicDns:
prefix: test
enabled: true
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
clientTrackingMethod:
type: string
enum:
- IP address
- MAC address
- Unique client identifier
description: Client tracking method of a network
deploymentMode:
type: string
enum:
- passthrough
- routed
description: Deployment mode of a network
dynamicDns:
type: object
properties:
enabled:
type: boolean
description: Dynamic DNS enabled
prefix:
type: string
description: Dynamic DNS url prefix. DDNS must be enabled to update
url:
type: string
description: Dynamic DNS url. DDNS must be enabled to update
description: Dynamic DNS settings for a network
example:
clientTrackingMethod: MAC address
deploymentMode: routed
dynamicDns:
enabled: true
prefix: test
url: test-adfgnnhjea.meraki.com
summary: Update the appliance settings for a network
tags:
- appliance.configure
/networks/{networkId}/appliance/singleLan:
get:
description: Return single LAN configuration
operationId: getNetworkApplianceSingleLan
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:
subnet:
type: string
description: The subnet of the single LAN
applianceIp:
type: string
description: The local IP of the appliance on the single LAN
mandatoryDhcp:
type: object
properties:
enabled:
type: boolean
description: Enable Mandatory DHCP on single LAN.
description: Mandatory DHCP will enforce that clients connecting to this single LAN must use the IP address assigned by the DHCP server. Clients who use a static IP address won't be able to associate. Only available on firmware versions 17.0 and above
ipv6:
type: object
properties:
enabled:
type: boolean
description: Enable IPv6 on single LAN
prefixAssignments:
type: array
items:
type: object
properties:
autonomous:
type: boolean
description: Auto assign a /64 prefix from the origin to the single LAN
staticPrefix:
type: string
description: Manual configuration of a /64 prefix on the single LAN
staticApplianceIp6:
type: string
description: Manual configuration of the IPv6 Appliance IP
origin:
type: object
properties:
type:
type: string
enum:
- independent
- internet
description: Type of the origin
interfaces:
type: array
items:
type: string
description: Interfaces associated with the prefix
description: The origin of the prefix
description: Prefix assignments on the single LAN
description: IPv6 configuration on the single LAN
example:
subnet: 192.168.1.0/24
applianceIp: 192.168.1.2
mandatoryDhcp:
enabled: true
ipv6:
enabled: true
prefixAssignments:
- autonomous: false
staticPrefix: 2001:db8:3c4d:15::/64
staticApplianceIp6: 2001:db8:3c4d:15::1
origin:
type: internet
interfaces:
- wan0
summary: Return single LAN configuration
tags:
- appliance.configure
put:
description: Update single LAN configuration
operationId: updateNetworkApplianceSingleLan
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
subnet:
type: string
description: The subnet of the single LAN configuration
applianceIp:
type: string
description: The appliance IP address of the single LAN
ipv6:
type: object
properties:
enabled:
type: boolean
description: Enable IPv6 on VLAN.
prefixAssignments:
type: array
items:
type: object
properties:
autonomous:
type: boolean
description: Auto assign a /64 prefix from the origin to the VLAN
staticPrefix:
type: string
description: Manual configuration of a /64 prefix on the VLAN
staticApplianceIp6:
type: string
description: Manual configuration of the IPv6 Appliance IP
origin:
type: object
properties:
type:
type: string
enum:
- independent
- internet
description: Type of the origin
interfaces:
type: array
items:
type: string
description: Interfaces associated with the prefix
required:
- type
description: The origin of the prefix
description: Prefix assignments on the VLAN
description: IPv6 configuration on the VLAN
mandatoryDhcp:
type: object
properties:
enabled:
type: boolean
description: Enable Mandatory DHCP on LAN.
description: Mandatory DHCP will enforce that clients connecting to this LAN must use the IP address assigned by the DHCP server. Clients who use a static IP address won't be able to associate. Only available on firmware versions 17.0 and above
example: {}
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
subnet:
type: string
description: The subnet of the single LAN
applianceIp:
type: string
description: The local IP of the appliance on the single LAN
mandatoryDhcp:
type: object
properties:
enabled:
type: boolean
description: Enable Mandatory DHCP on single LAN.
description: Mandatory DHCP will enforce that clients connecting to this single LAN must use the IP address assigned by the DHCP server. Clients who use a static IP address won't be able to associate. Only available on firmware versions 17.0 and above
ipv6:
type: object
properties:
enabled:
type: boolean
description: Enable IPv6 on single LAN
prefixAssignments:
type: array
items:
type: object
properties:
autonomous:
type: boolean
description: Auto assign a /64 prefix from the origin to the single LAN
staticPrefix:
type: string
description: Manual configuration of a /64 prefix on the single LAN
staticApplianceIp6:
type: string
description: Manual configuration of the IPv6 Appliance IP
origin:
type: object
properties:
type:
type: string
enum:
- independent
- internet
description: Type of the origin
interfaces:
type: array
items:
type: string
description: Interfaces associated with the prefix
description: The origin of the prefix
description: Prefix assignments on the single LAN
description: IPv6 configuration on the single LAN
example:
subnet: 192.168.1.0/24
applianceIp: 192.168.1.2
mandatoryDhcp:
enabled: true
ipv6:
enabled: true
prefixAssignments:
- autonomous: false
staticPrefix: 2001:db8:3c4d:15::/64
staticApplianceIp6: 2001:db8:3c4d:15::1
origin:
type: internet
interfaces:
- wan0
summary: Update single LAN configuration
tags:
- appliance.configure
/networks/{networkId}/appliance/ssids:
get:
description: List the MX SSIDs in a network
operationId: getNetworkApplianceSsids
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:
number:
type: integer
description: The number of the SSID.
name:
type: string
description: The name of the SSID.
enabled:
type: boolean
description: Whether or not the SSID is enabled.
defaultVlanId:
type: integer
description: The VLAN ID of the VLAN associated to this SSID.
authMode:
type: string
description: The association control method for the SSID.
radiusServers:
type: array
items:
type: object
properties:
host:
type: string
description: The IP address of your RADIUS server.
port:
type: integer
description: The UDP port your RADIUS servers listens on for Access-requests.
description: The RADIUS 802.1x servers to be used for authentication.
encryptionMode:
type: string
description: The psk encryption mode for the SSID.
wpaEncryptionMode:
type: string
description: WPA encryption mode for the SSID.
visible:
type: boolean
description: Boolean indicating whether the MX should advertise or hide this SSID.
example:
- number: 1
name: My SSID
enabled: true
defaultVlanId: 1
authMode: 8021x-radius
radiusServers:
- host: 0.0.0.0
port: 1000
encryptionMode: wpa
wpaEncryptionMode: WPA2 only
visible: true
summary: List the MX SSIDs in a network
tags:
- appliance.configure
/networks/{networkId}/appliance/ssids/{number}:
get:
description: Return a single MX SSID
operationId: getNetworkApplianceSsid
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: number
in: path
description: Number
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
number:
type: integer
description: The number of the SSID.
name:
type: string
description: The name of the SSID.
enabled:
type: boolean
description: Whether or not the SSID is enabled.
defaultVlanId:
type: integer
description: The VLAN ID of the VLAN associated to this SSID.
authMode:
type: string
description: The association control method for the SSID.
radiusServers:
type: array
items:
type: object
properties:
host:
type: string
description: The IP address of your RADIUS server.
port:
type: integer
description: The UDP port your RADIUS servers listens on for Access-requests.
description: The RADIUS 802.1x servers to be used for authentication.
encryptionMode:
type: string
description: The psk encryption mode for the SSID.
wpaEncryptionMode:
type: string
description: WPA encryption mode for the SSID.
visible:
type: boolean
description: Boolean indicating whether the MX should advertise or hide this SSID.
example:
number: 1
name: My SSID
enabled: true
defaultVlanId: 1
authMode: 8021x-radius
radiusServers:
- host: 0.0.0.0
port: 1000
encryptionMode: wpa
wpaEncryptionMode: WPA2 only
visible: true
summary: Return a single MX SSID
tags:
- appliance.configure
put:
description: Update the attributes of an MX SSID
operationId: updateNetworkApplianceSsid
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: number
in: path
description: Number
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: The name of the SSID.
enabled:
type: boolean
description: Whether or not the SSID is enabled.
defaultVlanId:
type: integer
description: The VLAN ID of the VLAN associated to this SSID. This parameter is only valid if the network is in routed mode.
authMode:
type: string
enum:
- 8021x-meraki
- 8021x-radius
- open
- psk
description: The association control method for the SSID ('open', 'psk', '8021x-meraki' or '8021x-radius').
psk:
type: string
description: The passkey for the SSID. This param is only valid if the authMode is 'psk'.
radiusServers:
type: array
items:
type: object
properties:
host:
type: string
description: The IP address of your RADIUS server.
port:
type: integer
description: The UDP port your RADIUS servers listens on for Access-requests.
secret:
type: string
description: The RADIUS client shared secret.
description: The RADIUS 802.1x servers to be used for authentication. This param is only valid if the authMode is '8021x-radius'.
encryptionMode:
type: string
enum:
- wep
- wpa
description: The psk encryption mode for the SSID ('wep' or 'wpa'). This param is only valid if the authMode is 'psk'.
wpaEncryptionMode:
type: string
enum:
- WPA1 and WPA2
- WPA2 only
- WPA3 Transition Mode
- WPA3 only
description: The types of WPA encryption. ('WPA1 and WPA2', 'WPA2 only', 'WPA3 Transition Mode' or 'WPA3 only'). This param is only valid if (1) the authMode is 'psk' & the encryptionMode is 'wpa' OR (2) the authMode is '8021x-meraki' OR (3) the authMode is '8021x-radius'
visible:
type: boolean
description: Boolean indicating whether the MX should advertise or hide this SSID.
dhcpEnforcedDeauthentication:
type: object
properties:
enabled:
type: boolean
description: Enable DCHP Enforced Deauthentication on the SSID.
description: 'DHCP Enforced Deauthentication enables the disassociation of wireless clients in addition to Mandatory DHCP. This param is only valid on firmware versions >= MX 17.0 where the associated LAN has Mandatory DHCP Enabled '
dot11w:
type: object
properties:
enabled:
type: boolean
description: Whether 802.11w is enabled or not.
required:
type: boolean
description: (Optional) Whether 802.11w is required or not.
description: The current setting for Protected Management Frames (802.11w).
example:
name: My SSID
enabled: true
defaultVlanId: 1
authMode: 8021x-radius
psk: psk
radiusServers:
- host: 0.0.0.0
port: 1000
secret: secret
encryptionMode: wpa
wpaEncryptionMode: WPA2 only
visible: true
dhcpEnforcedDeauthentication:
enabled: true
dot11w:
enabled: true
required: true
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
number:
type: integer
description: The number of the SSID.
name:
type: string
description: The name of the SSID.
enabled:
type: boolean
description: Whether or not the SSID is enabled.
defaultVlanId:
type: integer
description: The VLAN ID of the VLAN associated to this SSID.
authMode:
type: string
description: The association control method for the SSID.
radiusServers:
type: array
items:
type: object
properties:
host:
type: string
description: The IP address of your RADIUS server.
port:
type: integer
description: The UDP port your RADIUS servers listens on for Access-requests.
description: The RADIUS 802.1x servers to be used for authentication.
encryptionMode:
type: string
description: The psk encryption mode for the SSID.
wpaEncryptionMode:
type: string
description: WPA encryption mode for the SSID.
visible:
type: boolean
description: Boolean indicating whether the MX should advertise or hide this SSID.
example:
number: 1
name: My SSID
enabled: true
defaultVlanId: 1
authMode: 8021x-radius
radiusServers:
- host: 0.0.0.0
port: 1000
encryptionMode: wpa
wpaEncryptionMode: WPA2 only
visible: true
summary: Update the attributes of an MX SSID
tags:
- appliance.configure
/networks/{networkId}/appliance/staticRoutes:
get:
description: List the static routes for an MX or teleworker network
operationId: getNetworkApplianceStaticRoutes
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: Route ID
ipVersion:
type: integer
description: IP protocol version
networkId:
type: string
description: Network ID
enabled:
type: boolean
description: Whether the route is enabled or not
name:
type: string
description: Name of the route
subnet:
type: string
description: Subnet of the route
gatewayIp:
type: string
description: Gateway IP address (next hop)
fixedIpAssignments:
type: object
additionalProperties:
type: object
properties:
ip:
type: string
description: Assigned IP address
name:
type: string
description: Client name
description: An object mapping MAC addresses to IP addresses and client names
description: Fixed DHCP IP assignments on the route
reservedIpRanges:
type: array
items:
type: object
properties:
start:
type: string
description: First address in the reserved range
end:
type: string
description: Last address in the reserved range
comment:
type: string
description: Description of the range
description: DHCP reserved IP ranges
gatewayVlanId:
type: integer
description: Gateway VLAN ID
example:
- id: d7fa4948-7921-4dfa-af6b-ae8b16c20c39
ipVersion: 4
networkId: N_24329156
enabled: true
name: My route
subnet: 192.168.1.0/24
gatewayIp: 1.2.3.5
fixedIpAssignments:
22:33:44:55:66:77:
ip: 1.2.3.4
name: Some client name
reservedIpRanges:
- start: 192.168.1.0
end: 192.168.1.1
comment: A reserved IP range
gatewayVlanId: 100
summary: List the static routes for an MX or teleworker network
tags:
- appliance.configure
post:
description: Add a static route for an MX or teleworker network
operationId: createNetworkApplianceStaticRoute
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 route
subnet:
type: string
description: Subnet of the route
gatewayIp:
type: string
description: Gateway IP address (next hop)
gatewayVlanId:
type: string
description: Gateway VLAN ID
example:
name: My route
subnet: 192.168.1.0/24
gatewayIp: 1.2.3.5
gatewayVlanId: '100'
required:
- name
- subnet
- gatewayIp
required: true
responses:
'201':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: Route ID
ipVersion:
type: integer
description: IP protocol version
networkId:
type: string
description: Network ID
enabled:
type: boolean
description: Whether the route is enabled or not
name:
type: string
description: Name of the route
subnet:
type: string
description: Subnet of the route
gatewayIp:
type: string
description: Gateway IP address (next hop)
fixedIpAssignments:
type: object
additionalProperties:
type: object
properties:
ip:
type: string
description: Assigned IP address
name:
type: string
description: Client name
description: An object mapping MAC addresses to IP addresses and client names
description: Fixed DHCP IP assignments on the route
reservedIpRanges:
type: array
items:
type: object
properties:
start:
type: string
description: First address in the reserved range
end:
type: string
description: Last address in the reserved range
comment:
type: string
description: Description of the range
description: DHCP reserved IP ranges
gatewayVlanId:
type: integer
description: Gateway VLAN ID
example:
id: d7fa4948-7921-4dfa-af6b-ae8b16c20c39
ipVersion: 4
networkId: N_24329156
enabled: true
name: My route
subnet: 192.168.1.0/24
gatewayIp: 1.2.3.5
fixedIpAssignments:
22:33:44:55:66:77:
ip: 1.2.3.4
name: Some client name
reservedIpRanges:
- start: 192.168.1.0
end: 192.168.1.1
comment: A reserved IP range
gatewayVlanId: 100
summary: Add a static route for an MX or teleworker network
tags:
- appliance.configure
/networks/{networkId}/appliance/staticRoutes/{staticRouteId}:
get:
description: Return a static route for an MX or teleworker network
operationId: getNetworkApplianceStaticRoute
parameters:
- name: networkId
in: path
description: Network 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:
id:
type: string
description: Route ID
ipVersion:
type: integer
description: IP protocol version
networkId:
type: string
description: Network ID
enabled:
type: boolean
description: Whether the route is enabled or not
name:
type: string
description: Name of the route
subnet:
type: string
description: Subnet of the route
gatewayIp:
type: string
description: Gateway IP address (next hop)
fixedIpAssignments:
type: object
additionalProperties:
type: object
properties:
ip:
type: string
description: Assigned IP address
name:
type: string
description: Client name
description: An object mapping MAC addresses to IP addresses and client names
description: Fixed DHCP IP assignments on the route
reservedIpRanges:
type: array
items:
type: object
properties:
start:
type: string
description: First address in the reserved range
end:
type: string
description: Last address in the reserved range
comment:
type: string
description: Description of the range
description: DHCP reserved IP ranges
gatewayVlanId:
type: integer
description: Gateway VLAN ID
example:
id: d7fa4948-7921-4dfa-af6b-ae8b16c20c39
ipVersion: 4
networkId: N_24329156
enabled: true
name: My route
subnet: 192.168.1.0/24
gatewayIp: 1.2.3.5
fixedIpAssignments:
22:33:44:55:66:77:
ip: 1.2.3.4
name: Some client name
reservedIpRanges:
- start: 192.168.1.0
end: 192.168.1.1
comment: A reserved IP range
gatewayVlanId: 100
summary: Return a static route for an MX or teleworker network
tags:
- appliance.configure
put:
description: Update a static route for an MX or teleworker network
operationId: updateNetworkApplianceStaticRoute
parameters:
- name: networkId
in: path
description: Network 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 of the route
subnet:
type: string
description: Subnet of the route
gatewayIp:
type: string
description: Gateway IP address (next hop)
gatewayVlanId:
type: string
description: Gateway VLAN ID
enabled:
type: boolean
description: Whether the route should be enabled or not
fixedIpAssignments:
type: object
additionalProperties:
type: object
properties:
ip:
type: string
description: Assigned IP address
name:
type: string
description: Client name
description: An object mapping MAC addresses to IP addresses and client names
description: Fixed DHCP IP assignments on the route
reservedIpRanges:
type: array
items:
type: object
properties:
start:
type: string
description: First address in the reserved range
end:
type: string
description: Last address in the reserved range
comment:
type: string
description: Description of the range
required:
- start
- end
- comment
description: DHCP reserved IP ranges
example:
name: My route
subnet: 192.168.1.0/24
gatewayIp: 1.2.3.5
gatewayVlanId: '100'
enabled: true
fixedIpAssignments:
22:33:44:55:66:77:
ip: 1.2.3.4
name: Some client name
reservedIpRanges:
- start: 192.168.1.0
end: 192.168.1.1
comment: A reserved IP range
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: Route ID
ipVersion:
type: integer
description: IP protocol version
networkId:
type: string
description: Network ID
enabled:
type: boolean
description: Whether the route is enabled or not
name:
type: string
description: Name of the route
subnet:
type: string
description: Subnet of the route
gatewayIp:
type: string
description: Gateway IP address (next hop)
fixedIpAssignments:
type: object
additionalProperties:
type: object
properties:
ip:
type: string
description: Assigned IP address
name:
type: string
description: Client name
description: An object mapping MAC addresses to IP addresses and client names
description: Fixed DHCP IP assignments on the route
reservedIpRanges:
type: array
items:
type: object
properties:
start:
type: string
description: First address in the reserved range
end:
type: string
description: Last address in the reserved range
comment:
type: string
description: Description of the range
description: DHCP reserved IP ranges
gatewayVlanId:
type: integer
description: Gateway VLAN ID
example:
id: d7fa4948-7921-4dfa-af6b-ae8b16c20c39
ipVersion: 4
networkId: N_24329156
enabled: true
name: My route
subnet: 192.168.1.0/24
gatewayIp: 1.2.3.5
fixedIpAssignments:
22:33:44:55:66:77:
ip: 1.2.3.4
name: Some client name
reservedIpRanges:
- start: 192.168.1.0
end: 192.168.1.1
comment: A reserved IP range
gatewayVlanId: 100
summary: Update a static route for an MX or teleworker network
tags:
- appliance.configure
delete:
description: Delete a static route from an MX or teleworker network
operationId: deleteNetworkApplianceStaticRoute
parameters:
- name: networkId
in: path
description: Network 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 static route from an MX or teleworker network
tags:
- appliance.configure
/networks/{networkId}/appliance/trafficShaping:
get:
description: Display the traffic shaping settings for an MX network
operationId: getNetworkApplianceTrafficShaping
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
globalBandwidthLimits:
limitUp: 2048
limitDown: 5120
summary: Display the traffic shaping settings for an MX network
tags:
- appliance.configure
put:
description: Update the traffic shaping settings for an MX network
operationId: updateNetworkApplianceTrafficShaping
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
globalBandwidthLimits:
type: object
properties:
limitUp:
type: integer
description: The upload bandwidth limit in Kbps. (0 represents no limit.)
limitDown:
type: integer
description: The download bandwidth limit in Kbps. (0 represents no limit.)
description: Global per-client bandwidth limit
example:
globalBandwidthLimits:
limitUp: 2048
limitDown: 5120
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
globalBandwidthLimits:
limitUp: 2048
limitDown: 5120
summary: Update the traffic shaping settings for an MX network
tags:
- appliance.configure
/networks/{networkId}/appliance/trafficShaping/customPerformanceClasses:
get:
description: List all custom performance classes for an MX network
operationId: getNetworkApplianceTrafficShapingCustomPerformanceClasses
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 custom performance class
customPerformanceClassId:
type: string
description: ID of the custom performance class
maxLatency:
type: integer
description: Maximum latency in milliseconds
maxJitter:
type: integer
description: Maximum jitter in milliseconds
maxLossPercentage:
type: integer
description: Maximum percentage of packet loss
example:
- name: myCustomPerformanceClass
customPerformanceClassId: '123'
maxLatency: 100
maxJitter: 100
maxLossPercentage: 5
summary: List all custom performance classes for an MX network
tags:
- appliance.configure
post:
description: Add a custom performance class for an MX network
operationId: createNetworkApplianceTrafficShapingCustomPerformanceClass
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 custom performance class
maxLatency:
type: integer
description: Maximum latency in milliseconds
maxJitter:
type: integer
description: Maximum jitter in milliseconds
maxLossPercentage:
type: integer
description: Maximum percentage of packet loss
example:
name: myCustomPerformanceClass
maxLatency: 100
maxJitter: 100
maxLossPercentage: 5
required:
- name
required: true
responses:
'201':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name of the custom performance class
customPerformanceClassId:
type: string
description: ID of the custom performance class
maxLatency:
type: integer
description: Maximum latency in milliseconds
maxJitter:
type: integer
description: Maximum jitter in milliseconds
maxLossPercentage:
type: integer
description: Maximum percentage of packet loss
example:
name: myCustomPerformanceClass
customPerformanceClassId: '123'
maxLatency: 100
maxJitter: 100
maxLossPercentage: 5
summary: Add a custom performance class for an MX network
tags:
- appliance.configure
/networks/{networkId}/appliance/trafficShaping/customPerformanceClasses/{customPerformanceClassId}:
get:
description: Return a custom performance class for an MX network
operationId: getNetworkApplianceTrafficShapingCustomPerformanceClass
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: customPerformanceClassId
in: path
description: Custom performance class ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name of the custom performance class
customPerformanceClassId:
type: string
description: ID of the custom performance class
maxLatency:
type: integer
description: Maximum latency in milliseconds
maxJitter:
type: integer
description: Maximum jitter in milliseconds
maxLossPercentage:
type: integer
description: Maximum percentage of packet loss
example:
name: myCustomPerformanceClass
customPerformanceClassId: '123'
maxLatency: 100
maxJitter: 100
maxLossPercentage: 5
summary: Return a custom performance class for an MX network
tags:
- appliance.configure
put:
description: Update a custom performance class for an MX network
operationId: updateNetworkApplianceTrafficShapingCustomPerformanceClass
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: customPerformanceClassId
in: path
description: Custom performance class ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name of the custom performance class
maxLatency:
type: integer
description: Maximum latency in milliseconds
maxJitter:
type: integer
description: Maximum jitter in milliseconds
maxLossPercentage:
type: integer
description: Maximum percentage of packet loss
example:
name: myCustomPerformanceClass
maxLatency: 100
maxJitter: 100
maxLossPercentage: 5
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name of the custom performance class
customPerformanceClassId:
type: string
description: ID of the custom performance class
maxLatency:
type: integer
description: Maximum latency in milliseconds
maxJitter:
type: integer
description: Maximum jitter in milliseconds
maxLossPercentage:
type: integer
description: Maximum percentage of packet loss
example:
name: myCustomPerformanceClass
customPerformanceClassId: '123'
maxLatency: 100
maxJitter: 100
maxLossPercentage: 5
summary: Update a custom performance class for an MX network
tags:
- appliance.configure
delete:
description: Delete a custom performance class from an MX network
operationId: deleteNetworkApplianceTrafficShapingCustomPerformanceClass
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: customPerformanceClassId
in: path
description: Custom performance class ID
schema:
type: string
required: true
responses:
'204':
description: Successful operation
summary: Delete a custom performance class from an MX network
tags:
- appliance.configure
/networks/{networkId}/appliance/trafficShaping/rules:
put:
description: Update the traffic shaping settings rules for an MX network
operationId: updateNetworkApplianceTrafficShapingRules
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
defaultRulesEnabled:
type: boolean
description: Whether default traffic shaping rules are enabled (true) or disabled (false). There are 4 default rules, which can be seen on your network's traffic shaping page. Note that default rules count against the rule limit of 8.
rules:
type: array
items:
type: object
properties:
definitions:
type: array
items:
type: object
properties:
type:
type: string
enum:
- application
- applicationCategory
- host
- ipRange
- localNet
- port
description: The type of definition. Can be one of 'application', 'applicationCategory', 'host', 'port', 'ipRange' or 'localNet'.
value:
type: string
description: " If \"type\" is 'host', 'port', 'ipRange' or 'localNet', then \"value\" must be a string, matching either\n a hostname (e.g. \"somesite.com\"), a port (e.g. 8080), or an IP range (\"192.1.0.0\",\n \"192.1.0.0/16\", or \"10.1.0.0/16:80\"). 'localNet' also supports CIDR notation, excluding\n custom ports.\n If \"type\" is 'application' or 'applicationCategory', then \"value\" must be an object\n with the structure { \"id\": \"meraki:layer7/...\" }, where \"id\" is the application category or\n application ID (for a list of IDs for your network, use the trafficShaping/applicationCategories\n endpoint).\n"
required:
- type
- value
description: ' A list of objects describing the definitions of your traffic shaping rule. At least one definition is required.
'
perClientBandwidthLimits:
type: object
properties:
settings:
type: string
description: How bandwidth limits are applied by your rule. Can be one of 'network default', 'ignore' or 'custom'.
bandwidthLimits:
type: object
properties:
limitUp:
type: integer
description: The maximum upload limit (integer, in Kbps).
limitDown:
type: integer
description: The maximum download limit (integer, in Kbps).
description: The bandwidth limits object, specifying the upload ('limitUp') and download ('limitDown') speed in Kbps. These are only enforced if 'settings' is set to 'custom'.
description: ' An object describing the bandwidth settings for your rule.
'
dscpTagValue:
type: integer
description: " The DSCP tag applied by your rule. null means 'Do not change DSCP tag'.\n For a list of possible tag values, use the trafficShaping/dscpTaggingOptions endpoint.\n"
priority:
type: string
description: " A string, indicating the priority level for packets bound to your rule.\n Can be 'low', 'normal' or 'high'.\n"
required:
- definitions
description: " An array of traffic shaping rules. Rules are applied in the order that\n they are specified in. An empty list (or null) means no rules. Note that\n you are allowed a maximum of 8 rules.\n"
example:
defaultRulesEnabled: true
rules:
- definitions:
- type: host
value: google.com
- type: port
value: '9090'
- type: ipRange
value: 192.1.0.0
- type: ipRange
value: 192.1.0.0/16
- type: ipRange
value: 10.1.0.0/16:80
- type: localNet
value: 192.168.0.0/16
perClientBandwidthLimits:
settings: custom
bandwidthLimits:
limitUp: 1000000
limitDown: 1000000
dscpTagValue: 0
priority: normal
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
defaultRulesEnabled: true
rules:
- definitions:
- type: host
value: google.com
- type: port
value: '9090'
- type: ipRange
value: 192.1.0.0
- type: ipRange
value: 192.1.0.0/16
- type: ipRange
value: 10.1.0.0/16:80
- type: localNet
value: 192.168.0.0/16
perClientBandwidthLimits:
settings: custom
bandwidthLimits:
limitUp: 1000000
limitDown: 1000000
dscpTagValue: 0
priority: normal
summary: Update the traffic shaping settings rules for an MX network
tags:
- appliance.configure
get:
description: Display the traffic shaping settings rules for an MX network
operationId: getNetworkApplianceTrafficShapingRules
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
defaultRulesEnabled: true
rules:
- definitions:
- type: host
value: google.com
- type: port
value: '9090'
- type: ipRange
value: 192.1.0.0
- type: ipRange
value: 192.1.0.0/16
- type: ipRange
value: 10.1.0.0/16:80
- type: localNet
value: 192.168.0.0/16
perClientBandwidthLimits:
settings: custom
bandwidthLimits:
limitUp: 1000000
limitDown: 1000000
dscpTagValue: 0
priority: normal
summary: Display the traffic shaping settings rules for an MX network
tags:
- appliance.configure
/networks/{networkId}/appliance/trafficShaping/uplinkBandwidth:
get:
description: Returns the uplink bandwidth limits for your MX network. This may not reflect the affected device's hardware capabilities. For more information on your device's hardware capabilities, please consult our MX Family Datasheet - [https://meraki.cisco.com/product-collateral/mx-family-datasheet/?file]
operationId: getNetworkApplianceTrafficShapingUplinkBandwidth
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:
bandwidthLimits:
type: object
properties:
wan1:
type: object
properties:
limitUp:
type: integer
description: configured UP limit for the uplink (in Kbps). Null indicated unlimited
limitDown:
type: integer
description: configured DOWN limit for the uplink (in Kbps). Null indicated unlimited
description: uplink wan1 configured limits [optional]
wan2:
type: object
properties:
limitUp:
type: integer
description: configured UP limit for the uplink (in Kbps). Null indicated unlimited
limitDown:
type: integer
description: configured DOWN limit for the uplink (in Kbps). Null indicated unlimited
description: uplink wan2 configured limits [optional]
cellular:
type: object
properties:
limitUp:
type: integer
description: configured UP limit for the uplink (in Kbps). Null indicated unlimited
limitDown:
type: integer
description: configured DOWN limit for the uplink (in Kbps). Null indicated unlimited
description: uplink cellular configured limits [optional]
description: A hash uplink keys and their configured settings for the Appliance
example:
bandwidthLimits:
wan1:
limitUp: 1000000
limitDown: 1000000
wan2:
limitUp: 1000000
limitDown: 1000000
cellular:
limitUp: 51200
limitDown: 51200
summary: Returns the uplink bandwidth limits for your MX network
tags:
- appliance.configure
put:
description: Updates the uplink bandwidth settings for your MX network.
operationId: updateNetworkApplianceTrafficShapingUplinkBandwidth
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
bandwidthLimits:
type: object
properties:
wan1:
type: object
properties:
limitUp:
type: integer
description: The maximum upload limit (integer, in Kbps). null indicates no limit
limitDown:
type: integer
description: The maximum download limit (integer, in Kbps). null indicates no limit
description: The bandwidth settings for the 'wan1' uplink
wan2:
type: object
properties:
limitUp:
type: integer
description: The maximum upload limit (integer, in Kbps). null indicates no limit
limitDown:
type: integer
description: The maximum download limit (integer, in Kbps). null indicates no limit
description: The bandwidth settings for the 'wan2' uplink
cellular:
type: object
properties:
limitUp:
type: integer
description: The maximum upload limit (integer, in Kbps). null indicates no limit
limitDown:
type: integer
description: The maximum download limit (integer, in Kbps). null indicates no limit
description: The bandwidth settings for the 'cellular' uplink
description: A mapping of uplinks to their bandwidth settings (be sure to check which uplinks are supported for your network)
example:
bandwidthLimits:
wan1:
limitUp: 1000000
limitDown: 1000000
wan2:
limitUp: 1000000
limitDown: 1000000
cellular:
limitUp: 1000000
limitDown: 1000000
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
bandwidthLimits:
wan1:
limitUp: 1000000
limitDown: 1000000
wan2:
limitUp: 1000000
limitDown: 1000000
cellular:
limitUp: 51200
limitDown: 51200
summary: Updates the uplink bandwidth settings for your MX network.
tags:
- appliance.configure
/networks/{networkId}/appliance/trafficShaping/uplinkSelection:
get:
description: Show uplink selection settings for an MX network
operationId: getNetworkApplianceTrafficShapingUplinkSelection
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:
activeActiveAutoVpnEnabled:
type: boolean
description: Whether active-active AutoVPN is enabled
defaultUplink:
type: string
enum:
- wan1
- wan2
description: 'The default uplink. Must be one of: ''wan1'' or ''wan2'''
loadBalancingEnabled:
type: boolean
description: Whether load balancing is enabled
failoverAndFailback:
type: object
properties:
immediate:
type: object
properties:
enabled:
type: boolean
description: Whether immediate WAN failover and failback is enabled
required:
- enabled
description: Immediate WAN failover and failback
description: WAN failover and failback
wanTrafficUplinkPreferences:
type: array
items:
type: object
properties:
trafficFilters:
type: array
items:
type: object
properties:
type:
type: string
enum:
- custom
description: Traffic filter type. Must be "custom"
value:
type: object
properties:
protocol:
type: string
enum:
- any
- icmp6
- tcp
- udp
description: 'Protocol of ''custom'' type traffic filter. Must be one of: ''tcp'', ''udp'', ''icmp6'' or ''any'''
source:
type: object
properties:
port:
type: string
description: 'E.g.: "any", "0" (also means "any"), "8080", "1-1024"'
cidr:
type: string
description: CIDR format address (e.g."192.168.10.1", which is the same as "192.168.10.1/32"), or "any". Cannot be used in combination with the "vlan" property
vlan:
type: integer
description: VLAN ID of the configured VLAN in the Meraki network. Cannot be used in combination with the "cidr" property and is currently only available under a template network.
host:
type: integer
description: Host ID in the VLAN. Should not exceed the VLAN subnet capacity. Must be used along with the "vlan" property and is currently only available under a template network.
description: Source of 'custom' type traffic filter
destination:
type: object
properties:
port:
type: string
description: 'E.g.: "any", "0" (also means "any"), "8080", "1-1024"'
cidr:
type: string
description: CIDR format address (e.g."192.168.10.1", which is the same as "192.168.10.1/32"), or "any"
applications:
type: array
items:
type: object
properties:
id:
type: string
description: Id of the major application, or a list of NBAR Application Category or Application selections
name:
type: string
description: Name of the major application or application category selected
type:
type: string
description: app type (major or nbar)
description: list of application objects (either majorApplication or nbar)
description: Destination of 'custom' type traffic filter
required:
- source
- destination
description: Value of traffic filter
required:
- type
- value
description: Traffic filters
preferredUplink:
type: string
enum:
- wan1
- wan2
description: 'Preferred uplink for uplink preference rule. Must be one of: ''wan1'' or ''wan2'''
required:
- trafficFilters
- preferredUplink
description: Uplink preference rules for WAN traffic
vpnTrafficUplinkPreferences:
type: array
items:
type: object
properties:
trafficFilters:
type: array
items:
type: object
properties:
type:
type: string
enum:
- application
- applicationCategory
- custom
description: 'Traffic filter type. Must be one of: ''applicationCategory'', ''application'' or ''custom'''
value:
type: object
properties:
id:
type: string
description: ID of 'applicationCategory' or 'application' type traffic filter
protocol:
type: string
enum:
- any
- icmp
- icmp6
- tcp
- udp
description: 'Protocol of ''custom'' type traffic filter. Must be one of: ''tcp'', ''udp'', ''icmp'', ''icmp6'' or ''any'''
source:
type: object
properties:
port:
type: string
description: 'E.g.: "any", "0" (also means "any"), "8080", "1-1024"'
cidr:
type: string
description: CIDR format address (e.g."192.168.10.1", which is the same as "192.168.10.1/32"), or "any". Cannot be used in combination with the "vlan" property
network:
type: string
description: 'Meraki network ID. Currently only available under a template network, and the value should be ID of either same template network, or another template network currently. E.g.: "L_12345678".'
vlan:
type: integer
description: VLAN ID of the configured VLAN in the Meraki network. Cannot be used in combination with the "cidr" property and is currently only available under a template network.
host:
type: integer
description: Host ID in the VLAN. Should not exceed the VLAN subnet capacity. Must be used along with the "vlan" property and is currently only available under a template network.
description: Source of 'custom' type traffic filter
destination:
type: object
properties:
port:
type: string
description: 'E.g.: "any", "0" (also means "any"), "8080", "1-1024"'
cidr:
type: string
description: CIDR format address (e.g."192.168.10.1", which is the same as "192.168.10.1/32"), or "any". Cannot be used in combination with the "vlan" or "fqdn" property
network:
type: string
description: 'Meraki network ID. Currently only available under a template network, and the value should be ID of either same template network, or another template network currently. E.g.: "L_12345678".'
vlan:
type: integer
description: VLAN ID of the configured VLAN in the Meraki network. Cannot be used in combination with the "cidr" or "fqdn" property and is currently only available under a template network.
host:
type: integer
description: Host ID in the VLAN. Should not exceed the VLAN subnet capacity. Must be used along with the "vlan" property and is currently only available under a template network.
fqdn:
type: string
description: 'FQDN format address. Cannot be used in combination with the "cidr" or "fqdn" property and is currently only available in the "destination" object of the "vpnTrafficUplinkPreference" object. E.g.: "www.google.com"'
description: Destination of 'custom' type traffic filter
description: Value of traffic filter
required:
- type
- value
description: Traffic filters
preferredUplink:
type: string
enum:
- bestForVoIP
- defaultUplink
- loadBalancing
- wan1
- wan2
description: 'Preferred uplink for uplink preference rule. Must be one of: ''wan1'', ''wan2'', ''bestForVoIP'', ''loadBalancing'' or ''defaultUplink'''
failOverCriterion:
type: string
enum:
- poorPerformance
- uplinkDown
description: 'Fail over criterion for uplink preference rule. Must be one of: ''poorPerformance'' or ''uplinkDown'''
performanceClass:
type: object
properties:
type:
type: string
enum:
- builtin
- custom
description: 'Type of this performance class. Must be one of: ''builtin'' or ''custom'''
builtinPerformanceClassName:
type: string
enum:
- VoIP
description: 'Name of builtin performance class. Must be present when performanceClass type is ''builtin'' and value must be one of: ''VoIP'''
customPerformanceClassId:
type: string
description: ID of created custom performance class, must be present when performanceClass type is "custom"
required:
- type
description: Performance class setting for uplink preference rule
required:
- trafficFilters
- preferredUplink
description: Uplink preference rules for VPN traffic
example:
activeActiveAutoVpnEnabled: true
defaultUplink: wan1
loadBalancingEnabled: true
failoverAndFailback:
immediate:
enabled: true
wanTrafficUplinkPreferences:
- trafficFilters:
- type: custom
value:
protocol: tcp
source:
port: 1-1024
cidr: 192.168.1.0/24
vlan: 10
host: 254
destination:
port: any
cidr: any
applications:
- id: meraki:layer7/application/3
name: DNS
type: major
preferredUplink: wan1
vpnTrafficUplinkPreferences:
- trafficFilters:
- type: applicationCategory
value:
id: meraki:layer7/category/1
protocol: tcp
source:
port: any
cidr: 192.168.1.0/24
network: L_23456789
vlan: 20
host: 200
destination:
port: 1-1024
cidr: any
network: L_12345678
vlan: 10
host: 254
fqdn: www.google.com
preferredUplink: bestForVoIP
failOverCriterion: poorPerformance
performanceClass:
type: custom
builtinPerformanceClassName: VoIP
customPerformanceClassId: '123456'
summary: Show uplink selection settings for an MX network
tags:
- appliance.configure
put:
description: Update uplink selection settings for an MX network
operationId: updateNetworkApplianceTrafficShapingUplinkSelection
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
activeActiveAutoVpnEnabled:
type: boolean
description: Toggle for enabling or disabling active-active AutoVPN
defaultUplink:
type: string
enum:
- wan1
- wan2
description: 'The default uplink. Must be one of: ''wan1'' or ''wan2'''
loadBalancingEnabled:
type: boolean
description: Toggle for enabling or disabling load balancing
failoverAndFailback:
type: object
properties:
immediate:
type: object
properties:
enabled:
type: boolean
description: Toggle for enabling or disabling immediate WAN failover and failback
required:
- enabled
description: Immediate WAN transition terminates all flows (new and existing) on current WAN when it is deemed unreliable.
description: WAN failover and failback behavior
wanTrafficUplinkPreferences:
type: array
items:
type: object
properties:
trafficFilters:
type: array
items:
type: object
properties:
type:
type: string
enum:
- custom
description: 'Type of this traffic filter. Must be one of: ''custom'''
value:
type: object
properties:
protocol:
type: string
enum:
- any
- icmp6
- tcp
- udp
description: 'Protocol of this custom type traffic filter. Must be one of: ''tcp'', ''udp'', ''icmp6'' or ''any'''
source:
type: object
properties:
port:
type: string
description: 'E.g.: "any", "0" (also means "any"), "8080", "1-1024"'
cidr:
type: string
description: 'CIDR format address, or "any". E.g.: "192.168.10.0/24", "192.168.10.1" (same as "192.168.10.1/32"), "0.0.0.0/0" (same as "any")'
vlan:
type: integer
description: VLAN ID of the configured VLAN in the Meraki network. Currently only available under a template network.
host:
type: integer
description: Host ID in the VLAN, should be used along with 'vlan', and not exceed the vlan subnet capacity. Currently only available under a template network.
description: Source of this custom type traffic filter
destination:
type: object
properties:
port:
type: string
description: 'E.g.: "any", "0" (also means "any"), "8080", "1-1024"'
cidr:
type: string
description: 'CIDR format address, or "any". E.g.: "192.168.10.0/24", "192.168.10.1" (same as "192.168.10.1/32"), "0.0.0.0/0" (same as "any")'
description: Destination of this custom type traffic filter
required:
- source
- destination
description: Value object of this traffic filter
required:
- type
- value
description: Array of traffic filters for this uplink preference rule
preferredUplink:
type: string
enum:
- wan1
- wan2
description: 'Preferred uplink for this uplink preference rule. Must be one of: ''wan1'' or ''wan2'''
required:
- trafficFilters
- preferredUplink
description: Array of uplink preference rules for WAN traffic
vpnTrafficUplinkPreferences:
type: array
items:
type: object
properties:
trafficFilters:
type: array
items:
type: object
properties:
type:
type: string
enum:
- application
- applicationCategory
- custom
description: 'Type of this traffic filter. Must be one of: ''applicationCategory'', ''application'' or ''custom'''
value:
type: object
properties:
id:
type: string
description: 'ID of this applicationCategory or application type traffic filter. E.g.: "meraki:layer7/category/1", "meraki:layer7/application/4"'
protocol:
type: string
enum:
- any
- icmp
- icmp6
- tcp
- udp
description: 'Protocol of this custom type traffic filter. Must be one of: ''tcp'', ''udp'', ''icmp'', ''icmp6'' or ''any'''
source:
type: object
properties:
port:
type: string
description: 'E.g.: "any", "0" (also means "any"), "8080", "1-1024"'
cidr:
type: string
description: 'CIDR format address, or "any". E.g.: "192.168.10.0/24", "192.168.10.1" (same as "192.168.10.1/32"), "0.0.0.0/0" (same as "any")'
network:
type: string
description: 'Meraki network ID. Currently only available under a template network, and the value should be ID of either same template network, or another template network currently. E.g.: "L_12345678".'
vlan:
type: integer
description: VLAN ID of the configured VLAN in the Meraki network. Currently only available under a template network.
host:
type: integer
description: Host ID in the VLAN, should be used along with 'vlan', and not exceed the vlan subnet capacity. Currently only available under a template network.
description: Source of this custom type traffic filter
destination:
type: object
properties:
port:
type: string
description: 'E.g.: "any", "0" (also means "any"), "8080", "1-1024"'
cidr:
type: string
description: 'CIDR format address, or "any". E.g.: "192.168.10.0/24", "192.168.10.1" (same as "192.168.10.1/32"), "0.0.0.0/0" (same as "any")'
network:
type: string
description: 'Meraki network ID. Currently only available under a template network, and the value should be ID of either same template network, or another template network currently. E.g.: "L_12345678".'
vlan:
type: integer
description: VLAN ID of the configured VLAN in the Meraki network. Currently only available under a template network.
host:
type: integer
description: Host ID in the VLAN, should be used along with 'vlan', and not exceed the vlan subnet capacity. Currently only available under a template network.
fqdn:
type: string
description: 'FQDN format address. Currently only availabe in ''destination'' of ''vpnTrafficUplinkPreference'' object. E.g.: ''www.google.com'''
description: Destination of this custom type traffic filter
description: Value object of this traffic filter
required:
- type
- value
description: Array of traffic filters for this uplink preference rule
preferredUplink:
type: string
enum:
- bestForVoIP
- defaultUplink
- loadBalancing
- wan1
- wan2
description: 'Preferred uplink for this uplink preference rule. Must be one of: ''wan1'', ''wan2'', ''bestForVoIP'', ''loadBalancing'' or ''defaultUplink'''
failOverCriterion:
type: string
enum:
- poorPerformance
- uplinkDown
description: 'Fail over criterion for this uplink preference rule. Must be one of: ''poorPerformance'' or ''uplinkDown'''
performanceClass:
type: object
properties:
type:
type: string
enum:
- builtin
- custom
description: 'Type of this performance class. Must be one of: ''builtin'' or ''custom'''
builtinPerformanceClassName:
type: string
enum:
- VoIP
description: 'Name of builtin performance class, must be present when performanceClass type is ''builtin'', and value must be one of: ''VoIP'''
customPerformanceClassId:
type: string
description: ID of created custom performance class, must be present when performanceClass type is 'custom'
required:
- type
description: Performance class setting for this uplink preference rule
required:
- trafficFilters
- preferredUplink
description: Array of uplink preference rules for VPN traffic
example:
activeActiveAutoVpnEnabled: true
defaultUplink: wan1
loadBalancingEnabled: true
failoverAndFailback:
immediate:
enabled: true
wanTrafficUplinkPreferences:
- trafficFilters:
- type: custom
value:
protocol: tcp
source:
port: 1-1024
cidr: 192.168.1.0/24
vlan: 10
host: 254
destination:
port: any
cidr: any
preferredUplink: wan1
vpnTrafficUplinkPreferences:
- trafficFilters:
- type: applicationCategory
value:
id: meraki:layer7/category/1
protocol: tcp
source:
port: any
cidr: 192.168.1.0/24
network: L_23456789
vlan: 20
host: 200
destination:
port: 1-1024
cidr: any
network: L_12345678
vlan: 10
host: 254
fqdn: www.google.com
preferredUplink: bestForVoIP
failOverCriterion: poorPerformance
performanceClass:
type: custom
builtinPerformanceClassName: VoIP
customPerformanceClassId: '123456'
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
activeActiveAutoVpnEnabled:
type: boolean
description: Whether active-active AutoVPN is enabled
defaultUplink:
type: string
enum:
- wan1
- wan2
description: 'The default uplink. Must be one of: ''wan1'' or ''wan2'''
loadBalancingEnabled:
type: boolean
description: Whether load balancing is enabled
failoverAndFailback:
type: object
properties:
immediate:
type: object
properties:
enabled:
type: boolean
description: Whether immediate WAN failover and failback is enabled
required:
- enabled
description: Immediate WAN failover and failback
description: WAN failover and failback
wanTrafficUplinkPreferences:
type: array
items:
type: object
properties:
trafficFilters:
type: array
items:
type: object
properties:
type:
type: string
enum:
- custom
description: Traffic filter type. Must be "custom"
value:
type: object
properties:
protocol:
type: string
enum:
- any
- icmp6
- tcp
- udp
description: 'Protocol of ''custom'' type traffic filter. Must be one of: ''tcp'', ''udp'', ''icmp6'' or ''any'''
source:
type: object
properties:
port:
type: string
description: 'E.g.: "any", "0" (also means "any"), "8080", "1-1024"'
cidr:
type: string
description: CIDR format address (e.g."192.168.10.1", which is the same as "192.168.10.1/32"), or "any". Cannot be used in combination with the "vlan" property
vlan:
type: integer
description: VLAN ID of the configured VLAN in the Meraki network. Cannot be used in combination with the "cidr" property and is currently only available under a template network.
host:
type: integer
description: Host ID in the VLAN. Should not exceed the VLAN subnet capacity. Must be used along with the "vlan" property and is currently only available under a template network.
description: Source of 'custom' type traffic filter
destination:
type: object
properties:
port:
type: string
description: 'E.g.: "any", "0" (also means "any"), "8080", "1-1024"'
cidr:
type: string
description: CIDR format address (e.g."192.168.10.1", which is the same as "192.168.10.1/32"), or "any"
applications:
type: array
items:
type: object
properties:
id:
type: string
description: Id of the major application, or a list of NBAR Application Category or Application selections
name:
type: string
description: Name of the major application or application category selected
type:
type: string
description: app type (major or nbar)
description: list of application objects (either majorApplication or nbar)
description: Destination of 'custom' type traffic filter
required:
- source
- destination
description: Value of traffic filter
required:
- type
- value
description: Traffic filters
preferredUplink:
type: string
enum:
- wan1
- wan2
description: 'Preferred uplink for uplink preference rule. Must be one of: ''wan1'' or ''wan2'''
required:
- trafficFilters
- preferredUplink
description: Uplink preference rules for WAN traffic
vpnTrafficUplinkPreferences:
type: array
items:
type: object
properties:
trafficFilters:
type: array
items:
type: object
properties:
type:
type: string
enum:
- application
- applicationCategory
- custom
description: 'Traffic filter type. Must be one of: ''applicationCategory'', ''application'' or ''custom'''
value:
type: object
properties:
id:
type: string
description: ID of 'applicationCategory' or 'application' type traffic filter
protocol:
type: string
enum:
- any
- icmp
- icmp6
- tcp
- udp
description: 'Protocol of ''custom'' type traffic filter. Must be one of: ''tcp'', ''udp'', ''icmp'', ''icmp6'' or ''any'''
source:
type: object
properties:
port:
type: string
description: 'E.g.: "any", "0" (also means "any"), "8080", "1-1024"'
cidr:
type: string
description: CIDR format address (e.g."192.168.10.1", which is the same as "192.168.10.1/32"), or "any". Cannot be used in combination with the "vlan" property
network:
type: string
description: 'Meraki network ID. Currently only available under a template network, and the value should be ID of either same template network, or another template network currently. E.g.: "L_12345678".'
vlan:
type: integer
description: VLAN ID of the configured VLAN in the Meraki network. Cannot be used in combination with the "cidr" property and is currently only available under a template network.
host:
type: integer
description: Host ID in the VLAN. Should not exceed the VLAN subnet capacity. Must be used along with the "vlan" property and is currently only available under a template network.
description: Source of 'custom' type traffic filter
destination:
type: object
properties:
port:
type: string
description: 'E.g.: "any", "0" (also means "any"), "8080", "1-1024"'
cidr:
type: string
description: CIDR format address (e.g."192.168.10.1", which is the same as "192.168.10.1/32"), or "any". Cannot be used in combination with the "vlan" or "fqdn" property
network:
type: string
description: 'Meraki network ID. Currently only available under a template network, and the value should be ID of either same template network, or another template network currently. E.g.: "L_12345678".'
vlan:
type: integer
description: VLAN ID of the configured VLAN in the Meraki network. Cannot be used in combination with the "cidr" or "fqdn" property and is currently only available under a template network.
host:
type: integer
description: Host ID in the VLAN. Should not exceed the VLAN subnet capacity. Must be used along with the "vlan" property and is currently only available under a template network.
fqdn:
type: string
description: 'FQDN format address. Cannot be used in combination with the "cidr" or "fqdn" property and is currently only available in the "destination" object of the "vpnTrafficUplinkPreference" object. E.g.: "www.google.com"'
description: Destination of 'custom' type traffic filter
description: Value of traffic filter
required:
- type
- value
description: Traffic filters
preferredUplink:
type: string
enum:
- bestForVoIP
- defaultUplink
- loadBalancing
- wan1
- wan2
description: 'Preferred uplink for uplink preference rule. Must be one of: ''wan1'', ''wan2'', ''bestForVoIP'', ''loadBalancing'' or ''defaultUplink'''
failOverCriterion:
type: string
enum:
- poorPerformance
- uplinkDown
description: 'Fail over criterion for uplink preference rule. Must be one of: ''poorPerformance'' or ''uplinkDown'''
performanceClass:
type: object
properties:
type:
type: string
enum:
- builtin
- custom
description: 'Type of this performance class. Must be one of: ''builtin'' or ''custom'''
builtinPerformanceClassName:
type: string
enum:
- VoIP
description: 'Name of builtin performance class. Must be present when performanceClass type is ''builtin'' and value must be one of: ''VoIP'''
customPerformanceClassId:
type: string
description: ID of created custom performance class, must be present when performanceClass type is "custom"
required:
- type
description: Performance class setting for uplink preference rule
required:
- trafficFilters
- preferredUplink
description: Uplink preference rules for VPN traffic
example:
activeActiveAutoVpnEnabled: true
defaultUplink: wan1
loadBalancingEnabled: true
failoverAndFailback:
immediate:
enabled: true
wanTrafficUplinkPreferences:
- trafficFilters:
- type: custom
value:
protocol: tcp
source:
port: 1-1024
cidr: 192.168.1.0/24
vlan: 10
host: 254
destination:
port: any
cidr: any
applications:
- id: meraki:layer7/application/3
name: DNS
type: major
preferredUplink: wan1
vpnTrafficUplinkPreferences:
- trafficFilters:
- type: applicationCategory
value:
id: meraki:layer7/category/1
protocol: tcp
source:
port: any
cidr: 192.168.1.0/24
network: L_23456789
vlan: 20
host: 200
destination:
port: 1-1024
cidr: any
network: L_12345678
vlan: 10
host: 254
fqdn: www.google.com
preferredUplink: bestForVoIP
failOverCriterion: poorPerformance
performanceClass:
type: custom
builtinPerformanceClassName: VoIP
customPerformanceClassId: '123456'
summary: Update uplink selection settings for an MX network
tags:
- appliance.configure
/networks/{networkId}/appliance/trafficShaping/vpnExclusions:
put:
description: Update VPN exclusion rules for an MX network.
operationId: updateNetworkApplianceTrafficShapingVpnExclusions
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
custom:
type: array
items:
type: object
properties:
protocol:
type: string
enum:
- any
- dns
- icmp
- tcp
- udp
description: Protocol.
destination:
type: string
description: Destination address; hostname required for DNS, IPv4 otherwise.
port:
type: string
description: Destination port.
required:
- protocol
description: Custom VPN exclusion rules. Pass an empty array to clear existing rules.
majorApplications:
type: array
items:
type: object
properties:
id:
type: string
description: Application's Meraki ID.
name:
type: string
enum:
- AWS
- Box
- Office 365 Sharepoint
- Office 365 Suite
- Oracle
- SAP
- Salesforce
- Skype & Teams
- Slack
- Webex
- Webex Calling
- Webex Meetings
- Zoom
description: Application's name.
required:
- id
description: Major Application based VPN exclusion rules. Pass an empty array to clear existing rules.
example:
custom:
- protocol: tcp
destination: 192.168.3.0/24
port: '8000'
majorApplications:
- id: meraki:vpnExclusion/application/2
name: Office 365 Sharepoint
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
networkId:
type: string
description: ID of the network whose VPN exclusion rules are returned.
networkName:
type: string
description: Name of the network whose VPN exclusion rules are returned.
custom:
type: array
items:
type: object
properties:
protocol:
type: string
enum:
- any
- dns
- icmp
- tcp
- udp
description: Protocol.
destination:
type: string
description: Destination address; hostname required for DNS, IPv4 otherwise.
port:
type: string
description: Destination port.
required:
- protocol
- destination
- port
description: Custom VPN exclusion rules.
majorApplications:
type: array
items:
type: object
properties:
id:
type: string
description: Application's Meraki ID.
name:
type: string
enum:
- AWS
- Box
- Office 365 Sharepoint
- Office 365 Suite
- Oracle
- SAP
- Salesforce
- Skype & Teams
- Slack
- Webex
- Webex Calling
- Webex Meetings
- Zoom
description: Application's name.
required:
- id
- name
description: Major Application based VPN exclusion rules.
required:
- networkId
- networkName
- custom
- majorApplications
example:
networkId: N_24329156
networkName: Main Office
custom:
- protocol: tcp
destination: 192.168.3.0/24
port: '8000'
majorApplications:
- id: meraki:vpnExclusion/application/2
name: Office 365 Sharepoint
summary: Update VPN exclusion rules for an MX network.
tags:
- appliance.configure
/networks/{networkId}/appliance/vlans:
get:
description: List the VLANs for an MX network
operationId: getNetworkApplianceVlans
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 VLAN ID of the VLAN
interfaceId:
type: string
description: The interface ID of the VLAN
name:
type: string
description: The name of the VLAN
subnet:
type: string
description: The subnet of the VLAN
applianceIp:
type: string
description: The local IP of the appliance on the VLAN
groupPolicyId:
type: string
description: The id of the desired group policy to apply to the VLAN
templateVlanType:
type: string
enum:
- same
- unique
description: Type of subnetting of the VLAN. Applicable only for template network.
default: same
cidr:
type: string
description: CIDR of the pool of subnets. Applicable only for template network. Each network bound to the template will automatically pick a subnet from this pool to build its own VLAN.
mask:
type: integer
description: Mask used for the subnet of all bound to the template networks. Applicable only for template network.
dhcpRelayServerIps:
type: array
items:
type: string
description: The IPs of the DHCP servers that DHCP requests should be relayed to
dhcpHandling:
type: string
enum:
- Do not respond to DHCP requests
- Relay DHCP to another server
- Run a DHCP server
description: 'The appliance''s handling of DHCP requests on this VLAN. One of: ''Run a DHCP server'', ''Relay DHCP to another server'' or ''Do not respond to DHCP requests'''
dhcpLeaseTime:
type: string
enum:
- 1 day
- 1 hour
- 1 week
- 12 hours
- 30 minutes
- 4 hours
description: 'The term of DHCP leases if the appliance is running a DHCP server on this VLAN. One of: ''30 minutes'', ''1 hour'', ''4 hours'', ''12 hours'', ''1 day'' or ''1 week'''
dhcpBootOptionsEnabled:
type: boolean
description: Use DHCP boot options specified in other properties
dhcpBootNextServer:
type: string
description: DHCP boot option to direct boot clients to the server to load the boot file from
dhcpBootFilename:
type: string
description: DHCP boot option for boot filename
fixedIpAssignments:
type: object
additionalProperties:
type: object
properties:
ip:
type: string
description: IP address of the assignment
name:
type: string
description: Name of the IP assignment
description: IP assignment information, keyed by MAC address of the device
description: The DHCP fixed IP assignments on the VLAN. This should be an object that contains mappings from MAC addresses to objects that themselves each contain "ip" and "name" string fields. See the sample request/response for more details.
reservedIpRanges:
type: array
items:
type: object
properties:
start:
type: string
description: The first IP in the reserved range
end:
type: string
description: The last IP in the reserved range
comment:
type: string
description: A text comment for the reserved range
description: The DHCP reserved IP ranges on the VLAN
dnsNameservers:
type: string
description: The DNS nameservers used for DHCP responses, either "upstream_dns", "google_dns", "opendns", or a newline seperated string of IP addresses or domain names
dhcpOptions:
type: array
items:
type: object
properties:
code:
type: string
description: The code for the DHCP option. This should be an integer between 2 and 254.
type:
type: string
enum:
- hex
- integer
- ip
- text
description: 'The type for the DHCP option. One of: ''text'', ''ip'', ''hex'' or ''integer'''
value:
type: string
description: The value for the DHCP option
required:
- code
- type
- value
description: The list of DHCP options that will be included in DHCP responses. Each object in the list should have "code", "type", and "value" properties.
vpnNatSubnet:
type: string
description: The translated VPN subnet if VPN and VPN subnet translation are enabled on the VLAN
mandatoryDhcp:
type: object
properties:
enabled:
type: boolean
description: Enable Mandatory DHCP on VLAN.
description: Mandatory DHCP will enforce that clients connecting to this VLAN must use the IP address assigned by the DHCP server. Clients who use a static IP address won't be able to associate. Only available on firmware versions 17.0 and above
ipv6:
type: object
properties:
enabled:
type: boolean
description: Enable IPv6 on VLAN
prefixAssignments:
type: array
items:
type: object
properties:
autonomous:
type: boolean
description: Auto assign a /64 prefix from the origin to the VLAN
staticPrefix:
type: string
description: Manual configuration of a /64 prefix on the VLAN
staticApplianceIp6:
type: string
description: Manual configuration of the IPv6 Appliance IP
origin:
type: object
properties:
type:
type: string
enum:
- independent
- internet
description: Type of the origin
interfaces:
type: array
items:
type: string
description: Interfaces associated with the prefix
description: The origin of the prefix
description: Prefix assignments on the VLAN
description: IPv6 configuration on the VLAN
example:
- id: '1234'
interfaceId: '1284392014819'
name: My VLAN
subnet: 192.168.1.0/24
applianceIp: 192.168.1.2
groupPolicyId: '101'
templateVlanType: same
cidr: 192.168.1.0/24
mask: 28
dhcpRelayServerIps:
- 192.168.1.0/24
- 192.168.128.0/24
dhcpHandling: Run a DHCP server
dhcpLeaseTime: 1 day
dhcpBootOptionsEnabled: false
dhcpBootNextServer: 1.2.3.4
dhcpBootFilename: sample.file
fixedIpAssignments:
00:11:22:33:44:55:
ip: 1.2.3.4
name: My favorite IP
reservedIpRanges:
- start: 192.168.1.0
end: 192.168.1.1
comment: A reserved IP range
dnsNameservers: google_dns
dhcpOptions:
- code: '5'
type: text
value: five
vpnNatSubnet: 192.168.1.0/24
mandatoryDhcp:
enabled: true
ipv6:
enabled: true
prefixAssignments:
- autonomous: false
staticPrefix: 2001:db8:3c4d:15::/64
staticApplianceIp6: 2001:db8:3c4d:15::1
origin:
type: internet
interfaces:
- wan0
summary: List the VLANs for an MX network
tags:
- appliance.configure
post:
description: Add a VLAN
operationId: createNetworkApplianceVlan
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: The VLAN ID of the new VLAN (must be between 1 and 4094)
name:
type: string
description: The name of the new VLAN
subnet:
type: string
description: The subnet of the VLAN
applianceIp:
type: string
description: The local IP of the appliance on the VLAN
groupPolicyId:
type: string
description: The id of the desired group policy to apply to the VLAN
templateVlanType:
type: string
enum:
- same
- unique
description: Type of subnetting of the VLAN. Applicable only for template network.
default: same
cidr:
type: string
description: CIDR of the pool of subnets. Applicable only for template network. Each network bound to the template will automatically pick a subnet from this pool to build its own VLAN.
mask:
type: integer
description: Mask used for the subnet of all bound to the template networks. Applicable only for template network.
ipv6:
type: object
properties:
enabled:
type: boolean
description: Enable IPv6 on VLAN.
prefixAssignments:
type: array
items:
type: object
properties:
autonomous:
type: boolean
description: Auto assign a /64 prefix from the origin to the VLAN
staticPrefix:
type: string
description: Manual configuration of a /64 prefix on the VLAN
staticApplianceIp6:
type: string
description: Manual configuration of the IPv6 Appliance IP
origin:
type: object
properties:
type:
type: string
enum:
- independent
- internet
description: Type of the origin
interfaces:
type: array
items:
type: string
description: Interfaces associated with the prefix
required:
- type
description: The origin of the prefix
description: Prefix assignments on the VLAN
description: IPv6 configuration on the VLAN
dhcpHandling:
type: string
enum:
- Do not respond to DHCP requests
- Relay DHCP to another server
- Run a DHCP server
description: 'The appliance''s handling of DHCP requests on this VLAN. One of: ''Run a DHCP server'', ''Relay DHCP to another server'' or ''Do not respond to DHCP requests'''
dhcpLeaseTime:
type: string
enum:
- 1 day
- 1 hour
- 1 week
- 12 hours
- 30 minutes
- 4 hours
description: 'The term of DHCP leases if the appliance is running a DHCP server on this VLAN. One of: ''30 minutes'', ''1 hour'', ''4 hours'', ''12 hours'', ''1 day'' or ''1 week'''
mandatoryDhcp:
type: object
properties:
enabled:
type: boolean
description: Enable Mandatory DHCP on VLAN.
description: Mandatory DHCP will enforce that clients connecting to this VLAN must use the IP address assigned by the DHCP server. Clients who use a static IP address won't be able to associate. Only available on firmware versions 17.0 and above
dhcpBootOptionsEnabled:
type: boolean
description: Use DHCP boot options specified in other properties
dhcpOptions:
type: array
items:
type: object
properties:
code:
type: string
description: The code for the DHCP option. This should be an integer between 2 and 254.
type:
type: string
enum:
- hex
- integer
- ip
- text
description: 'The type for the DHCP option. One of: ''text'', ''ip'', ''hex'' or ''integer'''
value:
type: string
description: The value for the DHCP option
required:
- code
- type
- value
description: The list of DHCP options that will be included in DHCP responses. Each object in the list should have "code", "type", and "value" properties.
example:
id: '1234'
name: My VLAN
subnet: 192.168.1.0/24
applianceIp: 192.168.1.2
groupPolicyId: '101'
templateVlanType: same
cidr: 192.168.1.0/24
mask: 28
ipv6:
enabled: true
prefixAssignments:
- autonomous: false
staticPrefix: 2001:db8:3c4d:15::/64
staticApplianceIp6: 2001:db8:3c4d:15::1
origin:
type: internet
interfaces:
- wan0
dhcpHandling: Run a DHCP server
dhcpLeaseTime: 30 minutes
mandatoryDhcp:
enabled: true
dhcpBootOptionsEnabled: true
dhcpOptions:
- code: '3'
type: text
value: five
required:
- id
- name
required: true
responses:
'201':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: The VLAN ID of the VLAN
interfaceId:
type: string
description: The interface ID of the VLAN
name:
type: string
description: The name of the VLAN
subnet:
type: string
description: The subnet of the VLAN
applianceIp:
type: string
description: The local IP of the appliance on the VLAN
groupPolicyId:
type: string
description: The id of the desired group policy to apply to the VLAN
templateVlanType:
type: string
enum:
- same
- unique
description: Type of subnetting of the VLAN. Applicable only for template network.
default: same
cidr:
type: string
description: CIDR of the pool of subnets. Applicable only for template network. Each network bound to the template will automatically pick a subnet from this pool to build its own VLAN.
mask:
type: integer
description: Mask used for the subnet of all bound to the template networks. Applicable only for template network.
mandatoryDhcp:
type: object
properties:
enabled:
type: boolean
description: Enable Mandatory DHCP on VLAN.
description: Mandatory DHCP will enforce that clients connecting to this VLAN must use the IP address assigned by the DHCP server. Clients who use a static IP address won't be able to associate. Only available on firmware versions 17.0 and above
ipv6:
type: object
properties:
enabled:
type: boolean
description: Enable IPv6 on VLAN
prefixAssignments:
type: array
items:
type: object
properties:
autonomous:
type: boolean
description: Auto assign a /64 prefix from the origin to the VLAN
staticPrefix:
type: string
description: Manual configuration of a /64 prefix on the VLAN
staticApplianceIp6:
type: string
description: Manual configuration of the IPv6 Appliance IP
origin:
type: object
properties:
type:
type: string
enum:
- independent
- internet
description: Type of the origin
interfaces:
type: array
items:
type: string
description: Interfaces associated with the prefix
description: The origin of the prefix
description: Prefix assignments on the VLAN
description: IPv6 configuration on the VLAN
example:
id: '1234'
interfaceId: '1284392014819'
name: My VLAN
subnet: 192.168.1.0/24
applianceIp: 192.168.1.2
groupPolicyId: '101'
templateVlanType: same
cidr: 192.168.1.0/24
mask: 28
mandatoryDhcp:
enabled: true
ipv6:
enabled: true
prefixAssignments:
- autonomous: false
staticPrefix: 2001:db8:3c4d:15::/64
staticApplianceIp6: 2001:db8:3c4d:15::1
origin:
type: internet
interfaces:
- wan0
summary: Add a VLAN
tags:
- appliance.configure
/networks/{networkId}/appliance/vlans/settings:
get:
description: Returns the enabled status of VLANs for the network
operationId: getNetworkApplianceVlansSettings
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:
vlansEnabled:
type: boolean
description: Boolean indicating whether VLANs are enabled (true) or disabled (false) for the network
example:
vlansEnabled: true
summary: Returns the enabled status of VLANs for the network
tags:
- appliance.configure
put:
description: Enable/Disable VLANs for the given network
operationId: updateNetworkApplianceVlansSettings
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
vlansEnabled:
type: boolean
description: Boolean indicating whether to enable (true) or disable (false) VLANs for the network
example:
vlansEnabled: true
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
vlansEnabled:
type: boolean
description: Boolean indicating whether VLANs are enabled (true) or disabled (false) for the network
example:
vlansEnabled: true
summary: Enable/Disable VLANs for the given network
tags:
- appliance.configure
/networks/{networkId}/appliance/vlans/{vlanId}:
get:
description: Return a VLAN
operationId: getNetworkApplianceVlan
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: vlanId
in: path
description: Vlan ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: The VLAN ID of the VLAN
interfaceId:
type: string
description: The interface ID of the VLAN
name:
type: string
description: The name of the VLAN
subnet:
type: string
description: The subnet of the VLAN
applianceIp:
type: string
description: The local IP of the appliance on the VLAN
groupPolicyId:
type: string
description: The id of the desired group policy to apply to the VLAN
templateVlanType:
type: string
enum:
- same
- unique
description: Type of subnetting of the VLAN. Applicable only for template network.
default: same
cidr:
type: string
description: CIDR of the pool of subnets. Applicable only for template network. Each network bound to the template will automatically pick a subnet from this pool to build its own VLAN.
mask:
type: integer
description: Mask used for the subnet of all bound to the template networks. Applicable only for template network.
dhcpRelayServerIps:
type: array
items:
type: string
description: The IPs of the DHCP servers that DHCP requests should be relayed to
dhcpHandling:
type: string
enum:
- Do not respond to DHCP requests
- Relay DHCP to another server
- Run a DHCP server
description: 'The appliance''s handling of DHCP requests on this VLAN. One of: ''Run a DHCP server'', ''Relay DHCP to another server'' or ''Do not respond to DHCP requests'''
dhcpLeaseTime:
type: string
enum:
- 1 day
- 1 hour
- 1 week
- 12 hours
- 30 minutes
- 4 hours
description: 'The term of DHCP leases if the appliance is running a DHCP server on this VLAN. One of: ''30 minutes'', ''1 hour'', ''4 hours'', ''12 hours'', ''1 day'' or ''1 week'''
dhcpBootOptionsEnabled:
type: boolean
description: Use DHCP boot options specified in other properties
dhcpBootNextServer:
type: string
description: DHCP boot option to direct boot clients to the server to load the boot file from
dhcpBootFilename:
type: string
description: DHCP boot option for boot filename
fixedIpAssignments:
type: object
additionalProperties:
type: object
properties:
ip:
type: string
description: IP address of the assignment
name:
type: string
description: Name of the IP assignment
description: IP assignment information, keyed by MAC address of the device
description: The DHCP fixed IP assignments on the VLAN. This should be an object that contains mappings from MAC addresses to objects that themselves each contain "ip" and "name" string fields. See the sample request/response for more details.
reservedIpRanges:
type: array
items:
type: object
properties:
start:
type: string
description: The first IP in the reserved range
end:
type: string
description: The last IP in the reserved range
comment:
type: string
description: A text comment for the reserved range
description: The DHCP reserved IP ranges on the VLAN
dnsNameservers:
type: string
description: The DNS nameservers used for DHCP responses, either "upstream_dns", "google_dns", "opendns", or a newline seperated string of IP addresses or domain names
dhcpOptions:
type: array
items:
type: object
properties:
code:
type: string
description: The code for the DHCP option. This should be an integer between 2 and 254.
type:
type: string
enum:
- hex
- integer
- ip
- text
description: 'The type for the DHCP option. One of: ''text'', ''ip'', ''hex'' or ''integer'''
value:
type: string
description: The value for the DHCP option
required:
- code
- type
- value
description: The list of DHCP options that will be included in DHCP responses. Each object in the list should have "code", "type", and "value" properties.
vpnNatSubnet:
type: string
description: The translated VPN subnet if VPN and VPN subnet translation are enabled on the VLAN
mandatoryDhcp:
type: object
properties:
enabled:
type: boolean
description: Enable Mandatory DHCP on VLAN.
description: Mandatory DHCP will enforce that clients connecting to this VLAN must use the IP address assigned by the DHCP server. Clients who use a static IP address won't be able to associate. Only available on firmware versions 17.0 and above
ipv6:
type: object
properties:
enabled:
type: boolean
description: Enable IPv6 on VLAN
prefixAssignments:
type: array
items:
type: object
properties:
autonomous:
type: boolean
description: Auto assign a /64 prefix from the origin to the VLAN
staticPrefix:
type: string
description: Manual configuration of a /64 prefix on the VLAN
staticApplianceIp6:
type: string
description: Manual configuration of the IPv6 Appliance IP
origin:
type: object
properties:
type:
type: string
enum:
- independent
- internet
description: Type of the origin
interfaces:
type: array
items:
type: string
description: Interfaces associated with the prefix
description: The origin of the prefix
description: Prefix assignments on the VLAN
description: IPv6 configuration on the VLAN
example:
id: '1234'
interfaceId: '1284392014819'
name: My VLAN
subnet: 192.168.1.0/24
applianceIp: 192.168.1.2
groupPolicyId: '101'
templateVlanType: same
cidr: 192.168.1.0/24
mask: 28
dhcpRelayServerIps:
- 192.168.1.0/24
- 192.168.128.0/24
dhcpHandling: Run a DHCP server
dhcpLeaseTime: 1 day
dhcpBootOptionsEnabled: false
dhcpBootNextServer: 1.2.3.4
dhcpBootFilename: sample.file
fixedIpAssignments:
00:11:22:33:44:55:
ip: 1.2.3.4
name: My favorite IP
reservedIpRanges:
- start: 192.168.1.0
end: 192.168.1.1
comment: A reserved IP range
dnsNameservers: google_dns
dhcpOptions:
- code: '5'
type: text
value: five
vpnNatSubnet: 192.168.1.0/24
mandatoryDhcp:
enabled: true
ipv6:
enabled: true
prefixAssignments:
- autonomous: false
staticPrefix: 2001:db8:3c4d:15::/64
staticApplianceIp6: 2001:db8:3c4d:15::1
origin:
type: internet
interfaces:
- wan0
summary: Return a VLAN
tags:
- appliance.configure
put:
description: Update a VLAN
operationId: updateNetworkApplianceVlan
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: vlanId
in: path
description: Vlan ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: The name of the VLAN
subnet:
type: string
description: The subnet of the VLAN
applianceIp:
type: string
description: The local IP of the appliance on the VLAN
groupPolicyId:
type: string
description: The id of the desired group policy to apply to the VLAN
vpnNatSubnet:
type: string
description: The translated VPN subnet if VPN and VPN subnet translation are enabled on the VLAN
dhcpHandling:
type: string
enum:
- Do not respond to DHCP requests
- Relay DHCP to another server
- Run a DHCP server
description: 'The appliance''s handling of DHCP requests on this VLAN. One of: ''Run a DHCP server'', ''Relay DHCP to another server'' or ''Do not respond to DHCP requests'''
dhcpRelayServerIps:
type: array
items:
type: string
description: The IPs of the DHCP servers that DHCP requests should be relayed to
dhcpLeaseTime:
type: string
enum:
- 1 day
- 1 hour
- 1 week
- 12 hours
- 30 minutes
- 4 hours
description: 'The term of DHCP leases if the appliance is running a DHCP server on this VLAN. One of: ''30 minutes'', ''1 hour'', ''4 hours'', ''12 hours'', ''1 day'' or ''1 week'''
dhcpBootOptionsEnabled:
type: boolean
description: Use DHCP boot options specified in other properties
dhcpBootNextServer:
type: string
description: DHCP boot option to direct boot clients to the server to load the boot file from
dhcpBootFilename:
type: string
description: DHCP boot option for boot filename
fixedIpAssignments:
type: object
description: The DHCP fixed IP assignments on the VLAN. This should be an object that contains mappings from MAC addresses to objects that themselves each contain "ip" and "name" string fields. See the sample request/response for more details.
reservedIpRanges:
type: array
items:
type: object
properties:
start:
type: string
description: The first IP in the reserved range
end:
type: string
description: The last IP in the reserved range
comment:
type: string
description: A text comment for the reserved range
required:
- start
- end
- comment
description: The DHCP reserved IP ranges on the VLAN
dnsNameservers:
type: string
description: The DNS nameservers used for DHCP responses, either "upstream_dns", "google_dns", "opendns", or a newline seperated string of IP addresses or domain names
dhcpOptions:
type: array
items:
type: object
properties:
code:
type: string
description: The code for the DHCP option. This should be an integer between 2 and 254.
type:
type: string
enum:
- hex
- integer
- ip
- text
description: 'The type for the DHCP option. One of: ''text'', ''ip'', ''hex'' or ''integer'''
value:
type: string
description: The value for the DHCP option
required:
- code
- type
- value
description: The list of DHCP options that will be included in DHCP responses. Each object in the list should have "code", "type", and "value" properties.
templateVlanType:
type: string
enum:
- same
- unique
description: Type of subnetting of the VLAN. Applicable only for template network.
cidr:
type: string
description: CIDR of the pool of subnets. Applicable only for template network. Each network bound to the template will automatically pick a subnet from this pool to build its own VLAN.
mask:
type: integer
description: Mask used for the subnet of all bound to the template networks. Applicable only for template network.
ipv6:
type: object
properties:
enabled:
type: boolean
description: Enable IPv6 on VLAN.
prefixAssignments:
type: array
items:
type: object
properties:
autonomous:
type: boolean
description: Auto assign a /64 prefix from the origin to the VLAN
staticPrefix:
type: string
description: Manual configuration of a /64 prefix on the VLAN
staticApplianceIp6:
type: string
description: Manual configuration of the IPv6 Appliance IP
origin:
type: object
properties:
type:
type: string
enum:
- independent
- internet
description: Type of the origin
interfaces:
type: array
items:
type: string
description: Interfaces associated with the prefix
required:
- type
description: The origin of the prefix
description: Prefix assignments on the VLAN
description: IPv6 configuration on the VLAN
mandatoryDhcp:
type: object
properties:
enabled:
type: boolean
description: Enable Mandatory DHCP on VLAN.
description: Mandatory DHCP will enforce that clients connecting to this VLAN must use the IP address assigned by the DHCP server. Clients who use a static IP address won't be able to associate. Only available on firmware versions 17.0 and above
example:
name: My VLAN
applianceIp: 192.168.1.2
subnet: 192.168.1.0/24
groupPolicyId: '101'
templateVlanType: same
cidr: 192.168.1.0/24
mask: 28
fixedIpAssignments:
22:33:44:55:66:77:
ip: 1.2.3.4
name: Some client name
reservedIpRanges:
- start: 192.168.1.0
end: 192.168.1.1
comment: A reserved IP range
dnsNameservers: google_dns
dhcpHandling: Run a DHCP server
dhcpLeaseTime: 1 day
dhcpBootOptionsEnabled: false
dhcpBootNextServer: 1.2.3.4
dhcpBootFilename: sample.file
dhcpOptions:
- code: '5'
type: text
value: five
ipv6:
enabled: true
prefixAssignments:
- autonomous: false
staticPrefix: 2001:db8:3c4d:15::/64
staticApplianceIp6: 2001:db8:3c4d:15::1
origin:
type: internet
interfaces:
- wan0
mandatoryDhcp:
enabled: true
adaptivePolicyGroupId: '1234'
dhcpRelayServerIps:
- 192.168.1.0/24
- 192.168.128.0/24
vpnNatSubnet: 192.168.1.0/24
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: The VLAN ID of the VLAN
interfaceId:
type: string
description: The interface ID of the VLAN
name:
type: string
description: The name of the VLAN
subnet:
type: string
description: The subnet of the VLAN
applianceIp:
type: string
description: The local IP of the appliance on the VLAN
groupPolicyId:
type: string
description: The id of the desired group policy to apply to the VLAN
templateVlanType:
type: string
enum:
- same
- unique
description: Type of subnetting of the VLAN. Applicable only for template network.
default: same
cidr:
type: string
description: CIDR of the pool of subnets. Applicable only for template network. Each network bound to the template will automatically pick a subnet from this pool to build its own VLAN.
mask:
type: integer
description: Mask used for the subnet of all bound to the template networks. Applicable only for template network.
dhcpRelayServerIps:
type: array
items:
type: string
description: The IPs of the DHCP servers that DHCP requests should be relayed to
dhcpHandling:
type: string
enum:
- Do not respond to DHCP requests
- Relay DHCP to another server
- Run a DHCP server
description: 'The appliance''s handling of DHCP requests on this VLAN. One of: ''Run a DHCP server'', ''Relay DHCP to another server'' or ''Do not respond to DHCP requests'''
dhcpLeaseTime:
type: string
enum:
- 1 day
- 1 hour
- 1 week
- 12 hours
- 30 minutes
- 4 hours
description: 'The term of DHCP leases if the appliance is running a DHCP server on this VLAN. One of: ''30 minutes'', ''1 hour'', ''4 hours'', ''12 hours'', ''1 day'' or ''1 week'''
dhcpBootOptionsEnabled:
type: boolean
description: Use DHCP boot options specified in other properties
dhcpBootNextServer:
type: string
description: DHCP boot option to direct boot clients to the server to load the boot file from
dhcpBootFilename:
type: string
description: DHCP boot option for boot filename
fixedIpAssignments:
type: object
additionalProperties:
type: object
properties:
ip:
type: string
description: IP address of the assignment
name:
type: string
description: Name of the IP assignment
description: IP assignment information, keyed by MAC address of the device
description: The DHCP fixed IP assignments on the VLAN. This should be an object that contains mappings from MAC addresses to objects that themselves each contain "ip" and "name" string fields. See the sample request/response for more details.
reservedIpRanges:
type: array
items:
type: object
properties:
start:
type: string
description: The first IP in the reserved range
end:
type: string
description: The last IP in the reserved range
comment:
type: string
description: A text comment for the reserved range
description: The DHCP reserved IP ranges on the VLAN
dnsNameservers:
type: string
description: The DNS nameservers used for DHCP responses, either "upstream_dns", "google_dns", "opendns", or a newline seperated string of IP addresses or domain names
dhcpOptions:
type: array
items:
type: object
properties:
code:
type: string
description: The code for the DHCP option. This should be an integer between 2 and 254.
type:
type: string
enum:
- hex
- integer
- ip
- text
description: 'The type for the DHCP option. One of: ''text'', ''ip'', ''hex'' or ''integer'''
value:
type: string
description: The value for the DHCP option
required:
- code
- type
- value
description: The list of DHCP options that will be included in DHCP responses. Each object in the list should have "code", "type", and "value" properties.
vpnNatSubnet:
type: string
description: The translated VPN subnet if VPN and VPN subnet translation are enabled on the VLAN
mandatoryDhcp:
type: object
properties:
enabled:
type: boolean
description: Enable Mandatory DHCP on VLAN.
description: Mandatory DHCP will enforce that clients connecting to this VLAN must use the IP address assigned by the DHCP server. Clients who use a static IP address won't be able to associate. Only available on firmware versions 17.0 and above
ipv6:
type: object
properties:
enabled:
type: boolean
description: Enable IPv6 on VLAN
prefixAssignments:
type: array
items:
type: object
properties:
autonomous:
type: boolean
description: Auto assign a /64 prefix from the origin to the VLAN
staticPrefix:
type: string
description: Manual configuration of a /64 prefix on the VLAN
staticApplianceIp6:
type: string
description: Manual configuration of the IPv6 Appliance IP
origin:
type: object
properties:
type:
type: string
enum:
- independent
- internet
description: Type of the origin
interfaces:
type: array
items:
type: string
description: Interfaces associated with the prefix
description: The origin of the prefix
description: Prefix assignments on the VLAN
description: IPv6 configuration on the VLAN
example:
id: '1234'
interfaceId: '1284392014819'
name: My VLAN
subnet: 192.168.1.0/24
applianceIp: 192.168.1.2
groupPolicyId: '101'
templateVlanType: same
cidr: 192.168.1.0/24
mask: 28
dhcpRelayServerIps:
- 192.168.1.0/24
- 192.168.128.0/24
dhcpHandling: Run a DHCP server
dhcpLeaseTime: 1 day
dhcpBootOptionsEnabled: false
dhcpBootNextServer: 1.2.3.4
dhcpBootFilename: sample.file
fixedIpAssignments:
00:11:22:33:44:55:
ip: 1.2.3.4
name: My favorite IP
reservedIpRanges:
- start: 192.168.1.0
end: 192.168.1.1
comment: A reserved IP range
dnsNameservers: google_dns
dhcpOptions:
- code: '5'
type: text
value: five
vpnNatSubnet: 192.168.1.0/24
mandatoryDhcp:
enabled: true
ipv6:
enabled: true
prefixAssignments:
- autonomous: false
staticPrefix: 2001:db8:3c4d:15::/64
staticApplianceIp6: 2001:db8:3c4d:15::1
origin:
type: internet
interfaces:
- wan0
summary: Update a VLAN
tags:
- appliance.configure
delete:
description: Delete a VLAN from a network
operationId: deleteNetworkApplianceVlan
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: vlanId
in: path
description: Vlan ID
schema:
type: string
required: true
responses:
'204':
description: Successful operation
summary: Delete a VLAN from a network
tags:
- appliance.configure
/networks/{networkId}/appliance/vpn/bgp:
get:
description: Return a Hub BGP Configuration
operationId: getNetworkApplianceVpnBgp
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: Whether BGP is enabled on the appliance
asNumber:
type: integer
description: The number of the Autonomous System to which the appliance belongs
ibgpHoldTimer:
type: integer
description: The iBGP hold time in seconds
neighbors:
type: array
items:
type: object
properties:
ip:
type: string
description: The IPv4 address of the neighbor
ipv6:
type: object
properties:
address:
type: string
description: The IPv6 address of the neighbor
description: Information regarding IPv6 address of the neighbor
remoteAsNumber:
type: integer
description: Remote AS number of the neighbor
receiveLimit:
type: integer
description: The maximum number of routes that the appliance can receive from the neighbor
allowTransit:
type: boolean
description: Whether the appliance will advertise routes learned from other Autonomous Systems
ebgpHoldTimer:
type: integer
description: The eBGP hold time in seconds for the neighbor
ebgpMultihop:
type: integer
description: The number of hops the appliance must traverse to establish a peering relationship with the neighbor
sourceInterface:
type: string
description: The output interface the appliance uses to establish a peering relationship with the neighbor
nextHopIp:
type: string
description: The IPv4 address of the neighbor that will establish a TCP session with the appliance
ttlSecurity:
type: object
properties:
enabled:
type: boolean
description: Whether BGP TTL security is enabled
description: Settings for BGP TTL security to protect BGP peering sessions from forged IP attacks
authentication:
type: object
properties:
password:
type: string
description: Password to configure MD5 authentication between BGP peers
description: Authentication settings between BGP peers
description: List of eBGP neighbor configurations
example:
enabled: true
asNumber: 64515
ibgpHoldTimer: 120
neighbors:
- ip: 10.10.10.22
ipv6:
address: 2002::1234:abcd:ffff:c0a8:101
remoteAsNumber: 64343
receiveLimit: 120
allowTransit: true
ebgpHoldTimer: 180
ebgpMultihop: 2
sourceInterface: wan1
nextHopIp: 1.2.3.4
ttlSecurity:
enabled: false
authentication:
password: abc123
summary: Return a Hub BGP Configuration
tags:
- appliance.configure
put:
description: Update a Hub BGP Configuration
operationId: updateNetworkApplianceVpnBgp
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 the BGP configuration. When BGP is enabled, the asNumber (ASN) will be autopopulated with the preconfigured ASN at other Hubs or a default value if there is no ASN configured.
asNumber:
type: integer
description: An Autonomous System Number (ASN) is required if you are to run BGP and peer with another BGP Speaker outside of the Auto VPN domain. This ASN will be applied to the entire Auto VPN domain. The entire 4-byte ASN range is supported. So, the ASN must be an integer between 1 and 4294967295. When absent, this field is not updated. If no value exists then it defaults to 64512.
ibgpHoldTimer:
type: integer
description: The iBGP holdtimer in seconds. The iBGP holdtimer must be an integer between 12 and 240. When absent, this field is not updated. If no value exists then it defaults to 240.
neighbors:
type: array
items:
type: object
properties:
ip:
type: string
description: The IPv4 address of the neighbor
ipv6:
type: object
properties:
address:
type: string
description: The IPv6 address of the neighbor.
required:
- address
description: Information regarding IPv6 address of the neighbor, Required if `ip` is not present.
remoteAsNumber:
type: integer
description: Remote ASN of the neighbor. The remote ASN must be an integer between 1 and 4294967295.
receiveLimit:
type: integer
description: The receive limit is the maximum number of routes that can be received from any BGP peer. The receive limit must be an integer between 0 and 2147483647. When absent, it defaults to 0.
allowTransit:
type: boolean
description: When this feature is on, the Meraki device will advertise routes learned from other Autonomous Systems, thereby allowing traffic between Autonomous Systems to transit this AS. When absent, it defaults to false.
ebgpHoldTimer:
type: integer
description: The eBGP hold timer in seconds for each neighbor. The eBGP hold timer must be an integer between 12 and 240.
ebgpMultihop:
type: integer
description: Configure this if the neighbor is not adjacent. The eBGP multi-hop must be an integer between 1 and 255.
sourceInterface:
type: string
description: 'The output interface for peering with the remote BGP peer. Valid values are: ''wan1'', ''wan2'' or ''vlan{VLAN ID}''(e.g. ''vlan123'').'
nextHopIp:
type: string
description: The IPv4 address of the remote BGP peer that will establish a TCP session with the local MX.
ttlSecurity:
type: object
properties:
enabled:
type: boolean
description: Boolean value to enable or disable BGP TTL security.
description: Settings for BGP TTL security to protect BGP peering sessions from forged IP attacks.
authentication:
type: object
properties:
password:
type: string
description: Password to configure MD5 authentication between BGP peers.
description: Authentication settings between BGP peers.
required:
- remoteAsNumber
- ebgpHoldTimer
- ebgpMultihop
description: List of BGP neighbors. This list replaces the existing set of neighbors. When absent, this field is not updated.
example:
enabled: true
asNumber: 64515
ibgpHoldTimer: 120
neighbors:
- ip: 10.10.10.22
ipv6:
address: 2002::1234:abcd:ffff:c0a8:101
remoteAsNumber: 64343
receiveLimit: 120
allowTransit: true
ebgpHoldTimer: 180
ebgpMultihop: 2
sourceInterface: wan1
nextHopIp: 1.2.3.4
ttlSecurity:
enabled: false
authentication:
password: abc123
required:
- enabled
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
enabled:
type: boolean
description: Whether BGP is enabled on the appliance
asNumber:
type: integer
description: The number of the Autonomous System to which the appliance belongs
ibgpHoldTimer:
type: integer
description: The iBGP hold time in seconds
neighbors:
type: array
items:
type: object
properties:
ip:
type: string
description: The IPv4 address of the neighbor
ipv6:
type: object
properties:
address:
type: string
description: The IPv6 address of the neighbor
description: Information regarding IPv6 address of the neighbor
remoteAsNumber:
type: integer
description: Remote AS number of the neighbor
receiveLimit:
type: integer
description: The maximum number of routes that the appliance can receive from the neighbor
allowTransit:
type: boolean
description: Whether the appliance will advertise routes learned from other Autonomous Systems
ebgpHoldTimer:
type: integer
description: The eBGP hold time in seconds for the neighbor
ebgpMultihop:
type: integer
description: The number of hops the appliance must traverse to establish a peering relationship with the neighbor
sourceInterface:
type: string
description: The output interface the appliance uses to establish a peering relationship with the neighbor
nextHopIp:
type: string
description: The IPv4 address of the neighbor that will establish a TCP session with the appliance
ttlSecurity:
type: object
properties:
enabled:
type: boolean
description: Whether BGP TTL security is enabled
description: Settings for BGP TTL security to protect BGP peering sessions from forged IP attacks
authentication:
type: object
properties:
password:
type: string
description: Password to configure MD5 authentication between BGP peers
description: Authentication settings between BGP peers
description: List of eBGP neighbor configurations
example:
enabled: true
asNumber: 64515
ibgpHoldTimer: 120
neighbors:
- ip: 10.10.10.22
ipv6:
address: 2002::1234:abcd:ffff:c0a8:101
remoteAsNumber: 64343
receiveLimit: 120
allowTransit: true
ebgpHoldTimer: 180
ebgpMultihop: 2
sourceInterface: wan1
nextHopIp: 1.2.3.4
ttlSecurity:
enabled: false
authentication:
password: abc123
summary: Update a Hub BGP Configuration
tags:
- appliance.configure
/networks/{networkId}/appliance/vpn/siteToSiteVpn:
get:
description: Return the site-to-site VPN settings of a network. Only valid for MX networks.
operationId: getNetworkApplianceVpnSiteToSiteVpn
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:
mode:
type: string
description: The site-to-site VPN mode.
hubs:
type: array
items:
type: object
properties:
hubId:
type: string
description: The network ID of the hub.
useDefaultRoute:
type: boolean
description: Indicates whether default route traffic should be sent to this hub.
description: The list of VPN hubs, in order of preference.
subnets:
type: array
items:
type: object
properties:
localSubnet:
type: string
description: The CIDR notation subnet used within the VPN
useVpn:
type: boolean
description: Indicates the presence of the subnet in the VPN
description: The list of subnets and their VPN presence.
example:
mode: spoke
hubs:
- hubId: N_4901849
useDefaultRoute: true
subnets:
- localSubnet: 192.168.1.0/24
useVpn: true
summary: Return the site-to-site VPN settings of a network
tags:
- appliance.configure
put:
description: Update the site-to-site VPN settings of a network. Only valid for MX networks in NAT mode.
operationId: updateNetworkApplianceVpnSiteToSiteVpn
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
mode:
type: string
enum:
- hub
- none
- spoke
description: The site-to-site VPN mode. Can be one of 'none', 'spoke' or 'hub'
hubs:
type: array
items:
type: object
properties:
hubId:
type: string
description: The network ID of the hub.
useDefaultRoute:
type: boolean
description: Only valid in 'spoke' mode. Indicates whether default route traffic should be sent to this hub.
required:
- hubId
description: The list of VPN hubs, in order of preference. In spoke mode, at least 1 hub is required.
subnets:
type: array
items:
type: object
properties:
localSubnet:
type: string
description: The CIDR notation subnet used within the VPN
useVpn:
type: boolean
description: Indicates the presence of the subnet in the VPN
required:
- localSubnet
description: The list of subnets and their VPN presence.
example:
mode: spoke
hubs:
- hubId: N_4901849
useDefaultRoute: true
subnets:
- localSubnet: 192.168.1.0/24
useVpn: true
required:
- mode
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
mode:
type: string
description: The site-to-site VPN mode.
hubs:
type: array
items:
type: object
properties:
hubId:
type: string
description: The network ID of the hub.
useDefaultRoute:
type: boolean
description: Indicates whether default route traffic should be sent to this hub.
description: The list of VPN hubs, in order of preference.
subnets:
type: array
items:
type: object
properties:
localSubnet:
type: string
description: The CIDR notation subnet used within the VPN
useVpn:
type: boolean
description: Indicates the presence of the subnet in the VPN
description: The list of subnets and their VPN presence.
example:
mode: spoke
hubs:
- hubId: N_4901849
useDefaultRoute: true
subnets:
- localSubnet: 192.168.1.0/24
useVpn: true
summary: Update the site-to-site VPN settings of a network
tags:
- appliance.configure
/networks/{networkId}/appliance/warmSpare:
get:
description: Return MX warm spare settings
operationId: getNetworkApplianceWarmSpare
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: Is the warm spare enabled
primarySerial:
type: string
description: Serial number of the primary appliance
spareSerial:
type: string
description: Serial number of the warm spare appliance
uplinkMode:
type: string
description: Uplink mode, either virtual or public
wan1:
type: object
properties:
ip:
type: string
description: IP address used for WAN 1
subnet:
type: string
description: Subnet used for WAN 1
description: WAN 1 IP and subnet
wan2:
type: object
properties:
ip:
type: string
description: IP address used for WAN 2
subnet:
type: string
description: Subnet used for WAN 2
description: WAN 2 IP and subnet
example:
enabled: true
primarySerial: Q234-ABCD-5678
spareSerial: Q234-ABCD-5678
uplinkMode: virtual
wan1:
ip: 1.2.3.4
subnet: 192.168.1.0/24
wan2:
ip: 1.2.3.4
subnet: 192.168.1.0/24
summary: Return MX warm spare settings
tags:
- appliance.configure
put:
description: Update MX warm spare settings
operationId: updateNetworkApplianceWarmSpare
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: Enable warm spare
spareSerial:
type: string
description: Serial number of the warm spare appliance
uplinkMode:
type: string
description: Uplink mode, either virtual or public
virtualIp1:
type: string
description: The WAN 1 shared IP
virtualIp2:
type: string
description: The WAN 2 shared IP
example:
enabled: true
spareSerial: Q234-ABCD-5678
uplinkMode: virtual
virtualIp1: 1.2.3.4
virtualIp2: 1.2.3.4
required:
- enabled
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
enabled:
type: boolean
description: Is the warm spare enabled
primarySerial:
type: string
description: Serial number of the primary appliance
spareSerial:
type: string
description: Serial number of the warm spare appliance
uplinkMode:
type: string
description: Uplink mode, either virtual or public
wan1:
type: object
properties:
ip:
type: string
description: IP address used for WAN 1
subnet:
type: string
description: Subnet used for WAN 1
description: WAN 1 IP and subnet
wan2:
type: object
properties:
ip:
type: string
description: IP address used for WAN 2
subnet:
type: string
description: Subnet used for WAN 2
description: WAN 2 IP and subnet
example:
enabled: true
primarySerial: Q234-ABCD-5678
spareSerial: Q234-ABCD-5678
uplinkMode: virtual
wan1:
ip: 1.2.3.4
subnet: 192.168.1.0/24
wan2:
ip: 1.2.3.4
subnet: 192.168.1.0/24
summary: Update MX warm spare settings
tags:
- appliance.configure
/networks/{networkId}/appliance/warmSpare/swap:
post:
description: Swap MX primary and warm spare appliances
operationId: swapNetworkApplianceWarmSpare
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: Is the warm spare enabled
primarySerial:
type: string
description: Serial number of the primary appliance
spareSerial:
type: string
description: Serial number of the warm spare appliance
uplinkMode:
type: string
description: Uplink mode, either virtual or public
wan1:
type: object
properties:
ip:
type: string
description: IP address used for WAN 1
subnet:
type: string
description: Subnet used for WAN 1
description: WAN 1 IP and subnet
wan2:
type: object
properties:
ip:
type: string
description: IP address used for WAN 2
subnet:
type: string
description: Subnet used for WAN 2
description: WAN 2 IP and subnet
example:
enabled: true
primarySerial: Q234-ABCD-5678
spareSerial: Q234-ABCD-5678
uplinkMode: virtual
wan1:
ip: 1.2.3.4
subnet: 192.168.1.0/24
wan2:
ip: 1.2.3.4
subnet: 192.168.1.0/24
summary: Swap MX primary and warm spare appliances
tags:
- appliance.configure
/organizations/{organizationId}/appliance/security/intrusion:
get:
description: Returns all supported intrusion settings for an organization
operationId: getOrganizationApplianceSecurityIntrusion
parameters:
- name: organizationId
in: path
description: Organization ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
allowedRules:
- ruleId: meraki:intrusion/snort/GID/01/SID/688
message: SQL sa login failed
- ruleId: meraki:intrusion/snort/GID/01/SID/5805
message: MALWARE-OTHER Trackware myway speedbar runtime detection - switch engines
summary: Returns all supported intrusion settings for an organization
tags:
- appliance.configure
put:
description: Sets supported intrusion settings for an organization
operationId: updateOrganizationApplianceSecurityIntrusion
parameters:
- name: organizationId
in: path
description: Organization ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
allowedRules:
type: array
items:
type: object
properties:
ruleId:
type: string
description: A rule identifier of the format meraki:intrusion/snort/GID//SID/. gid and sid can be obtained from either https://www.snort.org/rule-docs or as ruleIds from the security events in /organization/[orgId]/securityEvents
message:
type: string
description: Message is optional and is ignored on a PUT call. It is allowed in order for PUT to be compatible with GET
required:
- ruleId
description: Sets a list of specific SNORT signatures to allow
example:
allowedRules:
- ruleId: meraki:intrusion/snort/GID/01/SID/688
message: SQL sa login failed
- ruleId: meraki:intrusion/snort/GID/01/SID/5805
message: MALWARE-OTHER Trackware myway speedbar runtime detection - switch engines
required:
- allowedRules
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
allowedRules:
- ruleId: meraki:intrusion/snort/GID/01/SID/688
message: SQL sa login failed
- ruleId: meraki:intrusion/snort/GID/01/SID/5805
message: MALWARE-OTHER Trackware myway speedbar runtime detection - switch engines
summary: Sets supported intrusion settings for an organization
tags:
- appliance.configure
/organizations/{organizationId}/appliance/trafficShaping/vpnExclusions/byNetwork:
get:
description: Display VPN exclusion rules for MX networks.
operationId: getOrganizationApplianceTrafficShapingVpnExclusionsByNetwork
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 - 1000. 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: networkIds
in: query
description: Optional parameter to filter the results by network IDs
schema:
type: array
items:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
type: object
properties:
networkId:
type: string
description: ID of the network whose VPN exclusion rules are returned.
networkName:
type: string
description: Name of the network whose VPN exclusion rules are returned.
custom:
type: array
items:
type: object
properties:
protocol:
type: string
enum:
- any
- dns
- icmp
- tcp
- udp
description: Protocol.
destination:
type: string
description: Destination address; hostname required for DNS, IPv4 otherwise.
port:
type: string
description: Destination port.
required:
- protocol
- destination
- port
description: Custom VPN exclusion rules.
majorApplications:
type: array
items:
type: object
properties:
id:
type: string
description: Application's Meraki ID.
name:
type: string
enum:
- AWS
- Box
- Office 365 Sharepoint
- Office 365 Suite
- Oracle
- SAP
- Salesforce
- Skype & Teams
- Slack
- Webex
- Webex Calling
- Webex Meetings
- Zoom
description: Application's name.
required:
- id
- name
description: Major Application based VPN exclusion rules.
required:
- networkId
- networkName
- custom
- majorApplications
description: VPN exclusion rules by network
example:
items:
- networkId: N_24329156
networkName: Main Office
custom:
- protocol: tcp
destination: 192.168.3.0/24
port: '8000'
majorApplications:
- id: meraki:vpnExclusion/application/2
name: Office 365 Sharepoint
headers:
Link:
schema:
type: string
description: A comma-separated list of first, last, prev, and next relative links used for subsequent paginated requests.
summary: Display VPN exclusion rules for MX networks.
tags:
- appliance.configure
/organizations/{organizationId}/appliance/vpn/thirdPartyVPNPeers:
get:
description: Return the third party VPN peers for an organization
operationId: getOrganizationApplianceVpnThirdPartyVPNPeers
parameters:
- name: organizationId
in: path
description: Organization ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
peers:
type: array
items:
type: object
properties:
name:
type: string
description: The name of the VPN peer
publicIp:
type: string
description: '[optional] The public IP of the VPN peer'
remoteId:
type: string
description: '[optional] The remote ID is used to identify the connecting VPN peer. This can either be a valid IPv4 Address, FQDN or User FQDN.'
localId:
type: string
description: '[optional] The local ID is used to identify the MX to the peer. This will apply to all MXs this peer applies to.'
secret:
type: string
description: The shared secret with the VPN peer
privateSubnets:
type: array
items:
type: string
description: The list of the private subnets of the VPN peer
ipsecPolicies:
type: object
properties:
ikeCipherAlgo:
type: array
items:
type: string
enum:
- aes128
- aes192
- aes256
- des
- tripledes
description: 'This is the cipher algorithm to be used in Phase 1. The value should be an array with one of the following algorithms: ''aes256'', ''aes192'', ''aes128'', ''tripledes'', ''des'''
ikeAuthAlgo:
type: array
items:
type: string
enum:
- md5
- sha1
- sha256
description: 'This is the authentication algorithm to be used in Phase 1. The value should be an array with one of the following algorithms: ''sha256'', ''sha1'', ''md5'''
ikePrfAlgo:
type: array
items:
type: string
enum:
- default
- prfmd5
- prfsha1
- prfsha256
description: '[optional] This is the pseudo-random function to be used in IKE_SA. The value should be an array with one of the following algorithms: ''prfsha256'', ''prfsha1'', ''prfmd5'', ''default''. The ''default'' option can be used to default to the Authentication algorithm.'
ikeDiffieHellmanGroup:
type: array
items:
type: string
description: 'This is the Diffie-Hellman group to be used in Phase 1. The value should be an array with one of the following algorithms: ''group14'', ''group5'', ''group2'', ''group1'''
ikeLifetime:
type: integer
description: The lifetime of the Phase 1 SA in seconds.
childCipherAlgo:
type: array
items:
type: string
enum:
- aes128
- aes192
- aes256
- des
- 'null'
- tripledes
description: 'This is the cipher algorithms to be used in Phase 2. The value should be an array with one or more of the following algorithms: ''aes256'', ''aes192'', ''aes128'', ''tripledes'', ''des'', ''null'''
childAuthAlgo:
type: array
items:
type: string
enum:
- md5
- sha1
- sha256
description: 'This is the authentication algorithms to be used in Phase 2. The value should be an array with one of the following algorithms: ''sha256'', ''sha1'', ''md5'''
childPfsGroup:
type: array
items:
type: string
description: 'This is the Diffie-Hellman group to be used for Perfect Forward Secrecy in Phase 2. The value should be an array with one of the following values: ''disabled'',''group14'', ''group5'', ''group2'', ''group1'''
childLifetime:
type: integer
description: The lifetime of the Phase 2 SA in seconds.
description: Custom IPSec policies for the VPN peer. If not included and a preset has not been chosen, the default preset for IPSec policies will be used.
ipsecPoliciesPreset:
type: string
description: 'One of the following available presets: ''default'', ''aws'', ''azure'', ''umbrella'', ''zscaler''. If this is provided, the ''ipsecPolicies'' parameter is ignored.'
ikeVersion:
type: string
enum:
- '1'
- '2'
description: '[optional] The IKE version to be used for the IPsec VPN peer configuration. Defaults to ''1'' when omitted.'
default: '1'
networkTags:
type: array
items:
type: string
description: A list of network tags that will connect with this peer. Use ['all'] for all networks. Use ['none'] for no networks. If not included, the default is ['all'].
description: The list of VPN peers
example:
peers:
- name: Peer Name
publicIp: 123.123.123.1
remoteId: miles@meraki.com
localId: myMXId@meraki.com
secret: secret
privateSubnets:
- 192.168.1.0/24
- 192.168.128.0/24
ipsecPolicies:
ikeCipherAlgo:
- tripledes
ikeAuthAlgo:
- sha1
ikePrfAlgo:
- prfsha1
ikeDiffieHellmanGroup:
- group2
ikeLifetime: 28800
childCipherAlgo:
- aes128
childAuthAlgo:
- sha1
childPfsGroup:
- disabled
childLifetime: 28800
ipsecPoliciesPreset: custom
ikeVersion: '1'
networkTags:
- all
summary: Return the third party VPN peers for an organization
tags:
- appliance.configure
put:
description: Update the third party VPN peers for an organization
operationId: updateOrganizationApplianceVpnThirdPartyVPNPeers
parameters:
- name: organizationId
in: path
description: Organization ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
peers:
type: array
items:
type: object
properties:
name:
type: string
description: The name of the VPN peer
publicIp:
type: string
description: '[optional] The public IP of the VPN peer'
publicHostname:
type: string
description: '[optional] The public hostname of the VPN peer'
privateSubnets:
type: array
items:
type: string
description: The list of the private subnets of the VPN peer
localId:
type: string
description: '[optional] The local ID is used to identify the MX to the peer. This will apply to all MXs this peer applies to.'
remoteId:
type: string
description: '[optional] The remote ID is used to identify the connecting VPN peer. This can either be a valid IPv4 Address, FQDN or User FQDN.'
ipsecPolicies:
type: object
properties:
ikeCipherAlgo:
type: array
items:
type: string
enum:
- aes128
- aes192
- aes256
- des
- tripledes
description: 'This is the cipher algorithm to be used in Phase 1. The value should be an array with one of the following algorithms: ''aes256'', ''aes192'', ''aes128'', ''tripledes'', ''des'''
ikeAuthAlgo:
type: array
items:
type: string
enum:
- md5
- sha1
- sha256
description: 'This is the authentication algorithm to be used in Phase 1. The value should be an array with one of the following algorithms: ''sha256'', ''sha1'', ''md5'''
ikePrfAlgo:
type: array
items:
type: string
enum:
- default
- prfmd5
- prfsha1
- prfsha256
description: '[optional] This is the pseudo-random function to be used in IKE_SA. The value should be an array with one of the following algorithms: ''prfsha256'', ''prfsha1'', ''prfmd5'', ''default''. The ''default'' option can be used to default to the Authentication algorithm.'
ikeDiffieHellmanGroup:
type: array
items:
type: string
description: 'This is the Diffie-Hellman group to be used in Phase 1. The value should be an array with one of the following algorithms: ''group14'', ''group5'', ''group2'', ''group1'''
ikeLifetime:
type: integer
description: The lifetime of the Phase 1 SA in seconds.
childCipherAlgo:
type: array
items:
type: string
enum:
- aes128
- aes192
- aes256
- des
- 'null'
- tripledes
description: 'This is the cipher algorithms to be used in Phase 2. The value should be an array with one or more of the following algorithms: ''aes256'', ''aes192'', ''aes128'', ''tripledes'', ''des'', ''null'''
childAuthAlgo:
type: array
items:
type: string
enum:
- md5
- sha1
- sha256
description: 'This is the authentication algorithms to be used in Phase 2. The value should be an array with one of the following algorithms: ''sha256'', ''sha1'', ''md5'''
childPfsGroup:
type: array
items:
type: string
description: 'This is the Diffie-Hellman group to be used for Perfect Forward Secrecy in Phase 2. The value should be an array with one of the following values: ''disabled'',''group14'', ''group5'', ''group2'', ''group1'''
childLifetime:
type: integer
description: The lifetime of the Phase 2 SA in seconds.
description: Custom IPSec policies for the VPN peer. If not included and a preset has not been chosen, the default preset for IPSec policies will be used.
ipsecPoliciesPreset:
type: string
description: 'One of the following available presets: ''default'', ''aws'', ''azure'', ''umbrella'', ''zscaler''. If this is provided, the ''ipsecPolicies'' parameter is ignored.'
secret:
type: string
description: The shared secret with the VPN peer
ikeVersion:
type: string
enum:
- '1'
- '2'
description: '[optional] The IKE version to be used for the IPsec VPN peer configuration. Defaults to ''1'' when omitted.'
default: '1'
networkTags:
type: array
items:
type: string
description: A list of network tags that will connect with this peer. Use ['all'] for all networks. Use ['none'] for no networks. If not included, the default is ['all'].
required:
- name
- privateSubnets
- secret
description: The list of VPN peers
example:
peers:
- name: Peer Name
publicIp: 123.123.123.1
publicHostname: example.com
privateSubnets:
- 192.168.1.0/24
- 192.168.128.0/24
localId: myMXId@meraki.com
remoteId: miles@meraki.com
ipsecPolicies:
ikeCipherAlgo:
- tripledes
ikeAuthAlgo:
- sha1
ikePrfAlgo:
- prfsha1
ikeDiffieHellmanGroup:
- group2
ikeLifetime: 28800
childCipherAlgo:
- aes128
childAuthAlgo:
- sha1
childPfsGroup:
- disabled
childLifetime: 28800
ipsecPoliciesPreset: default
secret: Sample Password
ikeVersion: '2'
networkTags:
- none
required:
- peers
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
peers:
type: array
items:
type: object
properties:
name:
type: string
description: The name of the VPN peer
publicIp:
type: string
description: '[optional] The public IP of the VPN peer'
remoteId:
type: string
description: '[optional] The remote ID is used to identify the connecting VPN peer. This can either be a valid IPv4 Address, FQDN or User FQDN.'
localId:
type: string
description: '[optional] The local ID is used to identify the MX to the peer. This will apply to all MXs this peer applies to.'
secret:
type: string
description: The shared secret with the VPN peer
privateSubnets:
type: array
items:
type: string
description: The list of the private subnets of the VPN peer
ipsecPolicies:
type: object
properties:
ikeCipherAlgo:
type: array
items:
type: string
enum:
- aes128
- aes192
- aes256
- des
- tripledes
description: 'This is the cipher algorithm to be used in Phase 1. The value should be an array with one of the following algorithms: ''aes256'', ''aes192'', ''aes128'', ''tripledes'', ''des'''
ikeAuthAlgo:
type: array
items:
type: string
enum:
- md5
- sha1
- sha256
description: 'This is the authentication algorithm to be used in Phase 1. The value should be an array with one of the following algorithms: ''sha256'', ''sha1'', ''md5'''
ikePrfAlgo:
type: array
items:
type: string
enum:
- default
- prfmd5
- prfsha1
- prfsha256
description: '[optional] This is the pseudo-random function to be used in IKE_SA. The value should be an array with one of the following algorithms: ''prfsha256'', ''prfsha1'', ''prfmd5'', ''default''. The ''default'' option can be used to default to the Authentication algorithm.'
ikeDiffieHellmanGroup:
type: array
items:
type: string
description: 'This is the Diffie-Hellman group to be used in Phase 1. The value should be an array with one of the following algorithms: ''group14'', ''group5'', ''group2'', ''group1'''
ikeLifetime:
type: integer
description: The lifetime of the Phase 1 SA in seconds.
childCipherAlgo:
type: array
items:
type: string
enum:
- aes128
- aes192
- aes256
- des
- 'null'
- tripledes
description: 'This is the cipher algorithms to be used in Phase 2. The value should be an array with one or more of the following algorithms: ''aes256'', ''aes192'', ''aes128'', ''tripledes'', ''des'', ''null'''
childAuthAlgo:
type: array
items:
type: string
enum:
- md5
- sha1
- sha256
description: 'This is the authentication algorithms to be used in Phase 2. The value should be an array with one of the following algorithms: ''sha256'', ''sha1'', ''md5'''
childPfsGroup:
type: array
items:
type: string
description: 'This is the Diffie-Hellman group to be used for Perfect Forward Secrecy in Phase 2. The value should be an array with one of the following values: ''disabled'',''group14'', ''group5'', ''group2'', ''group1'''
childLifetime:
type: integer
description: The lifetime of the Phase 2 SA in seconds.
description: Custom IPSec policies for the VPN peer. If not included and a preset has not been chosen, the default preset for IPSec policies will be used.
ipsecPoliciesPreset:
type: string
description: 'One of the following available presets: ''default'', ''aws'', ''azure'', ''umbrella'', ''zscaler''. If this is provided, the ''ipsecPolicies'' parameter is ignored.'
ikeVersion:
type: string
enum:
- '1'
- '2'
description: '[optional] The IKE version to be used for the IPsec VPN peer configuration. Defaults to ''1'' when omitted.'
default: '1'
networkTags:
type: array
items:
type: string
description: A list of network tags that will connect with this peer. Use ['all'] for all networks. Use ['none'] for no networks. If not included, the default is ['all'].
description: The list of VPN peers
example:
peers:
- name: Peer Name
publicIp: 123.123.123.1
remoteId: miles@meraki.com
localId: myMXId@meraki.com
secret: secret
privateSubnets:
- 192.168.1.0/24
- 192.168.128.0/24
ipsecPolicies:
ikeCipherAlgo:
- tripledes
ikeAuthAlgo:
- sha1
ikePrfAlgo:
- prfsha1
ikeDiffieHellmanGroup:
- group2
ikeLifetime: 28800
childCipherAlgo:
- aes128
childAuthAlgo:
- sha1
childPfsGroup:
- disabled
childLifetime: 28800
ipsecPoliciesPreset: custom
ikeVersion: '1'
networkTags:
- all
summary: Update the third party VPN peers for an organization
tags:
- appliance.configure
/organizations/{organizationId}/appliance/vpn/vpnFirewallRules:
get:
description: Return the firewall rules for an organization's site-to-site VPN
operationId: getOrganizationApplianceVpnVpnFirewallRules
parameters:
- name: organizationId
in: path
description: Organization 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
description: '''allow'' or ''deny'' traffic specified by this rule'
protocol:
type: string
description: The type of protocol (must be 'tcp', 'udp', 'icmp', 'icmp6' or 'any')
srcPort:
type: string
description: Comma-separated list of source port(s) (integer in the range 1-65535), or 'any'
srcCidr:
type: string
description: 'Comma-separated list of source IP address(es) (in IP or CIDR notation), or ''any'' (note: FQDN not supported for source addresses)'
destPort:
type: string
description: Comma-separated list of destination port(s) (integer in the range 1-65535), or 'any'
destCidr:
type: string
description: Comma-separated list of destination IP address(es) (in IP or CIDR notation), fully-qualified domain names (FQDN) or 'any'
syslogEnabled:
type: boolean
description: Log this rule to syslog (true or false, boolean value) - only applicable if a syslog has been configured (optional)
description: An ordered array of the firewall rules (not including the default rule)
example:
rules:
- comment: Allow TCP traffic to subnet with HTTP servers.
policy: allow
protocol: tcp
srcPort: Any
srcCidr: Any
destPort: '443'
destCidr: 192.168.1.0/24
syslogEnabled: false
summary: Return the firewall rules for an organization's site-to-site VPN
tags:
- appliance.configure
put:
description: Update the firewall rules of an organization's site-to-site VPN
operationId: updateOrganizationApplianceVpnVpnFirewallRules
parameters:
- name: organizationId
in: path
description: Organization 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'
protocol:
type: string
enum:
- any
- icmp
- icmp6
- tcp
- udp
description: The type of protocol (must be 'tcp', 'udp', 'icmp', 'icmp6' or 'any')
srcPort:
type: string
description: Comma-separated list of source port(s) (integer in the range 1-65535), or 'any'
srcCidr:
type: string
description: Comma-separated list of source IP address(es) (in IP or CIDR notation), or 'any' (FQDN not supported)
destPort:
type: string
description: Comma-separated list of destination port(s) (integer in the range 1-65535), or 'any'
destCidr:
type: string
description: Comma-separated list of destination IP address(es) (in IP or CIDR notation) or 'any' (FQDN not supported)
syslogEnabled:
type: boolean
description: Log this rule to syslog (true or false, boolean value) - only applicable if a syslog has been configured (optional)
required:
- policy
- protocol
- srcCidr
- destCidr
description: An ordered array of the firewall rules (not including the default rule)
syslogDefaultRule:
type: boolean
description: Log the special default rule (boolean value - enable only if you've configured a syslog server) (optional)
example:
rules:
- comment: Allow TCP traffic to subnet with HTTP servers.
policy: allow
protocol: tcp
srcPort: Any
srcCidr: Any
destPort: '443'
destCidr: 192.168.1.0/24
syslogEnabled: false
syslogDefaultRule: false
required: false
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
description: '''allow'' or ''deny'' traffic specified by this rule'
protocol:
type: string
description: The type of protocol (must be 'tcp', 'udp', 'icmp', 'icmp6' or 'any')
srcPort:
type: string
description: Comma-separated list of source port(s) (integer in the range 1-65535), or 'any'
srcCidr:
type: string
description: 'Comma-separated list of source IP address(es) (in IP or CIDR notation), or ''any'' (note: FQDN not supported for source addresses)'
destPort:
type: string
description: Comma-separated list of destination port(s) (integer in the range 1-65535), or 'any'
destCidr:
type: string
description: Comma-separated list of destination IP address(es) (in IP or CIDR notation), fully-qualified domain names (FQDN) or 'any'
syslogEnabled:
type: boolean
description: Log this rule to syslog (true or false, boolean value) - only applicable if a syslog has been configured (optional)
description: An ordered array of the firewall rules (not including the default rule)
example:
rules:
- comment: Allow TCP traffic to subnet with HTTP servers.
policy: allow
protocol: tcp
srcPort: Any
srcCidr: Any
destPort: '443'
destCidr: 192.168.1.0/24
syslogEnabled: false
summary: Update the firewall rules of an organization's site-to-site VPN
tags:
- appliance.configure
components:
securitySchemes:
OAuth2ClientCredentials:
type: oauth2
flows:
clientCredentials:
tokenUrl: https://api-prd.kpn.com/oauth/client_credential/accesstoken?grant_type=client_credentials
scopes: {}