Mist Sites Device Profiles API

The API Endpoints for the Device Profiles at the site level can be used to get the site derived networks, meaning the org level configuration with the site variables resolved..

OpenAPI Specification

mist-sites-device-profiles-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  contact:
    email: tmunzer@juniper.net
    name: Thomas Munzer
  description: '> Version: **2606.1.1**

    >

    > Date: **July 10, 2026**

    <div class="notification"> NOTE:<br>Some important API changes will be introduced. Please make sure to read the <a href="https://www.juniper.net/documentation/us/en/software/mist/api/http/guides/important-api-changes">announcements</a> </div>


    ---

    ## Additional Documentation

    * [Mist Automation Guide](https://www.juniper.net/documentation/us/en/software/mist/automation-integration/index.html)

    * [Mist Location SDK](https://www.juniper.net/documentation/us/en/software/mist/location-services/topics/concept/mist-how-get-mist-sdk.html)

    * [Mist Product Updates](https://www.juniper.net/documentation/us/en/software/mist/product-updates/)


    ## Helpful Resources

    * [API Sandbox and Exercises](https://api-class.mist.com/)

    * [Postman Collection, Runners and Webhook Samples](https://www.postman.com/juniper-mist/workspace/mist-systems-s-public-workspace)

    * [Python Script Examples](https://github.com/tmunzer/mist_library)

    * [API Demo Apps](https://apps.mist-lab.fr/)

    * [Juniper Blog](https://blogs.juniper.net/)


    ## Mist Web Browser Extension:

    * Google Chrome, Microsoft Edge and other Chromium-based browser: [Chrome Web Store](https://chromewebstore.google.com/detail/mist-extension/ejhpdcljeamillfhdihkkmoakanpbplh)

    * Firefox: [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/mist-extension/)


    ---'
  license:
    name: MIT
    url: https://raw.githubusercontent.com/tmunzer/Mist-OAS3.0/main/LICENSE
  title: Mist Admins Sites Device Profiles API
  version: 2606.1.1
  x-logo:
    altText: Juniper-MistAI
    backgroundColor: '#FFFFFF'
    url: https://www.mist.com/wp-content/uploads/logo.png
servers:
- description: Mist Global 01
  url: https://api.mist.com
- description: Mist Global 02
  url: https://api.gc1.mist.com
- description: Mist Global 03
  url: https://api.ac2.mist.com
- description: Mist Global 04
  url: https://api.gc2.mist.com
- description: Mist Global 05
  url: https://api.gc4.mist.com
- description: Mist EMEA 01
  url: https://api.eu.mist.com
- description: Mist EMEA 02
  url: https://api.gc3.mist.com
- description: Mist EMEA 03
  url: https://api.ac6.mist.com
- description: Mist EMEA 04
  url: https://api.gc6.mist.com
- description: Mist APAC 01
  url: https://api.ac5.mist.com
- description: Mist APAC 02
  url: https://api.gc5.mist.com
- description: Mist APAC 03
  url: https://api.gc7.mist.com
security:
- apiToken: []
- csrfToken: []
tags:
- description: The API Endpoints for the Device Profiles at the site level can be used to get the site derived networks, meaning the org level configuration with the site variables resolved..
  name: Sites Device Profiles
paths:
  /api/v1/sites/{site_id}/deviceprofiles/derived:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: Get the list of derived Device Profiles for a Site
      operationId: listSiteDeviceProfilesDerived
      parameters:
      - description: Whether resolve the site variables
        in: query
        name: resolve
        schema:
          default: false
          type: boolean
      responses:
        '200':
          $ref: '#/components/responses/DeviceprofilesArray'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: listSiteDeviceProfilesDerived
      tags:
      - Sites Device Profiles
components:
  schemas:
    acl_tag_spec:
      additionalProperties: false
      description: Layer 4 protocol and destination-port match constraint for an ACL tag
      properties:
        port_range:
          default: '0'
          description: Matched dst port, "0" means any
          type: string
        protocol:
          default: any
          description: '`tcp` / `udp` / `icmp` / `icmp6` / `gre` / `any` / `:protocol_number`, `protocol_number` is between 1-254, default is `any` `protocol_number` is between 1-254'
          type: string
      type: object
    routing_policy_term_action_prepend_as_path:
      description: When used as export policy, optional. By default, the local AS will be prepended, to change it. Can be a Variable (e.g. `{{as_path}}`)
      items:
        examples:
        - 65000 400
        type: string
      type: array
    ap_usb_type:
      description: 'usb config type. enum: `hanshow`, `imagotag`, `solum`'
      enum:
      - hanshow
      - imagotag
      - solum
      examples:
      - imagotag
      type: string
    switch_networks:
      additionalProperties:
        $ref: '#/components/schemas/switch_network'
      description: Property key is network name
      type: object
    vrf_extra_routes6:
      additionalProperties:
        $ref: '#/components/schemas/vrf_extra_route6'
      description: Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
      examples:
      - 2a02:1234:420a:10c9::/64:
          via: 2a02:1234:200a::100
      type: object
    id:
      description: Unique ID of the object instance in the Mist Organization
      examples:
      - 53f10664-3ce8-4c27-b382-0ef66432349f
      format: uuid
      readOnly: true
      type: string
    deviceprofile_ap:
      additionalProperties: false
      description: AP device profile configuration applied to APs at a site or organization
      properties:
        aeroscout:
          $ref: '#/components/schemas/ap_aeroscout'
          description: Location integration defaults for AeroScout in this AP profile
        airista:
          $ref: '#/components/schemas/ap_airista'
          description: Location integration defaults for Airista in this AP profile
        ble_config:
          $ref: '#/components/schemas/ble_config'
          description: Bluetooth Low Energy beacon and asset defaults in this AP profile
        created_time:
          $ref: '#/components/schemas/created_time'
          description: Timestamp when the AP device profile was created
        disable_eth1:
          default: false
          description: Whether to disable eth1 port
          type: boolean
        disable_eth2:
          default: false
          description: Whether to disable eth2 port
          type: boolean
        disable_eth3:
          default: false
          description: Whether to disable eth3 port
          type: boolean
        disable_module:
          default: false
          description: Whether to disable module port
          type: boolean
        esl_config:
          $ref: '#/components/schemas/ap_esl_config'
          description: Electronic shelf label integration defaults in this AP profile
        for_site:
          description: Whether this AP profile is scoped directly to a site
          readOnly: true
          type: boolean
        id:
          $ref: '#/components/schemas/id'
          description: Unique identifier of the AP device profile
        iot_config:
          $ref: '#/components/schemas/ap_iot'
          description: Digital and analog IoT pin defaults in this AP profile
        ip_config:
          $ref: '#/components/schemas/ap_ip_config'
          description: Management IP addressing defaults in this AP profile
        lacp_config:
          $ref: '#/components/schemas/device_ap_lacp_config'
          description: Link aggregation defaults for supported AP Ethernet uplinks
        led:
          $ref: '#/components/schemas/ap_led'
          description: Indicator light behavior defaults in this AP profile
        mesh:
          $ref: '#/components/schemas/ap_mesh'
          description: Wireless mesh role and band defaults in this AP profile
        modified_time:
          $ref: '#/components/schemas/modified_time'
          description: Timestamp when the AP device profile was last modified
        mqtt_config:
          $ref: '#/components/schemas/ap_mqtt'
          description: MQTT broker publishing settings for this AP profile
        name:
          description: Display name of the AP device profile
          type:
          - string
          - 'null'
        ntp_servers:
          $ref: '#/components/schemas/strings'
          description: NTP servers configured by this AP profile
        org_id:
          $ref: '#/components/schemas/org_id'
          description: Organization that owns this AP device profile
        poe_passthrough:
          default: false
          description: Whether to enable power out through module port (for APH) or eth1 (for APL/BT11)
          type: boolean
        port_config:
          additionalProperties:
            $ref: '#/components/schemas/ap_port_config'
          description: eth0 is not allowed here. Property key is the interface(s) name (e.g. `eth1` or `eth1,eth2`). If specified, this takes precedence over switch_config (deprecated)
          type: object
        pwr_config:
          $ref: '#/components/schemas/ap_pwr_config'
          description: Power negotiation and peripheral power defaults in this AP profile
        radio_config:
          $ref: '#/components/schemas/ap_radio'
          description: Radio configuration defaults in this AP profile
        site_id:
          $ref: '#/components/schemas/site_id'
          description: Site where this AP device profile is defined, when scoped to a site
        switch_config:
          $ref: '#/components/schemas/ap_switch'
          description: Deprecated AP switch configuration defaults in this profile
        type:
          $ref: '#/components/schemas/device_type_ap'
          description: Device type discriminator for AP device profiles
        uplink_port_config:
          $ref: '#/components/schemas/ap_uplink_port_config'
          description: Authentication and failover defaults for AP uplink ports
        usb_config:
          $ref: '#/components/schemas/ap_usb'
          description: Legacy USB integration defaults in this AP profile
        vars:
          $ref: '#/components/schemas/vars'
          description: Variable values provided by this AP device profile
        zigbee_config:
          $ref: '#/components/schemas/ap_zigbee'
          description: Zigbee radio and network defaults in this AP profile
      required:
      - type
      type: object
    service_policy_skyatp_http_inspection:
      additionalProperties: false
      description: Sky ATP HTTP inspection settings
      properties:
        enabled:
          description: Whether Sky ATP HTTP inspection is enabled
          type: boolean
        profile:
          $ref: '#/components/schemas/service_policy_skyatp_http_inspection_profile'
          description: Sky ATP HTTP inspection profile to apply
      type: object
    dhcpd_config_type:
      default: local
      description: 'enum: `local` (DHCP Server), `none`, `relay` (DHCP Relay)'
      enum:
      - local
      - none
      - relay
      type: string
    switch_iot_port_alarm_class:
      default: minor
      description: 'Alarm class for the switch iot port in. enum: `minor`, `major`'
      enum:
      - minor
      - major
      type: string
    ap_port_config_dynamic_vlan_type:
      description: 'Mapping mode for interpreting dynamic VLAN attributes returned by RADIUS.\ \ enum: `airespace-interface-name`, where the VLAN is determined by parsing\ \ the RADIUS attribute as an Airespace interface name (e.g. "guest"\ \ would map to VLAN 100), or `standard`, where the VLAN is determined by parsing\ \ the RADIUS attribute as a standard VLAN ID number'
      enum:
      - airespace-interface-name
      - standard
      type: string
    remote_syslog_time_format:
      description: 'enum: `millisecond`, `year`, `year millisecond`'
      enum:
      - millisecond
      - year
      - year millisecond
      examples:
      - millisecond
      type: string
    switch_port_usage_storm_control:
      additionalProperties: false
      description: Switch storm control. Only if `mode`!=`dynamic`
      properties:
        disable_port:
          default: false
          description: Whether to disable the port when storm control is triggered
          type: boolean
        no_broadcast:
          default: false
          description: Whether to disable storm control on broadcast traffic
          type: boolean
        no_multicast:
          default: false
          description: Whether to disable storm control on multicast traffic
          type: boolean
        no_registered_multicast:
          default: false
          description: Whether to disable storm control on registered multicast traffic
          type: boolean
        no_unknown_unicast:
          default: false
          description: Whether to disable storm control on unknown unicast traffic
          type: boolean
        percentage:
          default: 80
          description: Bandwidth-percentage, configures the storm control level as a percentage of the available bandwidth
          maximum: 100
          minimum: 0
          type: integer
      type: object
    gateway_port_vpn_path_role:
      default: spoke
      description: 'If the VPN `type`==`hub_spoke`, enum: `hub`, `spoke`. If the VPN `type`==`mesh`, enum: `mesh`'
      enum:
      - hub
      - mesh
      - spoke
      type: string
    snmp_vacm_access:
      description: VACM access rules for SNMPv3
      items:
        $ref: '#/components/schemas/snmp_vacm_access_item'
      type: array
    ospf_area_network_interface_type:
      default: broadcast
      description: 'interface type (nbma = non-broadcast multi-access). enum: `broadcast`, `nbma`, `p2mp`, `p2p`'
      enum:
      - broadcast
      - nbma
      - p2mp
      - p2p
      type: string
    tunnel_config_auth_algo:
      description: 'enum: `md5`, `sha1`, `sha2`'
      enum:
      - md5
      - sha1
      - sha2
      type: string
    response_http400:
      additionalProperties: false
      description: Standard HTTP 400 bad request error response
      properties:
        detail:
          description: Human-readable explanation of the bad request error
          examples:
          - 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
          type: string
      type: object
    bgp_config_via:
      default: lan
      description: 'enum: `lan`, `tunnel`, `vpn`, `wan`'
      enum:
      - lan
      - tunnel
      - vpn
      - wan
      type: string
    vrf_extra_route:
      additionalProperties: false
      description: Additional IPv4 static route for a VRF instance
      properties:
        via:
          description: IPv4 next-hop address for this VRF extra route
          format: ipv4
          type: string
      type: object
    snmpv3_config_target_address_item:
      additionalProperties: false
      description: SNMPv3 notification target address entry
      properties:
        address:
          description: IP address or hostname of the SNMP target
          examples:
          - 10.11.0.2
          type: string
        address_mask:
          description: Mask applied to the SNMP target address
          examples:
          - 255.255.255.0
          type: string
        port:
          default: '161'
          description: UDP port used by the SNMP target
          type:
          - string
          - 'null'
        tag_list:
          description: Set of notification tags for this target address; use spaces between multiple tags
          type: string
        target_address_name:
          description: Name of the SNMP target address entry
          examples:
          - target_address_name
          type: string
        target_parameters:
          description: Target parameter profile referenced by this target address
          type: string
      type: object
    tunnel_config_node_hosts:
      description: Remote gateway host addresses for a tunnel node
      items:
        description: IP address of the remote host
        type: string
      type: array
    gw_routing_policy_term_action_add_target_vrfs:
      description: For SSR, target VRFs used by a hub when leaking VRF routes to spokes
      items:
        type: string
      type: array
    routing_policy_term_matching_as_path:
      description: BGP AS path values used as routing-policy match criteria
      items:
        $ref: '#/components/schemas/bgp_as'
      type: array
    dhcpd_config_property:
      additionalProperties: false
      description: DHCP server or relay configuration for one network
      properties:
        dns_servers:
          $ref: '#/components/schemas/dhcpd_config_dns_servers'
          description: If `type`==`local` or `type6`==`local`, DNS servers advertised to DHCP clients
        dns_suffix:
          $ref: '#/components/schemas/dhcpd_config_dns_suffix'
          description: If `type`==`local` or `type6`==`local`, DNS search suffixes advertised to DHCP clients
        fixed_bindings:
          $ref: '#/components/schemas/dhcpd_config_fixed_bindings'
          description: If `type`==`local` or `type6`==`local`, fixed client bindings for local DHCP service
        gateway:
          description: If `type`==`local` - optional, `ip` will be used if not provided
          examples:
          - 192.168.70.1
          type: string
        ip6_end:
          description: If `type6`==`local`, ending IPv6 address for the DHCP lease pool
          examples:
          - 2607:f8b0:4005:808::ff
          type: string
        ip6_start:
          description: If `type6`==`local`, starting IPv6 address for the DHCP lease pool
          examples:
          - 2607:f8b0:4005:808::2
          type: string
        ip_end:
          description: If `type`==`local`, ending IPv4 address for the DHCP lease pool
          examples:
          - 192.168.70.200
          type: string
        ip_start:
          description: If `type`==`local`, starting IPv4 address for the DHCP lease pool
          examples:
          - 192.168.70.100
          type: string
        lease_time:
          default: 86400
          description: In seconds, lease time has to be between 3600 [1hr] - 604800 [1 week], default is 86400 [1 day]
          maximum: 604800
          minimum: 3600
          type: integer
        options:
          $ref: '#/components/schemas/dhcpd_config_options'
          description: If `type`==`local` or `type6`==`local`, custom DHCP options advertised to clients
        server_id_override:
          default: false
          description: "`server_id_override`==`true` means the device, when acts as DHCP relay and forwards DHCP responses from DHCP server to clients, \nshould overwrite the Sever Identifier option (i.e. DHCP option 54) in DHCP responses with its own IP address."
          type: boolean
        servers:
          $ref: '#/components/schemas/dhcpd_config_servers'
          description: If `type`==`relay`, upstream IPv4 DHCP servers
        serversv6:
          $ref: '#/components/schemas/dhcpd_config_servers6'
          description: If `type6`==`relay`, upstream IPv6 DHCP servers
        type:
          $ref: '#/components/schemas/dhcpd_config_type'
          description: IPv4 DHCP mode for this network
        type6:
          $ref: '#/components/schemas/dhcpd_config_type6'
          description: IPv6 DHCP mode for this network
        vendor_encapsulated:
          $ref: '#/components/schemas/dhcpd_config_vendor_options'
          description: If `type`==`local` or `type6`==`local`, vendor-encapsulated DHCP options advertised to clients
      type: object
    snmp_config_client_list_clients:
      description: SNMP client IP addresses or CIDR ranges allowed by a client list
      items:
        examples:
        - 151.140.101.218/32
        type: string
      type: array
    dhcpd_config_options:
      additionalProperties:
        $ref: '#/components/schemas/dhcpd_config_option'
      description: If `type`==`local` or `type6`==`local`. Property key is the DHCP option number
      type: object
    tunnel_config_ike_dh_group:
      default: '14'
      description: 'Diffie-Hellman group for IKE phase 1. enum: `1`, `14`, `15`, `16`, `19`, `2`, `20`, `21`, `24`, `5`. `14` is the default 2048-bit group; `19`, `20`, `21`, and `24` are ECP groups'
      enum:
      - '1'
      - '14'
      - '15'
      - '16'
      - '19'
      - '2'
      - '20'
      - '21'
      - '24'
      - '5'
      type: string
    bgp_as:
      anyOf:
      - type: string
      - maximum: 4294967294
        minimum: 1
        type: integer
      description: BGP AS, value in range 1-4294967294. Can be a Variable (e.g. `{{bgp_as}}` )
      examples:
      - 65000
    gw_routing_policy_term_matching_vpn_path_sla:
      additionalProperties: false
      description: SLA thresholds used when matching VPN paths
      properties:
        max_jitter:
          description: Maximum jitter threshold allowed for the VPN path
          type:
          - integer
          - 'null'
        max_latency:
          description: Maximum latency threshold allowed for the VPN path
          examples:
          - 1500
          type:
          - integer
          - 'null'
        max_loss:
          description: Maximum packet-loss threshold allowed for the VPN path
          examples:
          - 30
          type:
          - integer
          - 'null'
      type: object
    snmp_vacm_access_item:
      additionalProperties: false
      description: VACM access rule for an SNMP group
      properties:
        group_name:
          description: SNMP VACM group name
          type: string
        prefix_list:
          $ref: '#/components/schemas/snmp_vacm_access_item_prefix_list'
          description: Context prefix rules for this VACM group
      type: object
    ap_ip_config_dns_suffix:
      description: Required if `type`==`static`; DNS search suffixes applied to AP management lookups
      examples:
      - - .mist.local
        - .mist.com
      items:
        type: string
      type: array
    remote_syslog_user:
      additionalProperties: false
      description: User-specific syslog logging rule
      properties:
        contents:
          $ref: '#/components/schemas/remote_syslog_contents'
          description: Syslog facilities and severities logged for this user rule
        match:
          description: Expression used to filter user log messages
          examples:
          - '"!alarm|ntp|errors.crc_error[chan]"'
          type: string
        user:
          description: Account name or wildcard matched by this syslog rule
          examples:
          - '*'
          type: string
      type: object
    poe_priority:
      description: 'PoE priority. enum: `low`, `high`'
      enum:
      - low
      - high
      type: string
    tunnel_provider_options_zscaler:
      additionalProperties: false
      description: For zscaler-ipsec and zscaler-gre
      properties:
        aup_block_internet_until_accepted:
          default: false
          description: Whether Zscaler blocks internet access until the Acceptable Use Policy is accepted
          type: boolean
        aup_enabled:
          default: false
          description: Can only be `true` when `auth_required`==`false`, display Acceptable Use Policy (AUP)
          type: boolean
        aup_force_ssl_inspection:
          default: false
          description: Proxy HTTPs traffic, requiring Zscaler cert to be installed in browser
          type: boolean
        aup_timeout_in_days:
          description: Required if `aup_enabled`==`true`. Days before AUP is requested again
          maximum: 180
          minimum: 1
          type: integer
        auth_required:
          default: false
          description: Enable this option to enforce user authentication
          type: boolean
        caution_enabled:
          default: false
          description: Can only be `true` when `auth_required`==`false`, display caution notification for non-authenticated users
          type: boolean
        dn_bandwidth:
          description: Download bandwidth cap of the link, in Mbps. Disabled if not set
          examples:
          - 200
          format: double
          maximum: 99999
          minimum: 0.1
          type:
          - number
          - 'null'
        idle_time_in_minutes:
          description: Required if `surrogate_IP`==`true`, idle Time to Disassociation
          maximum: 43200
          minimum: 0
          type: integer
        ofw_enabled:
          default: false
          description: If `true`, enable the firewall control option
          type: boolean
        sub_locations:
          $ref: '#/components/schemas/zscaler_sub_locations'
          description: Per-network Zscaler sub-location settings
        surrogate_IP:
          default: false
          description: Can only be `true` when `auth_required`==`true`. Map a user to a private IP address so it applies the user's policies, instead of the location's policies
          type: boolean
        surrogate_IP_enforced_for_known_browsers:
          description: Can only be `true` when `surrogate_IP`==`true`, enforce surrogate IP for known browsers
          type: boolean
        surrogate_refresh_time_in_minutes:
          description: Required if `surrogate_IP_enforced_for_known_browsers`==`true`, must be lower or equal than `idle_time_in_minutes`, refresh Time for re-validation of Surrogacy
          maximum: 43200
          minimum: 1
          type: integer
        up_bandwidth:
          description: Download bandwidth cap of the link, in Mbps. Disabled if not set
          examples:
          - 200
          format: double
          maximum: 99999
          minimum: 0.1
          type:
          - number
          - 'null'
        xff_forward_enabled:
          default: false
          description: Location uses proxy chaining to forward traffic
          type: boolean
      type: object
    switch_port_usages:
      additionalProperties:
        $ref: '#/components/schemas/switch_port_usage'
      description: Property key is the port usage name. Defines the profiles of port configuration configured on the switch
      type: object
    protect_re_customs:
      description: Custom Protect RE ACL entries
      items:
        $ref: '#/components/schemas/protect_re_custom'
      type: array
    deviceprofiles:
      description: List of device profile configurations
      items:
        $ref: '#/components/schemas/deviceprofile'
      type: array
    created_time:
      description: When the object has been created, in epoch
      format: double
      readOnly: true
      type: number
    service_policy_ewf_rule_profile:
      default: strict
      description: 'enum: `critical`, `standard`, `strict`'
      enum:
      - critical
      - standard
      - strict
      type: string
    bgp_config:
      additionalProperties: false
      description: BGP session configuration. BFD is enabled when either bfd_minimum_interval or bfd_multiplier is configured
      properties:
        auth_key:
          description: Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`
          type: string
        bfd_minimum_interval:
          default: 350
          description: "Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`, when bfd_multiplier is configured alone. Default:\n  * 1000 if `type`==`external`\n  * 350 `type`==`internal`"
          maximum: 255000
          minimum: 1
          type:
          - integer
          - 'null'
        bfd_multiplier:
          default: 3
          description: Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`, when bfd_minimum_interval_is_configured alone
          maximum: 255
          minimum: 1
          type:
          - integer
          - 'null'
        disable_bfd:
          default: false
          description: Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. BFD provides faster path failure detection and is enabled by default
          type: boolean
        export:
          description: Routing policy applied to routes exported by this BGP session
          type: string
        export_policy:
          description: Default export policies if no per-neighbor policies defined
          type: string
        extended_v4_nexthop:
          description: Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. By default, either inet/net6 unicast depending on neighbor IP family (v4 or v6). For v6 neighbors, to exchange v4 nexthop, which allows dual-stack support, enable this
          type: boolean
        graceful_restart_time:
          default: 0
          description: Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. `0` means disable
          maximum: 4095
          minimum: 0
          type: integer
        hold_time:
          default: 90
          description: Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. Default is 90.
          maximum: 65535
          minimum: 0
          type: integer
        import:
          description: Routing policy applied to routes imported by this BGP session
          type: string
        import_policy:
          description: Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. Default import policies if no per-neighbor policies defined
          type: string
        local_as:
          $ref: '#/components/schemas/bgp_local_as'
          description: Required if `via`==`lan`, `via`==`tunnel` or `via`==`wan`; local BGP Autonomous System (AS) number
        neighbor_as:
          $ref: '#/components/schemas/bgp_as'
          description: Default BGP neighbor Autonomous System (AS) number for this session
        neighbors:
          additionalProperties:
            $ref: '#/components/schemas/bgp_config_neighbors'
          description: Required if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. If per-neighbor as is desired. Property key is the neighbor address
          type: object
        networks:
          $ref: '#/components/schemas/bgp_config_networks'
          description: Optional if `via`==`lan`; networks where BGP neighbors can connect to or from
        no_private_as:
          default: false
          description: Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. If true, we will not advertise private ASNs (AS 64512-65534) to this neighbor
          type: boolean
        no_readvertise_to_overlay:
          default: false
          description: Optional if `via`==`lan`, `via`==`tunnel` or `via`==`wan`. By default, we'll re-advertise all learned BGP routers toward overlay
          type: boolean
        tunnel_name:
          description: Optional if `via`==`tunnel`; tunnel name used for this BGP session
          type: string
        type:
          $ref: '#/components/schemas/bgp_config_type'
          description: Required if `via`==`lan`, `via`==`tunnel` or `via`==`wan`; BGP session type, internal or external
        via:
          $ref: '#/components/schemas/bgp_config_via'
          description: Transport used for this BGP session, such as LAN, tunnel, VPN, or WAN
        vpn_name:
          description: Optional if `via`==`vpn`; VPN name used for this BGP session
          type: string
        wan_name:
          description: Optional if `via`==`wan`; WAN interface name used for this BGP session
          type: string
      required:
      - via
      type: object
    switch_port_usage_dot1x:
      description: 'Only if `mode`!=`dynamic`. If dot1x is desired, set to dot1x. enum: `dot1x`'
      enum:
      - dot1x
      type:
      - string
      - 'null'
    switch_port_usage_networks:
      description: Only if `mode`==`trunk`, the list of network/vlans
      items:
        type: string
      type: array
    sw_routing_policy_terms:
      description: Ordered switch routing policy terms; at least one term is required
      items:
        $ref: '#/components/schemas/sw_routing_policy_term'
      minItems: 1
      type: array
      uniqueItems: true
    switch_port_usage_dynamic_vlan_networks:
      description: Only if `mode`!=`dynamic` and `port_auth`==`dot1x`, if dynamic vlan is used, specify the possible networks/vlans RADIUS can return
      examples:
      - - corp
        - user
      items:
        type: string
      type: array
    gw_routing_policy:
      additionalProperties: false
      description: Gateway routing policy made of ordered match-action terms
      properties:
        terms:
          $ref: '#/components/schemas/gw_routing_policy_terms'
          description: Ordered terms evaluated by this gateway routing policy
      type: object
    switch_port_usage_mtu:
      anyOf:

# --- truncated at 32 KB (298 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mist/refs/heads/main/openapi/mist-sites-device-profiles-api-openapi.yml