Cisco Meraki Appliance API

The appliance API from Cisco Meraki — 102 operation(s) for appliance.

Operations 157

GET /devices/{serial}/appliance/dhcp/subnets Return the DHCP subnet information for an appliance #
POST /devices/{serial}/appliance/interfaces/ports/update Update configurations for an appliance's specified port #
GET /devices/{serial}/appliance/performance Return the performance score for a single Secure Appliance or Secure Router #
GET /devices/{serial}/appliance/prefixes/delegated Return current delegated IPv6 prefixes on an appliance. #
GET /devices/{serial}/appliance/prefixes/delegated/vlanAssignments Return prefixes assigned to all IPv6 enabled VLANs on an appliance. #
GET /devices/{serial}/appliance/radio/settings Return the radio settings of an appliance #
PUT /devices/{serial}/appliance/radio/settings Update the radio settings of an appliance #
GET /devices/{serial}/appliance/uplinks/settings Return the uplink settings for a secure router or security appliance #
PUT /devices/{serial}/appliance/uplinks/settings Update the uplink settings for a secure router or security appliance #
POST /devices/{serial}/appliance/vmx/authenticationToken Generate a new vMX authentication token #
GET /networks/{networkId}/appliance/clients/{clientId}/security/events List the security events for a client #
GET /networks/{networkId}/appliance/connectivityMonitoringDestinations Return the connectivity testing destinations for an MX network #
PUT /networks/{networkId}/appliance/connectivityMonitoringDestinations Update the connectivity testing destinations for an MX network #
GET /networks/{networkId}/appliance/contentFiltering Return the content filtering settings for an MX network #
PUT /networks/{networkId}/appliance/contentFiltering Update the content filtering settings for an MX network #
GET /networks/{networkId}/appliance/contentFiltering/categories List all available content filtering categories for an MX network #
PUT /networks/{networkId}/appliance/devices/redundancy Update MX warm spare settings #
POST /networks/{networkId}/appliance/devices/redundancy/swap Swap MX primary and warm spare appliances #
GET /networks/{networkId}/appliance/firewall/cellularFirewallRules Return the cellular firewall rules for an MX network #
PUT /networks/{networkId}/appliance/firewall/cellularFirewallRules Update the cellular firewall rules of an MX network #
GET /networks/{networkId}/appliance/firewall/firewalledServices List the appliance services and their accessibility rules #
GET /networks/{networkId}/appliance/firewall/firewalledServices/{service} Return the accessibility settings of the given service ('ICMP', 'web', or 'SNMP') #
PUT /networks/{networkId}/appliance/firewall/firewalledServices/{service} Updates the accessibility settings for the given service ('ICMP', 'web', or 'SNMP') #
GET /networks/{networkId}/appliance/firewall/inboundCellularFirewallRules Return the inbound cellular firewall rules for an MX network #
PUT /networks/{networkId}/appliance/firewall/inboundCellularFirewallRules Update the inbound cellular firewall rules of an MX network #
GET /networks/{networkId}/appliance/firewall/inboundFirewallRules Return the inbound firewall rules for an MX network #
PUT /networks/{networkId}/appliance/firewall/inboundFirewallRules Update the inbound firewall rules of an MX network #
GET /networks/{networkId}/appliance/firewall/l3FirewallRules Return the L3 firewall rules for an MX network #
PUT /networks/{networkId}/appliance/firewall/l3FirewallRules Update the L3 firewall rules of an MX network #
GET /networks/{networkId}/appliance/firewall/l7FirewallRules List the MX L7 firewall rules for an MX network #
PUT /networks/{networkId}/appliance/firewall/l7FirewallRules Update the MX L7 firewall rules for an MX network #
GET /networks/{networkId}/appliance/firewall/l7FirewallRules/applicationCategories Return the L7 firewall application categories and their associated applications for an MX network #
PUT /networks/{networkId}/appliance/firewall/multicastForwarding Update static multicast forward rules for a network #
GET /networks/{networkId}/appliance/firewall/oneToManyNatRules Return the 1:Many NAT mapping rules for an MX network #
PUT /networks/{networkId}/appliance/firewall/oneToManyNatRules Set the 1:Many NAT mapping rules for an MX network #
GET /networks/{networkId}/appliance/firewall/oneToOneNatRules Return the 1:1 NAT mapping rules for an MX network #
PUT /networks/{networkId}/appliance/firewall/oneToOneNatRules Set the 1:1 NAT mapping rules for an MX network #
GET /networks/{networkId}/appliance/firewall/portForwardingRules Return the port forwarding rules for an MX network #
PUT /networks/{networkId}/appliance/firewall/portForwardingRules Update the port forwarding rules for an MX network #
GET /networks/{networkId}/appliance/firewall/settings Return the firewall settings for this network #
PUT /networks/{networkId}/appliance/firewall/settings Update the firewall settings for this network #
POST /networks/{networkId}/appliance/interfaces/l3 Create wired L3 interface #
PUT /networks/{networkId}/appliance/interfaces/l3/{interfaceId} Update wired L3 interface #
DELETE /networks/{networkId}/appliance/interfaces/l3/{interfaceId} Delete wired L3 interface #
GET /networks/{networkId}/appliance/ports List per-port VLAN settings for all ports of a secure router or security appliance. #
GET /networks/{networkId}/appliance/ports/{portId} Return per-port VLAN settings for a single secure router or security appliance port. #
PUT /networks/{networkId}/appliance/ports/{portId} Update the per-port VLAN settings for a single secure router or security appliance port. #
GET /networks/{networkId}/appliance/prefixes/delegated/statics List static delegated prefixes for a network #
POST /networks/{networkId}/appliance/prefixes/delegated/statics Add a static delegated prefix from a network #
GET /networks/{networkId}/appliance/prefixes/delegated/statics/{staticDelegatedPrefixId} Return a static delegated prefix from a network #
PUT /networks/{networkId}/appliance/prefixes/delegated/statics/{staticDelegatedPrefixId} Update a static delegated prefix from a network #
DELETE /networks/{networkId}/appliance/prefixes/delegated/statics/{staticDelegatedPrefixId} Delete a static delegated prefix from a network #
GET /networks/{networkId}/appliance/rfProfiles List the RF profiles for this network #
POST /networks/{networkId}/appliance/rfProfiles Creates new RF profile for this network #
PUT /networks/{networkId}/appliance/rfProfiles/{rfProfileId} Updates specified RF profile for this network #
DELETE /networks/{networkId}/appliance/rfProfiles/{rfProfileId} Delete a RF Profile #
GET /networks/{networkId}/appliance/rfProfiles/{rfProfileId} Return a RF profile #
PUT /networks/{networkId}/appliance/sdwan/internetPolicies Update SDWAN internet traffic preferences for an MX network #
GET /networks/{networkId}/appliance/security/events List the security events for a network #
GET /networks/{networkId}/appliance/security/intrusion Returns all supported intrusion settings for an MX network #
PUT /networks/{networkId}/appliance/security/intrusion Set the supported intrusion settings for an MX network #
GET /networks/{networkId}/appliance/security/malware Returns all supported malware settings for an MX network #
PUT /networks/{networkId}/appliance/security/malware Set the supported malware settings for an MX network #
GET /networks/{networkId}/appliance/settings Return the appliance settings for a network #
PUT /networks/{networkId}/appliance/settings Update the appliance settings for a network #
GET /networks/{networkId}/appliance/singleLan Return single LAN configuration #
PUT /networks/{networkId}/appliance/singleLan Update single LAN configuration #
GET /networks/{networkId}/appliance/ssids List the MX SSIDs in a network #
GET /networks/{networkId}/appliance/ssids/{number} Return a single MX SSID #
PUT /networks/{networkId}/appliance/ssids/{number} Update the attributes of an MX SSID #
GET /networks/{networkId}/appliance/staticRoutes List the static routes for an MX or teleworker network #
POST /networks/{networkId}/appliance/staticRoutes Add a static route for an MX or teleworker network #
GET /networks/{networkId}/appliance/staticRoutes/{staticRouteId} Return a static route for an MX or teleworker network #
PUT /networks/{networkId}/appliance/staticRoutes/{staticRouteId} Update a static route for an MX or teleworker network #
DELETE /networks/{networkId}/appliance/staticRoutes/{staticRouteId} Delete a static route from an MX or teleworker network #
GET /networks/{networkId}/appliance/trafficShaping Display the traffic shaping settings for an MX network #
PUT /networks/{networkId}/appliance/trafficShaping Update the traffic shaping settings for an MX network #
GET /networks/{networkId}/appliance/trafficShaping/customPerformanceClasses List all custom performance classes for an MX network #
POST /networks/{networkId}/appliance/trafficShaping/customPerformanceClasses Add a custom performance class for an MX network #
GET /networks/{networkId}/appliance/trafficShaping/customPerformanceClasses/{customPerformanceClassId} Return a custom performance class for an MX network #
PUT /networks/{networkId}/appliance/trafficShaping/customPerformanceClasses/{customPerformanceClassId} Update a custom performance class for an MX network #
DELETE /networks/{networkId}/appliance/trafficShaping/customPerformanceClasses/{customPerformanceClassId} Delete a custom performance class from an MX network #
PUT /networks/{networkId}/appliance/trafficShaping/rules Update the traffic shaping settings rules for an MX network #
GET /networks/{networkId}/appliance/trafficShaping/rules Display the traffic shaping settings rules for an MX network #
GET /networks/{networkId}/appliance/trafficShaping/uplinkBandwidth Returns the uplink bandwidth limits for your MX network #
PUT /networks/{networkId}/appliance/trafficShaping/uplinkBandwidth Updates the uplink bandwidth settings for your MX network. #
GET /networks/{networkId}/appliance/trafficShaping/uplinkSelection Show uplink selection settings for an MX network #
PUT /networks/{networkId}/appliance/trafficShaping/uplinkSelection Update uplink selection settings for an MX network #
PUT /networks/{networkId}/appliance/trafficShaping/vpnExclusions Update VPN exclusion rules for an MX network. #
POST /networks/{networkId}/appliance/umbrella/account/connect Connect a Cisco Umbrella account to this network #
POST /networks/{networkId}/appliance/umbrella/account/disconnect Disconnect Umbrella account from this network #
PUT /networks/{networkId}/appliance/umbrella/domains/exclusions Specify one or more domain names to be excluded from being routed to Cisco Umbrella. #
POST /networks/{networkId}/appliance/umbrella/policies/add Add one Cisco Umbrella DNS security policy to an MX network by policy ID #
POST /networks/{networkId}/appliance/umbrella/policies/remove Remove one Cisco Umbrella DNS security policy from an MX network by policy ID #
PUT /networks/{networkId}/appliance/umbrella/protection Enable or disable umbrella protection for an appliance network #
PUT /networks/{networkId}/appliance/uplinks/nat Update uplink NAT settings of the specified network #
GET /networks/{networkId}/appliance/uplinks/usageHistory Get the sent and received bytes for each uplink of a network. #
GET /networks/{networkId}/appliance/vlans List the VLANs for a Security Appliance network #
POST /networks/{networkId}/appliance/vlans Add a VLAN #
GET /networks/{networkId}/appliance/vlans/settings Returns the enabled status of VLANs for the network #
PUT /networks/{networkId}/appliance/vlans/settings Enable/Disable VLANs for the given network #
GET /networks/{networkId}/appliance/vlans/{vlanId} Return a VLAN #
PUT /networks/{networkId}/appliance/vlans/{vlanId} Update a VLAN #
DELETE /networks/{networkId}/appliance/vlans/{vlanId} Delete a VLAN from a network #
GET /networks/{networkId}/appliance/vpn/bgp Return a Hub BGP Configuration #
PUT /networks/{networkId}/appliance/vpn/bgp Update a Hub BGP Configuration #
GET /networks/{networkId}/appliance/vpn/siteToSiteVpn Return the site-to-site VPN settings of a network #
PUT /networks/{networkId}/appliance/vpn/siteToSiteVpn Update the site-to-site VPN settings of a network #
GET /networks/{networkId}/appliance/warmSpare Return MX warm spare settings #
PUT /networks/{networkId}/appliance/warmSpare Update MX warm spare settings #
POST /networks/{networkId}/appliance/warmSpare/swap Swap MX primary and warm spare appliances #
GET /organizations/{organizationId}/appliance/devices/interfaces/l3 List L3 interfaces across networks for the organization #
GET /organizations/{organizationId}/appliance/devices/interfaces/ports/byDevice Returns port configurations for appliances in a given organization #
GET /organizations/{organizationId}/appliance/devices/ports/transceivers/readings/history/byDevice Return time-series digital optical monitoring (DOM) readings for ports on each DOM-enabled Catalyst appliance in an organization. #
GET /organizations/{organizationId}/appliance/devices/redundancy/byNetwork Return MX warm spare settings #
GET /organizations/{organizationId}/appliance/dns/local/profiles Fetch the local DNS profiles used in the organization #
POST /organizations/{organizationId}/appliance/dns/local/profiles Create a new local DNS profile #
GET /organizations/{organizationId}/appliance/dns/local/profiles/assignments Fetch the local DNS profile assignments in the organization #
POST /organizations/{organizationId}/appliance/dns/local/profiles/assignments/bulkCreate Assign the local DNS profile to networks in the organization #
POST /organizations/{organizationId}/appliance/dns/local/profiles/assignments/bulkDelete Unassign the local DNS profile to networks in the organization #
PUT /organizations/{organizationId}/appliance/dns/local/profiles/{profileId} Update a local DNS profile #
DELETE /organizations/{organizationId}/appliance/dns/local/profiles/{profileId} Deletes a local DNS profile #
GET /organizations/{organizationId}/appliance/dns/local/records Fetch the DNS records used in local DNS profiles #
POST /organizations/{organizationId}/appliance/dns/local/records Create a new local DNS record #
PUT /organizations/{organizationId}/appliance/dns/local/records/{recordId} Updates a local DNS record #
DELETE /organizations/{organizationId}/appliance/dns/local/records/{recordId} Deletes a local DNS record #
GET /organizations/{organizationId}/appliance/dns/split/profiles Fetch the split DNS profiles used in the organization #
POST /organizations/{organizationId}/appliance/dns/split/profiles Create a new split DNS profile #
GET /organizations/{organizationId}/appliance/dns/split/profiles/assignments Fetch the split DNS profile assignments in the organization #
POST /organizations/{organizationId}/appliance/dns/split/profiles/assignments/bulkCreate Assign the split DNS profile to networks in the organization #
POST /organizations/{organizationId}/appliance/dns/split/profiles/assignments/bulkDelete Unassign the split DNS profile to networks in the organization #
PUT /organizations/{organizationId}/appliance/dns/split/profiles/{profileId} Update a split DNS profile #
DELETE /organizations/{organizationId}/appliance/dns/split/profiles/{profileId} Deletes a split DNS profile #
GET /organizations/{organizationId}/appliance/firewall/multicastForwarding/byNetwork List Static Multicasting forwarding settings for MX networks #
GET /organizations/{organizationId}/appliance/interfaces/packets/overviews/byDevice Returns packet counter overviews for all interfaces on Secure Routers in the organization, including totals and average rates by packet type over the requested timespan. #
GET /organizations/{organizationId}/appliance/routing/vrfs/settings Return the VRF setting for an organization. #
PUT /organizations/{organizationId}/appliance/routing/vrfs/settings Update the VRF setting for an organization. #
GET /organizations/{organizationId}/appliance/security/events List the security events for an organization #
GET /organizations/{organizationId}/appliance/security/intrusion Returns all supported intrusion settings for an organization #
PUT /organizations/{organizationId}/appliance/security/intrusion Sets supported intrusion settings for an organization #
GET /organizations/{organizationId}/appliance/trafficShaping/vpnExclusions/byNetwork Display VPN exclusion rules for MX networks. #
GET /organizations/{organizationId}/appliance/uplink/statuses List the uplink status of every Meraki MX and Z series appliances in the organization #
GET /organizations/{organizationId}/appliance/uplinks/nat/byNetwork Fetch uplink NAT settings of each network in the organization #
GET /organizations/{organizationId}/appliance/uplinks/statuses/overview Returns an overview of uplink statuses #
GET /organizations/{organizationId}/appliance/uplinks/usage/byNetwork Get the sent and received bytes for each uplink of all MX and Z networks within an organization #
GET /organizations/{organizationId}/appliance/vpn/siteToSite/ipsec/peers/slas Get the list of available IPsec SLA policies for an organization #
PUT /organizations/{organizationId}/appliance/vpn/siteToSite/ipsec/peers/slas Update the IPsec SLA policies for an organization #
GET /organizations/{organizationId}/appliance/vpn/stats Show VPN history stats for networks in an organization #
GET /organizations/{organizationId}/appliance/vpn/statuses Show VPN status for networks in an organization #
GET /organizations/{organizationId}/appliance/vpn/thirdPartyVPNPeers Return the third party VPN peers for an organization #
PUT /organizations/{organizationId}/appliance/vpn/thirdPartyVPNPeers Update the third party VPN peers for an organization #
GET /organizations/{organizationId}/appliance/vpn/vpnFirewallRules Return the firewall rules for an organization's site-to-site VPN #
PUT /organizations/{organizationId}/appliance/vpn/vpnFirewallRules Update the firewall rules of an organization's site-to-site VPN #
POST /organizations/{organizationId}/policies/global/group/policies/appliance/vlans/assign Assign VLANs to a policy #
GET /organizations/{organizationId}/policies/global/group/policies/appliance/vlans/assignments List appliance VLAN policy assignments #
GET /organizations/{organizationId}/policies/global/group/policies/appliance/vlans/assignments/byVlan List policies by appliance VLANs #
POST /organizations/{organizationId}/policies/global/group/policies/appliance/vlans/remove Remove VLANs from a policy #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cisco-meraki-appliance-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cisco-meraki-appliance-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Meraki Dashboard Appliance API
  description: 'A RESTful API to programmatically manage and monitor Cisco Meraki networks at scale.


    > Date: 05 August, 2026

    >

    > [Recent Updates](https://meraki.io/whats-new/)


    ---


    [API Documentation](https://meraki.io/api)


    [Community Support](https://meraki.io/community)


    [Meraki Homepage](https://www.meraki.com)

    '
  contact:
    name: Meraki Developer Community
    url: https://meraki.io/community
  version: 1.73.0
  x-provenance:
    method: harvested
    authored_by: Cisco Meraki
    harvested_by: API Evangelist
    harvested_on: '2026-08-19'
    first_party: true
    note: Published by Cisco. Retrieved unmodified except for this x-provenance block.
    provider_published: true
    derived_view: Per-first-tag view of the source document, tag 'appliance'. Operations and schemas are the provider's, unmodified.
  x-evidence:
  - type: source
    url: https://github.com/meraki/openapi/blob/master/openapi/spec3.json
  - type: raw
    url: https://raw.githubusercontent.com/meraki/openapi/master/openapi/spec3.json
  - type: alternate
    url: https://api.meraki.com/api/v1/openapiSpec
servers:
- url: https://api.meraki.com/{basePath}
  variables:
    basePath:
      default: api/v1
security:
- meraki_api_key: []
- bearerAuth: []
tags:
- name: appliance
paths:
  /devices/{serial}/appliance/dhcp/subnets:
    get:
      description: Return the DHCP subnet information for an appliance
      operationId: getDeviceApplianceDhcpSubnets
      parameters:
      - name: serial
        in: path
        description: Serial
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    subnet:
                      type: string
                      description: Subnet
                    vlanId:
                      type: integer
                      description: VLAN ID
                    usedCount:
                      type: integer
                      description: Count of used IP addresses in subnet
                    freeCount:
                      type: integer
                      description: Count of free IP addresses in subnet
              example:
              - subnet: 192.168.1.0/24
                vlanId: 100
                usedCount: 2
                freeCount: 251
      security:
      - oauth2:
        - sdwan:telemetry:read
      summary: Return the DHCP subnet information for an appliance
      tags:
      - appliance
  /devices/{serial}/appliance/interfaces/ports/update:
    post:
      description: Update configurations for an appliance's specified port
      operationId: createDeviceApplianceInterfacesPortsUpdate
      parameters:
      - name: serial
        in: path
        description: Serial
        schema:
          type: string
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                interface:
                  type: object
                  properties:
                    slot:
                      type:
                      - integer
                      - 'null'
                      description: The slot number for the port
                    subslot:
                      type:
                      - integer
                      - 'null'
                      description: The subslot number for the port
                    number:
                      type: integer
                      description: The leaf port number
                  description: The interface tuple used to identify the port
                enabled:
                  type: boolean
                  description: Indicates whether the port is enabled
                personality:
                  type: object
                  properties:
                    mode:
                      type: string
                      enum:
                      - lan
                      - wan
                      description: The type of interface, 'wan' or 'lan', the port is configured as
                    layer:
                      type: object
                      properties:
                        mode:
                          type: integer
                          enum:
                          - 2
                          - 3
                          description: The layer at which the port operates
                      description: Describes the port's layer configurability
                  description: Describes the port's configurability
                uplink:
                  type: object
                  properties:
                    type:
                      type:
                      - string
                      - 'null'
                      enum:
                      - cellular
                      - ethernet
                      description: Describes the uplink device
                  description: The port's settings when in WAN mode
                downlink:
                  type: object
                  properties:
                    mode:
                      type: string
                      enum:
                      - access
                      - trunk
                      description: Indicates whether the port is in 'trunk' or 'access' mode
                    sgt:
                      type: object
                      properties:
                        id:
                          type:
                          - string
                          - 'null'
                          description: Adaptive policy group ID that all traffic originating from this port is assigned to
                      description: Security Group Tag settings for this port
                    access:
                      type: object
                      properties:
                        vlan:
                          type: string
                          description: The VLAN for which this port will accept and pass traffic in 'access' mode. All untagged traffic will automatically be treated as if it belonged to this VLAN
                        policy:
                          type: object
                          properties:
                            type:
                              type:
                              - string
                              - 'null'
                              enum:
                              - 802.1X
                              - MAC RADIUS
                              - hybrid
                              - open
                              description: The access policy that will be enforced by the 'access' VLAN
                          description: The access policy settings for this port
                      description: The port's settings when in 'access' mode
                    trunk:
                      type: object
                      properties:
                        nativeVlan:
                          type: string
                          description: The Native VLAN for the port. All untagged traffic that comes in on this port will be treated as if it belonged to this VLAN. This can also be set to 0 to drop untagged traffic.
                        allowedVlans:
                          type: array
                          items:
                            type: string
                          description: The VLANs for which this port will accept and pass traffic in 'trunk' mode. This must include the Native VLAN if one is set
                        sgt:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              description: Indicates whether the trunk port is Peer SGT capable
                          description: Security Group Tag settings for this trunk port
                      description: The port's settings when in 'trunk' mode
                  description: The port's VLAN settings when in LAN mode
              example:
                interface:
                  slot: 1
                  subslot: 2
                  number: 3
                enabled: true
                personality:
                  mode: wan
                  layer:
                    mode: 3
                uplink:
                  type: ethernet
                downlink:
                  mode: access
                  sgt:
                    id: '1234'
                  access:
                    vlan: '1'
                    policy:
                      type: 802.1X
                  trunk:
                    nativeVlan: '2'
                    allowedVlans:
                    - '2'
                    - '3'
                    - '4'
                    - '5'
                    sgt:
                      enabled: false
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  number:
                    type: string
                    description: A port's identifier as labeled on the device
                  interface:
                    type: object
                    properties:
                      name:
                        type: string
                        description: The full interface identifier for this port
                      slot:
                        type:
                        - integer
                        - 'null'
                        description: The slot for this port
                      subslot:
                        type:
                        - integer
                        - 'null'
                        description: The subslot for this port
                      number:
                        type: integer
                        description: The leaf interface number for this port
                    description: The structured interface identifier for this port
                  enabled:
                    type: boolean
                    description: Indicates whether the port is enabled
                  name:
                    type: string
                    description: The name of the interface the port is mapped to
                  personality:
                    type: object
                    properties:
                      mode:
                        type: string
                        enum:
                        - lan
                        - wan
                        description: The type of interface, 'wan' or 'lan', the port is configured as
                      isFlexible:
                        type: boolean
                        description: Indicates whether the port interface type can convert between WAN and LAN
                      layer:
                        type: object
                        properties:
                          mode:
                            type: integer
                            enum:
                            - 2
                            - 3
                            description: The layer at which the port operates
                          isFlexible:
                            type: boolean
                            description: Whether the layer mode is mutable
                        description: Describes the port's layer configurability
                    description: Describes the port's configurability
                  uplink:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - cellular
                        - ethernet
                        description: Describes the uplink device
                      primary:
                        type: boolean
                        description: Indicates whether the uplink has the highest priority among the device's WAN ports
                    description: The port's settings when in WAN mode
                  downlink:
                    type: object
                    properties:
                      mode:
                        type: string
                        description: Indicates whether the port is in 'trunk' or 'access' mode
                      sgt:
                        type: object
                        properties:
                          id:
                            type:
                            - string
                            - 'null'
                            description: Adaptive policy group ID that all traffic originating from this port is assigned to
                        description: Security Group Tag settings for this port
                      access:
                        type: object
                        properties:
                          vlan:
                            type: string
                            description: The VLAN for which this port will accept and pass traffic in 'access' mode. All untagged traffic will automatically be treated as if it belonged to this VLAN
                          policy:
                            type: object
                            properties:
                              type:
                                type:
                                - string
                                - 'null'
                                enum:
                                - 802.1X
                                - MAC RADIUS
                                - hybrid
                                - open
                                description: The access policy that will be enforced by the 'access' VLAN
                            description: The access policy settings for this port
                        description: The port's settings when in 'access' mode
                      trunk:
                        type: object
                        properties:
                          nativeVlan:
                            type: string
                            description: The Native VLAN for the port. All untagged traffic that comes in on this port will be treated as if it belonged to this VLAN. This can also be set to 0 to drop untagged traffic.
                          allowedVlans:
                            type: array
                            items:
                              type: string
                            description: The VLANs for which this port will accept and pass traffic in 'trunk' mode. This must include the Native VLAN if one is set
                          sgt:
                            type: object
                            properties:
                              enabled:
                                type: boolean
                                description: Indicates whether the trunk port is Peer SGT capable
                            description: Security Group Tag settings for this trunk port
                        description: The port's settings when in 'trunk' mode
                    description: The port's VLAN settings when in LAN mode
              example:
                number: '1'
                interface:
                  name: GigabitEthernet1/2/3
                  slot: 1
                  subslot: 2
                  number: 3
                enabled: true
                name: wan1
                personality:
                  mode: wan
                  isFlexible: false
                  layer:
                    mode: 3
                    isFlexible: false
                uplink:
                  type: ethernet
                  primary: true
                downlink:
                  mode: access
                  sgt:
                    id: '1234'
                  access:
                    vlan: '1'
                    policy:
                      type: 802.1X
                  trunk:
                    nativeVlan: '2'
                    allowedVlans:
                    - '2'
                    - '3'
                    - '4'
                    - '5'
                    sgt:
                      enabled: false
      summary: Update configurations for an appliance's specified port
      tags:
      - appliance
  /devices/{serial}/appliance/performance:
    get:
      description: Return the performance score for a single Secure Appliance or Secure Router. Only primary Secure Appliance devices supported. If no data is available, a 204 error code is returned.
      operationId: getDeviceAppliancePerformance
      parameters:
      - name: serial
        in: path
        description: Serial
        schema:
          type: string
        required: true
      - name: t0
        in: query
        description: The beginning of the timespan for the data. The maximum lookback period is 30 days from today.
        schema:
          type: string
      - name: t1
        in: query
        description: The end of the timespan for the data. t1 can be a maximum of 14 days after t0.
        schema:
          type: string
      - name: timespan
        in: query
        description: The timespan for which the information will be fetched. If specifying timespan, do not specify parameters t0 and t1. The value must be in seconds and be greater than or equal to 30 minutes and be less than or equal to 14 days. The default is 30 minutes.
        schema:
          type: number
          format: float
          minimum: 1800
          maximum: 1209600
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  perfScore:
                    type: number
                    format: float
                    description: Utilization for the device
              example:
                perfScore: 10.0
      security:
      - oauth2:
        - sdwan:telemetry:read
      summary: Return the performance score for a single Secure Appliance or Secure Router
      tags:
      - appliance
  /devices/{serial}/appliance/prefixes/delegated:
    get:
      description: Return current delegated IPv6 prefixes on an appliance.
      operationId: getDeviceAppliancePrefixesDelegated
      parameters:
      - name: serial
        in: path
        description: Serial
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    origin:
                      type: object
                      properties:
                        interface:
                          type: string
                          description: Uplink interface for this delegated prefix.
                      required:
                      - interface
                      description: Origin details for the delegated prefix.
                    prefix:
                      type: string
                      description: Delegated IPv6 prefix in CIDR notation.
                    counts:
                      type: object
                      properties:
                        assigned:
                          type: integer
                          description: Number of assigned VLAN prefixes.
                        available:
                          type: integer
                          description: Number of available VLAN prefixes.
                      required:
                      - assigned
                      - available
                      description: Usage counters for the delegated prefix.
                    method:
                      type: string
                      enum:
                      - auto
                      - manual
                      description: Delegation method.
                    staticDelegatedPrefixId:
                      type: string
                      description: Static delegated prefix id. Present when method is manual.
                    description:
                      type: string
                      description: Description for a manual delegated prefix.
                    isPreferred:
                      type: boolean
                      description: Whether this delegated prefix is preferred.
                    expiresAt:
                      type:
                      - string
                      - 'null'
                      format: date-time
                      description: Expiration time of the delegated prefix.
                  required:
                  - prefix
                  - method
                  - isPreferred
              example:
              - origin:
                  interface: wan1
                prefix: 2001:db8:3c4d:15::/64
                counts:
                  assigned: 2
                  available: 253
                method: auto
                staticDelegatedPrefixId: 2001:db8:3c4d:15::/64
                description: My ISP provider
                isPreferred: true
                expiresAt: '2018-05-12T00:00:00Z'
      security:
      - oauth2:
        - sdwan:telemetry:read
      summary: Return current delegated IPv6 prefixes on an appliance.
      tags:
      - appliance
  /devices/{serial}/appliance/prefixes/delegated/vlanAssignments:
    get:
      description: Return prefixes assigned to all IPv6 enabled VLANs on an appliance.
      operationId: getDeviceAppliancePrefixesDelegatedVlanAssignments
      parameters:
      - name: serial
        in: path
        description: Serial
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    vlan:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: VLAN id.
                        name:
                          type: string
                          description: VLAN name.
                      required:
                      - id
                      - name
                      description: VLAN details for the prefix assignment.
                    origin:
                      type: object
                      properties:
                        interface:
                          type: string
                          description: Uplink interface origin.
                        prefix:
                          type:
                          - string
                          - 'null'
                          description: Delegated origin prefix.
                      required:
                      - interface
                      description: Delegated prefix origin for this VLAN assignment.
                    status:
                      type: string
                      enum:
                      - Active
                      - Expiring soon
                      - Not assigned
                      description: Current assignment status.
                    ipv6:
                      type: object
                      properties:
                        prefix:
                          type:
                          - string
                          - 'null'
                          description: Assigned IPv6 subnet prefix.
                        address:
                          type: string
                          description: IPv6 address assigned to the MX on the VLAN.
                        linkLocal:
                          type: object
                          properties:
                            address:
                              type:
                              - string
                              - 'null'
                              description: Link-local address.
                          description: IPv6 link-local address.
                        solicitedNodeMulticast:
                          type: object
                          properties:
                            address:
                              type:
                              - string
                              - 'null'
                              description: Solicited-node multicast address.
                          description: IPv6 solicited-node multicast address.
                      required:
                      - address
                      description: IPv6 assignment details for the VLAN.
                  required:
                  - status
              example:
              - vlan:
                  id: 100
                  name: My VLAN
                origin:
                  interface: wan1
                  prefix: 2001:db8:3c4d:15::/64
                status: Active
                ipv6:
                  prefix: 2001:db8:3c4d:15::/64
                  address: 2001:db8:3c4d:15::1
                  linkLocal:
                    address: 2001:db8:3c4d:15::1
                  solicitedNodeMulticast:
                    address: 2001:db8:3c4d:15::1
      security:
      - oauth2:
        - sdwan:telemetry:read
      summary: Return prefixes assigned to all IPv6 enabled VLANs on an appliance.
      tags:
      - appliance
  /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
      security:
      - oauth2:
        - sdwan:config:read
      summary: Return the radio settings of an appliance
      tags:
      - appliance
    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
                  - 'null'
                  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
                      - 'null'
                      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
                      - 'null'
                      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
                      - 'null'
                      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'

# --- truncated at 32 KB (778 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cisco-meraki/refs/heads/main/openapi/cisco-meraki-appliance-api-openapi.yml