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