Juniper Mist AI 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-ai-sites-device-profiles-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  contact:
    email: tmunzer@juniper.net
    name: Thomas Munzer
  description: '> Version: **2604.1.1**

    >

    > Date: **May 13, 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: 2604.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: []
- basicAuth: []
- basicAuth: []
  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:
    protect_re_custom_protocol:
      default: any
      description: 'enum: `any`, `icmp`, `tcp`, `udp`'
      enum:
      - any
      - icmp
      - tcp
      - udp
      type: string
    service_policy_ewf_rule_profile:
      default: strict
      description: 'enum: `critical`, `standard`, `strict`'
      enum:
      - critical
      - standard
      - strict
      type: string
    strings:
      items:
        type: string
      type: array
      uniqueItems: true
    network_internal_access:
      additionalProperties: false
      properties:
        enabled:
          type: boolean
      type: object
    tunnel_config_node_remote_ids:
      description: Only if `provider`==`jse-ipsec` or `provider`==`custom-ipsec`
      items:
        type: string
      type: array
    service_policy_secintel_profile:
      default: default
      description: 'enum: `default`, `standard`, `strict`'
      enum:
      - default
      - standard
      - strict
      type: string
    network_internet_access:
      additionalProperties: false
      description: Whether this network has direct internet access
      properties:
        create_simple_service_policy:
          default: false
          type: boolean
        destination_nat:
          $ref: '#/components/schemas/network_internet_access_destination_nat'
        enabled:
          type: boolean
        restricted:
          default: false
          description: By default, all access is allowed, to only allow certain traffic, make `restricted`=`true` and define service_policies
          type: boolean
        static_nat:
          $ref: '#/components/schemas/network_internet_access_static_nat'
      type: object
    gw_routing_policy_term:
      additionalProperties: false
      properties:
        actions:
          $ref: '#/components/schemas/gw_routing_policy_term_action'
        matching:
          $ref: '#/components/schemas/gw_routing_policy_term_matching'
      type: object
    gateway_extra_route6:
      additionalProperties: false
      properties:
        via:
          format: ipv6
          type: string
      type: object
    tunnel_config:
      additionalProperties: false
      properties:
        auto_provision:
          $ref: '#/components/schemas/tunnel_config_auto_provision'
        ike_lifetime:
          description: Only if `provider`==`custom-ipsec`
          type: integer
        ike_mode:
          $ref: '#/components/schemas/tunnel_config_ike_mode'
        ike_proposals:
          $ref: '#/components/schemas/tunnel_config_ike_proposals'
        ipsec_lifetime:
          description: If `provider`==`custom-ipsec`
          type: integer
        ipsec_proposals:
          $ref: '#/components/schemas/tunnel_config_ipsec_proposals'
        local_id:
          description: Required if `provider`==`zscaler-ipsec`, `provider`==`jse-ipsec` or `provider`==`custom-ipsec`
          type: string
        local_subnets:
          $ref: '#/components/schemas/tunnel_config_local_subnets'
        mode:
          $ref: '#/components/schemas/tunnel_config_tunnel_mode'
        networks:
          $ref: '#/components/schemas/tunnel_config_networks'
        primary:
          $ref: '#/components/schemas/tunnel_config_node'
        probe:
          $ref: '#/components/schemas/tunnel_config_probe'
        protocol:
          $ref: '#/components/schemas/tunnel_config_protocol'
        provider:
          $ref: '#/components/schemas/tunnel_config_provider'
        psk:
          description: Required if `provider`==`zscaler-ipsec`, `provider`==`jse-ipsec` or `provider`==`custom-ipsec`
          type: string
        remote_subnets:
          $ref: '#/components/schemas/tunnel_config_remote_subnets'
        secondary:
          $ref: '#/components/schemas/tunnel_config_node'
        version:
          $ref: '#/components/schemas/tunnel_config_version'
      type: object
    sw_routing_policy_term_matching:
      additionalProperties: false
      description: zero or more criteria/filter can be specified to match the term, all criteria have to be met
      properties:
        as_path:
          $ref: '#/components/schemas/routing_policy_term_matching_as_path'
        community:
          $ref: '#/components/schemas/routing_policy_term_matching_community'
        prefix:
          $ref: '#/components/schemas/routing_policy_term_matching_prefix'
        protocol:
          $ref: '#/components/schemas/sw_routing_policy_term_matching_protocol'
      type: object
    tunnel_config_tunnel_mode:
      default: active-standby
      description: 'Required if `provider`==`zscaler-gre`, `provider`==`jse-ipsec`. enum: `active-active`, `active-standby`'
      enum:
      - active-active
      - active-standby
      type: string
    gw_routing_policy_terms:
      description: zero or more criteria/filter can be specified to match the term, all criteria have to be met
      items:
        $ref: '#/components/schemas/gw_routing_policy_term'
      type: array
      uniqueItems: true
    gateway_port_dsl_type:
      default: vdsl
      description: 'if `wan_type`==`dsl`. enum: `adsl`, `vdsl`'
      enum:
      - adsl
      - vdsl
      type: string
    acl_policy_src_tags:
      description: "ACL Policy Source Tags:\n  - for GBP-based policy, all src_tags and dst_tags have to be gbp-based\n  - for ACL-based policy, `network` is required in either the source or destination so that we know where to attach the policy to"
      items:
        examples:
        - macs
        type: string
      type: array
    snmpv3_config_target_address:
      items:
        $ref: '#/components/schemas/snmpv3_config_target_address_item'
      type: array
    acl_tags:
      additionalProperties:
        $ref: '#/components/schemas/acl_tag'
      description: ACL Tags to identify traffic source or destination. Key name is the tag name
      type: object
    tacacs_default_role:
      default: none
      description: 'enum: `admin`, `helpdesk`, `none`, `read`'
      enum:
      - admin
      - helpdesk
      - none
      - read
      type: string
    switch_port_usage_mac_auth_protocol:
      default: eap-md5
      description: 'Only if `mode`!=`dynamic` and `enable_mac_auth` ==`true`. This type is ignored if mist_nac is enabled. enum: `eap-md5`, `eap-peap`, `pap`'
      enum:
      - eap-md5
      - eap-peap
      - pap
      type: string
    gateway_port_config_ip_config:
      additionalProperties: false
      description: Junos IP Config
      properties:
        dns:
          $ref: '#/components/schemas/gateway_ip_config_dns_servers'
        dns_suffix:
          $ref: '#/components/schemas/gateway_ip_config_dns_suffix'
        gateway:
          description: Except for out-of_band interface (vme/em0/fxp0). Interface Default Gateway IP Address (i.e. "192.168.1.1") or a Variable (i.e. "{{myvar}}")
          examples:
          - 192.168.1.1
          type: string
        gateway6:
          description: Except for out-of_band interface (vme/em0/fxp0). Interface Default Gateway IPv6 Address (i.e. "2001:db8::1") or a Variable (i.e. "{{myvar}}")
          examples:
          - 2001:db8::1
          type: string
        ip:
          description: Interface IP Address (i.e. "192.168.1.8") or a Variable (i.e. "{{myvar}}")
          examples:
          - 192.168.1.8
          format: ipv4
          type: string
        ip6:
          description: Interface IPv6 Address (i.e. "2001:db8::123") or a Variable (i.e. "{{myvar}}")
          examples:
          - 2001:db8::123
          format: ipv6
          type: string
        netmask:
          description: Used only if `subnet` is not specified in `networks`. Interface Netmask (i.e. "/24") or a Variable (i.e. "{{myvar}}")
          examples:
          - /24
          type: string
        netmask6:
          description: Used only if `subnet` is not specified in `networks`. Interface IPv6 Netmask (i.e. "/64") or a Variable (i.e. "{{myvar}}")
          examples:
          - /64
          type: string
        network:
          description: Optional, the network to be used for mgmt
          type: string
        poser_password:
          description: If `type`==`pppoe`
          type: string
        pppoe_auth:
          $ref: '#/components/schemas/gateway_wan_ppoe_auth'
        pppoe_username:
          description: If `type`==`pppoe`
          type: string
        type:
          $ref: '#/components/schemas/gateway_wan_type'
        type6:
          $ref: '#/components/schemas/gateway_wan_type6'
      type: object
    gateway_wan_probe_override:
      additionalProperties: false
      description: Only if `usage`==`wan`
      properties:
        ip6s:
          $ref: '#/components/schemas/strings'
        ips:
          $ref: '#/components/schemas/strings'
        probe_profile:
          $ref: '#/components/schemas/gateway_wan_probe_override_probe_profile'
      type: object
    snmp_vacm_access_item_prefix_list_item_level:
      description: 'enum: `authentication`, `none`, `privacy`'
      enum:
      - authentication
      - none
      - privacy
      type: string
    radsec_servers:
      description: List of RadSec Servers. Only if not Mist Edge.
      items:
        $ref: '#/components/schemas/radsec_server'
      type: array
      uniqueItems: true
    extra_route:
      additionalProperties: false
      properties:
        discard:
          default: false
          description: This takes precedence
          type: boolean
        metric:
          examples:
          - null
          maximum: 2147483647
          minimum: 0
          type:
          - integer
          - 'null'
        next_qualified:
          additionalProperties:
            $ref: '#/components/schemas/extra_route_next_qualified_properties'
          examples:
          - 10.3.1.1:
              metric: null
              preference: 40
          type: object
        no_resolve:
          default: false
          type: boolean
        preference:
          examples:
          - 30
          maximum: 2147483647
          minimum: 0
          type:
          - integer
          - 'null'
        via:
          $ref: '#/components/schemas/next_hop_via'
      type: object
    gateway_port_lte_auth:
      default: none
      description: 'if `wan_type`==`lte`. enum: `chap`, `none`, `pap`'
      enum:
      - chap
      - none
      - pap
      type: string
    gw_routing_policy_term_action_add_community:
      items:
        examples:
        - '3900190'
        type: string
      type: array
    snmp_usm_user:
      additionalProperties: false
      properties:
        authentication_password:
          description: Not required if `authentication_type`==`authentication-none`. Include alphabetic, numeric, and special characters, but it cannot include control characters.
          minLength: 7
          type: string
        authentication_type:
          $ref: '#/components/schemas/snmp_usm_user_authentication_type'
        encryption_password:
          description: Not required if `encryption_type`==`privacy-none`. Include alphabetic, numeric, and special characters, but it cannot include control characters
          minLength: 8
          type: string
        encryption_type:
          $ref: '#/components/schemas/snmp_usm_user_encryption_type'
        name:
          type: string
      type: object
    routing_policy_term_matching_as_path:
      items:
        $ref: '#/components/schemas/bgp_as'
      type: array
    tunnel_provider_options:
      additionalProperties: false
      properties:
        jse:
          $ref: '#/components/schemas/tunnel_provider_options_jse'
        prisma:
          $ref: '#/components/schemas/tunnel_provider_options_prisma'
        zscaler:
          $ref: '#/components/schemas/tunnel_provider_options_zscaler'
      type: object
    radius_acct_server:
      additionalProperties: false
      properties:
        host:
          description: IP/ hostname of RADIUS server
          examples:
          - 1.2.3.4
          type: string
        keywrap_enabled:
          type: boolean
        keywrap_format:
          $ref: '#/components/schemas/radius_keywrap_format'
        keywrap_kek:
          examples:
          - '1122334455'
          type: string
        keywrap_mack:
          examples:
          - '1122334455'
          type: string
        port:
          $ref: '#/components/schemas/radius_acct_port'
        secret:
          description: Secret of RADIUS server
          examples:
          - testing123
          format: password
          type: string
      required:
      - host
      - secret
      type: object
    network_internet_access_static_nat:
      additionalProperties:
        $ref: '#/components/schemas/network_internet_access_static_nat_property'
      description: Property key may be an External IP Address (i.e. "63.16.0.3"), a CIDR (i.e. "63.16.0.12/20") or a Variable (i.e. "{{myvar}}")
      type: object
    idp_profile:
      properties:
        base_profile:
          $ref: '#/components/schemas/idp_profile_base_profile'
        created_time:
          $ref: '#/components/schemas/created_time'
        id:
          $ref: '#/components/schemas/id'
        modified_time:
          $ref: '#/components/schemas/modified_time'
        name:
          examples:
          - relaxed
          type: string
        org_id:
          $ref: '#/components/schemas/org_id'
        overwrites:
          $ref: '#/components/schemas/idp_profile_overwrites'
      type: object
    remote_syslog:
      additionalProperties: false
      properties:
        archive:
          $ref: '#/components/schemas/remote_syslog_archive'
        cacerts:
          $ref: '#/components/schemas/remote_syslog_cacerts'
        console:
          $ref: '#/components/schemas/remote_syslog_console'
        enabled:
          default: false
          type: boolean
        files:
          $ref: '#/components/schemas/remote_syslog_files'
        network:
          description: If source_address is configured, will use the vlan firstly otherwise use source_ip
          examples:
          - default
          type: string
        send_to_all_servers:
          default: false
          type: boolean
        servers:
          $ref: '#/components/schemas/remote_syslog_servers'
        time_format:
          $ref: '#/components/schemas/remote_syslog_time_format'
        users:
          $ref: '#/components/schemas/remote_syslog_users'
      type: object
    switch_port_usage_dynamic_rule_equals_any:
      description: Use `equals_any` to match any item in a list
      items:
        type: string
      type: array
    gateway_wan_ppoe_auth:
      default: none
      description: 'if `type`==`pppoe`. enum: `chap`, `none`, `pap`'
      enum:
      - chap
      - none
      - pap
      type: string
    snmp_config_trap_group_targets:
      items:
        examples:
        - 172.29.158.19
        type: string
      type: array
    network_source_nat:
      additionalProperties: false
      description: If `routed`==`false` (usually at Spoke), but some hosts needs to be reachable from Hub
      properties:
        external_ip:
          examples:
          - 172.16.0.8/30
          type: string
      type: object
    network_tenant_addresses:
      items:
        description: The user/tenant IP Address (i.e. "192.168.70.30"), an Subnet (i.e. "192.168.70.0/24") or a Variable (i.e. "{{myvar}}")
        examples:
        - 192.168.70.30
        type: string
      type: array
    snmpv3_config_target_param:
      additionalProperties: false
      properties:
        message_processing_model:
          $ref: '#/components/schemas/snmpv3_config_target_param_mess_process_model'
        name:
          type: string
        notify_filter:
          description: Refer to profile-name in notify_filter
          type: string
        security_level:
          $ref: '#/components/schemas/snmpv3_config_target_param_security_level'
        security_model:
          $ref: '#/components/schemas/snmpv3_config_target_param_security_model'
        security_name:
          description: Refer to security_name in usm
          examples:
          - m01620
          type: string
      type: object
    gateway_ip_config_property_second_ips:
      description: Optional list of secondary IPs in CIDR format
      examples:
      - - 192.168.50.1/24
        - 192.168.60.1/26
      items:
        type: string
      type: array
    ap_switch_setting_port_vlan_id:
      anyOf:
      - maximum: 4094
        minimum: 1
        type: integer
      - type: string
      description: Native VLAN id, optional
    junos_port_config:
      additionalProperties: false
      description: Switch port config
      properties:
        ae_disable_lacp:
          description: To disable LACP support for the AE interface
          type: boolean
        ae_idx:
          description: Users could force to use the designated AE name
          type: integer
        ae_lacp_force_up:
          default: false
          description: 'If `aggregated`==`true`, sets the state of the interface as UP when the peer has limited LACP capability. Use case: When a device connected to this AE port is ZTPing for the first time, it will not have LACP configured on the other end. **Note:** Turning this on will enable force-up on one of the interfaces in the bundle only'
          type: boolean
        ae_lacp_slow:
          description: To use slow timeout
          type: boolean
        aggregated:
          default: false
          type: boolean
        critical:
          default: false
          description: To generate port up/down alarm
          type: boolean
        description:
          type: string
        disable_autoneg:
          default: false
          description: If `speed` and `duplex` are specified, whether to disable autonegotiation
          type: boolean
        duplex:
          $ref: '#/components/schemas/junos_port_config_duplex'
        dynamic_usage:
          description: Enable dynamic usage for this port. Set to `dynamic` to enable.
          type:
          - string
          - 'null'
        esilag:
          type: boolean
        mtu:
          default: 1514
          description: Media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation
          type: integer
        networks:
          description: List of network names. Required if `usage`==`inet`
          items:
            type: string
          type: array
        no_local_overwrite:
          default: true
          description: Prevent helpdesk to override the port config
          type: boolean
        poe_disabled:
          default: false
          type: boolean
        port_network:
          description: Required if `usage`==`vlan_tunnel`. Q-in-Q tunneling using All-in-one bundling. This also enables standard L2PT for interfaces that are not encapsulation tunnel interfaces and uses MAC rewrite operation. [View more information](https://www.juniper.net/documentation/us/en/software/junos/multicast-l2/topics/topic-map/q-in-q.html#id-understanding-qinq-tunneling-and-vlan-translation)
          type: string
        speed:
          $ref: '#/components/schemas/junos_port_config_speed'
        usage:
          description: Port usage name. For Q-in-Q, use `vlan_tunnel`. If EVPN is used, use `evpn_uplink`or `evpn_downlink`
          type: string
      required:
      - usage
      type: object
    tunnel_config_ike_mode:
      default: main
      description: 'Only if `provider`==`custom-ipsec`. enum: `aggressive`, `main`'
      enum:
      - aggressive
      - main
      type: string
    tunnel_config_auto_provision_lat_lng:
      additionalProperties: false
      description: API override for POP selection
      properties:
        lat:
          examples:
          - 37.295833
          format: double
          type: number
        lng:
          examples:
          - -122.032946
          format: double
          type: number
      required:
      - lat
      - lng
      type: object
    sw_routing_policy_term:
      additionalProperties: false
      properties:
        actions:
          $ref: '#/components/schemas/sw_routing_policy_term_action'
        matching:
          $ref: '#/components/schemas/sw_routing_policy_term_matching'
        name:
          type: string
      required:
      - name
      type: object
    snmpv3_config:
      additionalProperties: false
      properties:
        notify:
          $ref: '#/components/schemas/snmpv3_config_notify'
        notify_filter:
          $ref: '#/components/schemas/snmpv3_config_notify_filter'
        target_address:
          $ref: '#/components/schemas/snmpv3_config_target_address'
        target_parameters:
          $ref: '#/components/schemas/snmpv3_config_target_params'
        usm:
          $ref: '#/components/schemas/snmp_usms'
        vacm:
          $ref: '#/components/schemas/snmp_vacm'
      type: object
    dhcpd_config_type6:
      default: none
      description: 'enum: `local` (DHCP Server), `none`, `relay` (DHCP Relay)'
      enum:
      - local
      - none
      - relay
      type: string
    ap_radio_band24:
      additionalProperties: false
      description: Radio Band AP settings
      properties:
        allow_rrm_disable:
          default: false
          type: boolean
        ant_gain:
          default: 0
          maximum: 10
          minimum: 0
          type:
          - integer
          - 'null'
        antenna_mode:
          $ref: '#/components/schemas/radio_band_antenna_mode'
        bandwidth:
          $ref: '#/components/schemas/dot11_bandwidth24'
        channel:
          default: null
          description: For Device. (primary) channel for the band, 0 means using the Site Setting
          examples:
          - 6
          maximum: 13
          minimum: 1
          type:
          - integer
          - 'null'
        channels:
          $ref: '#/components/schemas/radio_band_channels'
        disabled:
          default: false
          description: Whether to disable the radio
          type: boolean
        power:
          default: null
          description: 'TX power of the radio. For Devices, 0 means auto. -1 / -2 / -3 / …: treated as 0 / -1 / -2 / …'
          examples:
          - 3
          maximum: 25
          minimum: 3
          type:
          - integer
          - 'null'
        power_max:
          default: 17
          description: When power=0, max tx power to use, HW-specific values will be used if not set
          maximum: 18
          minimum: 3
          type:
          - integer
          - 'null'
        power_min:
          default: 8
          description: When power=0, min tx power to use, HW-specific values will be used if not set
          maximum: 18
          minimum: 3
          type:
          - integer
          - 'null'
        preamble:
          $ref: '#/components/schemas/radio_band_preamble'
      type: object
    radius_config:
      additionalProperties: false
      description: Junos Radius config
      properties:
        acct_interim_interval:
          default: 0
          description: How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the radius server, 600 and up is recommended when enabled
          maximum: 65535
          minimum: 0
          type: integer
        acct_servers:
          $ref: '#/components/schemas/radius_acct_servers'
        auth_servers:
          $ref: '#/components/schemas/radius_auth_servers'
        auth_servers_retries:
          default: 3
          description: radius auth session retries
          type: integer
        auth_servers_timeout:
          default: 5
          description: radius auth session timeout
          type: integer
        coa_enabled:
          default: false
          type: boolean
        coa_port:
          default: 3799
          maximum: 65535
          minimum: 1
          type: integer
        network:
          description: use `network`or `source_ip`, which network the RADIUS server resides, if there's static IP for this network, we'd use it as source-ip
          type: string
        source_ip:
          description: use `network`or `source_ip`
          type: string
      type: object
    switch_port_mirroring_ingress_port_ids:
      description: At least one of the `input_port_ids_ingress`, `input_port_ids_egress` or `input_networks_ingress ` should be specified
      items:
        examples:
        - ge-0/0/3
        type: string
      type: array
    gateway_extra_routes6:
      additionalProperties:
        $ref: '#/components/schemas/gateway_extra_route6'
      description: Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64"), the destination Network name or a variable (e.g. "{{myvar}}")
      examples:
      - 2a02:1234:420a:10c9::/64:
          via: 2a02:1234:200a::100
      type: object
    dhcpd_config_dns_servers:
      description: If `type`==`local` or `type6`==`local` - optional, if not defined, system one will be used
      examples:
      - - 8.8.8.8
        - 4.4.4.4
        - 2001:4860:4860::8888
      items:
        type: string
      type: array
    ap_led:
      additionalProperties: false
      description: LED AP settings
      properties:
        brightness:
          default: 255
          examples:
          - 255
          maximum: 255
          minimum: 0
          type: integer
        enabled:
          default: true
          type: boolean
      type: object
    remote_syslog_cacerts:
      examples:
      - - '-----BEGIN CERTIFICATE-----\nMIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE\n-----END CERTIFICATE-----'
        - '-----BEGIN CERTIFICATE-----\nBhMCRVMxFDASBgNVBAoMC1N0YXJ0Q29tIENBMSwwKgYDVn-----END CERTIFICATE-----'
      items:
        type: string
      type: array
    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
    ospf_area_network_auth_type:
      default: none
      description: 'auth type. enum: `md5`, `none`, `password`'
      enum:
      - md5
      - none
      - password
      examples:
      - md5
      type: string
    gateway_extra_route:
      additionalProperties: false
      properties:
        via:
          format: ipv4
          type: string
      type: object
    snmp_vacm_security_to_group:
      additionalProperties: false
      properties:
        content:
          $ref: '#/components/schemas/snmp_vacm_security_to_group_content'
        security_model:
          $ref: '#/components/schemas/snmp_vacm_security_model'
      type: object
    dot11_bandwidth5:
      default: 40
      description: 'channel width for the 5GHz band. enum: `0`(disabled, response only), `20`, `40`, `80`'
      enum:
      - 0
      - 20
      - 40
      - 80
      examples:
      - 40
      type: integer
    tunnel_provider_options_jse:
      additionalProperties: false
      description: For jse-ipsec, this allows provisioning of adequate resource on JSE. Make sure adequate licenses are added
      properties:
        num_users:
          examples:
          - 5
          type: integer
        org_name:
          description: JSE Organization name. The list of available organizations can be retrieved with the [Get Org JSE Info](/#operations/getOrgJseInfo) API Call
          examples:
          - JSE_ORG1
          type: string
      type: object
    network_vpn_access_destination_nat_property:
      additionalProperties: false
      properties:
        internal_ip:
          description: The Destination NAT destination IP Address. Must be an IP (i.e. "192.168.70.30") or a Variable (i.e. "{{myvar}}")
          examples:
          - 192.168.70.30
          type: string
        name:
          examples:
          - web server
          type: string
        port:
          examples:
          - '443'
          type: string
      type: object
    tacacs_acct_servers:
      items:
        $ref: '#/components/schemas/tacacs_acct_server'
      type: array
    protect_re_allowed_services:
      description: Optionally, services we'll allow
      examples:
      - - icmp
        - ssh
      items:
        $ref: '#/components/schemas/protect_re_allowed_service'
      type: array
    dhcpd_config_servers6:
      description: If `type6`==`relay`
      examples:
      - - 2607:f8b0:4005:808::64
      items:
        type: string
      type: array
    switch_dhcpd_config_options:
      additionalProperties:
        $ref: '#/components/schemas/dhcpd_config_option'
      description: If `type`==`server` or `type6`==`server`. Property key is the DHCP option number
      type: object
    a

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