Cisco Meraki Appliance API

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

OpenAPI Specification

cisco-meraki-appliance-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Meraki Dashboard API — appliance
  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
      - monitor
      - dhcp
      - subnets
  /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
                      description: The slot number for the port
                      nullable: true
                    subslot:
                      type: integer
                      description: The subslot number for the port
                      nullable: true
                    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
                      enum:
                      - cellular
                      - ethernet
                      description: Describes the uplink device
                      nullable: true
                  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
                          description: Adaptive policy group ID that all traffic originating from this port is assigned to
                          nullable: true
                      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
                              enum:
                              - 802.1X
                              - MAC RADIUS
                              - hybrid
                              - open
                              description: The access policy that will be enforced by the 'access' VLAN
                              nullable: true
                          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
                        description: The slot for this port
                        nullable: true
                      subslot:
                        type: integer
                        description: The subslot for this port
                        nullable: true
                      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
                            description: Adaptive policy group ID that all traffic originating from this port is assigned
                              to
                            nullable: true
                        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
                                enum:
                                - 802.1X
                                - MAC RADIUS
                                - hybrid
                                - open
                                description: The access policy that will be enforced by the 'access' VLAN
                                nullable: true
                            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
      - configure
      - interfaces
      - ports
      - update
  /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
      - monitor
      - performance
  /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
                      format: date-time
                      description: Expiration time of the delegated prefix.
                      nullable: true
                  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
      - monitor
      - prefixes
      - delegated
  /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
                          description: Delegated origin prefix.
                          nullable: true
                      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
                          description: Assigned IPv6 subnet prefix.
                          nullable: true
                        address:
                          type: string
                          description: IPv6 address assigned to the MX on the VLAN.
                        linkLocal:
                          type: object
                          properties:
                            address:
                              type: string
                              description: Link-local address.
                              nullable: true
                          description: IPv6 link-local address.
                        solicitedNodeMulticast:
                          type: object
                          properties:
                            address:
                              type: string
                              description: Solicited-node multicast address.
                              nullable: true
                          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
      - monitor
      - prefixes
      - delegated
      - vlanAssignments
  /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
      - configure
      - radio
      - settings
    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
                  nullable: true
                  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.
                      nullable: true
                    targetPower:
                      type: integer
                      description: Set a manual target power for 2.4 GHz (dBm). Enter null for using auto power range.
                      nullable: true
                  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
          

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