Juniper Mist AI Sites Network Templates API

The API Endpoints for the Network Templates 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-network-templates-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 Network Templates 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 Network Templates 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 Network Templates
paths:
  /api/v1/sites/{site_id}/networktemplates/derived:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: Get the list of derived Network Templates a Site
      operationId: listSiteNetworkTemplatesDerived
      parameters:
      - description: Whether resolve the site variables
        in: query
        name: resolve
        schema:
          type: boolean
      responses:
        '200':
          $ref: '#/components/responses/Networktemplate'
        '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: listSiteNetworkTemplatesDerived
      tags:
      - Sites Network Templates
components:
  schemas:
    tacacs_auth_servers:
      items:
        $ref: '#/components/schemas/tacacs_auth_server'
      type: array
    protect_re_custom_protocol:
      default: any
      description: 'enum: `any`, `icmp`, `tcp`, `udp`'
      enum:
      - any
      - icmp
      - tcp
      - udp
      type: string
    switch_vrf_instance:
      additionalProperties: false
      examples:
      - extra_routes:
          0.0.0.0/0:
            via: 192.168.31.1
        networks:
        - guest
      properties:
        aggregate_routes:
          $ref: '#/components/schemas/aggregate_routes'
        aggregate_routes6:
          $ref: '#/components/schemas/aggregate_routes6'
        evpn_auto_loopback_subnet:
          examples:
          - 100.101.0.0/24
          type: string
        evpn_auto_loopback_subnet6:
          type: string
        extra_routes:
          $ref: '#/components/schemas/vrf_extra_routes'
        extra_routes6:
          $ref: '#/components/schemas/vrf_extra_routes6'
        networks:
          $ref: '#/components/schemas/strings'
      type: object
    switch_port_usage_reauth_interval:
      anyOf:
      - default: 3600
        maximum: 65535
        minimum: 10
        type: integer
      - type: string
      description: 'Only if `mode`!=`dynamic` and `port_auth`=`dot1x` reauthentication interval range (min: 10, max: 65535, default: 3600). Set to 0 to disable reauthentication (no-reauthentication).'
    acl_tag_macs:
      description: "Required if \n- `type`==`mac`\n- `type`==`static_gbp` if from matching mac"
      items:
        type: string
      type: array
    strings:
      items:
        type: string
      type: array
      uniqueItems: true
    remote_syslog_server:
      additionalProperties: false
      properties:
        contents:
          $ref: '#/components/schemas/remote_syslog_contents'
        explicit_priority:
          type: boolean
        facility:
          $ref: '#/components/schemas/remote_syslog_facility'
        host:
          examples:
          - syslogd.internal
          type: string
        match:
          examples:
          - '!alarm|ntp|errors.crc_error[chan]'
          type: string
        port:
          $ref: '#/components/schemas/remote_syslog_server_port'
        protocol:
          $ref: '#/components/schemas/remote_syslog_server_protocol'
        routing_instance:
          examples:
          - routing-instance-name
          type: string
        server_name:
          description: Name of the server
          examples:
          - syslogd.internal
          type: string
        severity:
          $ref: '#/components/schemas/remote_syslog_severity'
        source_address:
          description: If source_address is configured, will use the vlan firstly otherwise use source_ip
          type: string
        structured_data:
          type: boolean
        tag:
          type: string
      type: object
    snmp_vacm_access_item_type:
      description: 'enum: `context_prefix`, `default_context_prefix`'
      enum:
      - context_prefix
      - default_context_prefix
      type: string
    remote_syslog_archive:
      additionalProperties: false
      properties:
        files:
          $ref: '#/components/schemas/remote_syslog_archive_files'
        size:
          examples:
          - 5m
          type: string
      type: object
    junos_port_config_duplex:
      default: auto
      description: 'enum: `auto`, `full`, `half`'
      enum:
      - auto
      - full
      - half
      type: string
    routing_policy_term_matching_community:
      items:
        examples:
        - '3900062'
        type: string
      type: array
    switch_bgp_config_neighbor:
      additionalProperties: false
      properties:
        export_policy:
          description: Export policy must match one of the policy names defined in the `routing_policies` property.
          type: string
        hold_time:
          $ref: '#/components/schemas/switch_bgp_config_hold_time'
        import_policy:
          description: Import policy must match one of the policy names defined in the `routing_policies` property.
          type: string
        multihop_ttl:
          maximum: 255
          minimum: 1
          type: integer
        neighbor_as:
          $ref: '#/components/schemas/bgp_as'
          description: Autonomous System (AS) number of the BGP neighbor. For internal BGP, this must match `local_as`. For external BGP, this must differ from `local_as`.
      required:
      - neighbor_as
      type: object
    snmpv3_config_notify_type:
      description: 'enum: `inform`, `trap`'
      enum:
      - inform
      - trap
      type: string
    switch_port_usage_mtu:
      anyOf:
      - maximum: 9216
        minimum: 256
        type: integer
      - type: string
      - type: 'null'
      description: Only if `mode`!=`dynamic` media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation. The default value is 1514.
    radius_acct_port:
      anyOf:
      - maximum: 65545
        minimum: 1
        type: integer
      - type: string
      description: Radius Auth Port, value from 1 to 65535, default is 1813
    switch_bgp_config_networks:
      description: List of network names for BGP configuration. When a network is specified, a BGP group will be added to the VRF that network is part of.
      items:
        type: string
      type: array
    tacacs_acct_server:
      additionalProperties: false
      properties:
        host:
          type: string
        port:
          type: string
        secret:
          format: password
          type: string
        timeout:
          default: 10
          type: integer
      type: object
    remote_syslog_severity:
      default: any
      description: 'enum: `alert`, `any`, `critical`, `emergency`, `error`, `info`, `notice`, `warning`'
      enum:
      - alert
      - any
      - critical
      - emergency
      - error
      - info
      - notice
      - warning
      type: string
    radius_coa_port:
      anyOf:
      - maximum: 65545
        minimum: 1
        type: integer
      - type: string
      description: Radius CoA Port, value from 1 to 65535, default is 3799
    switch_port_usage_networks:
      description: Only if `mode`==`trunk`, the list of network/vlans
      items:
        type: string
      type: array
    protect_re_custom_subnet:
      items:
        examples:
        - 10.1.2.0/24
        type: string
      type: array
    switch_bgp_config_hold_time:
      description: Hold time is three times the interval at which keepalive messages are sent. It indicates to the peer the length of time that it should consider the sender valid. Must be 0 or a number in the range 3-65535.
      oneOf:
      - $ref: '#/components/schemas/switch_bgp_config_hold_time_zero'
      - $ref: '#/components/schemas/switch_bgp_config_hold_time_integer'
    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
    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
    switch_port_mirroring_egress_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
    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
    routing_policy_local_preference:
      anyOf:
      - type: string
      - maximum: 4294967295
        minimum: 1
        type: integer
      description: Optional, for an import policy, local_preference can be changed, value in range 1-4294967294. Can be a Variable (e.g. `{{bgp_as}}`)
    acl_tag:
      additionalProperties: false
      description: Resource tags (`type`==`resource` or `type`==`gbp_resource`) can only be used in `dst_tags`
      properties:
        ether_types:
          $ref: '#/components/schemas/acl_tag_ether_types'
        gbp_tag:
          description: "Required if\n  - `type`==`dynamic_gbp` (gbp_tag received from RADIUS)\n  - `type`==`gbp_resource`\n  - `type`==`static_gbp` (applying gbp tag against matching conditions)"
          type: integer
        macs:
          $ref: '#/components/schemas/acl_tag_macs'
        network:
          description: "If:\n  * `type`==`mac` (optional. default is `any`)\n  * `type`==`subnet` (optional. default is `any`)\n  * `type`==`network`\n  * `type`==`resource` (optional. default is `any`)\n  * `type`==`static_gbp` if from matching network (vlan)"
          type: string
        port_usage:
          description: Required if `type`==`port_usage`
          type: string
        radius_group:
          description: "Required if:\n  * `type`==`radius_group`\n  * `type`==`static_gbp`\nif from matching radius_group"
          type: string
        specs:
          $ref: '#/components/schemas/acl_tag_specs'
        subnets:
          $ref: '#/components/schemas/acl_tag_subnets'
        type:
          $ref: '#/components/schemas/acl_tag_type'
      required:
      - type
      type: object
    snmp_usm_engine_type:
      description: 'enum: `local_engine`, `remote_engine`'
      enum:
      - local_engine
      - remote_engine
      type: string
    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
    snmp_config_trap_version:
      default: v2
      description: 'enum: `all`, `v1`, `v2`'
      enum:
      - all
      - v1
      - v2
      type: string
    snmp_config_client_list_clients:
      items:
        examples:
        - 151.140.101.218/32
        type: string
      type: array
    snmp_vacm_access_item_prefix_list_item_level:
      description: 'enum: `authentication`, `none`, `privacy`'
      enum:
      - authentication
      - none
      - privacy
      type: string
    acl_policy_action:
      additionalProperties: false
      properties:
        action:
          $ref: '#/components/schemas/allow_deny'
        dst_tag:
          examples:
          - corp
          type: string
      required:
      - dst_tag
      type: object
    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
    snmp_vacm_security_to_group_content_item:
      additionalProperties: false
      properties:
        group:
          description: Refer to group_name under access
          type: string
        security_name:
          type: string
      type: object
    switch_mist_nac:
      additionalProperties: false
      description: Enable mist_nac to use RadSec
      properties:
        enabled:
          type: boolean
        network:
          type: string
      type: object
    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
    response_http401:
      additionalProperties: false
      properties:
        detail:
          examples:
          - Authentication credentials were not provided.
          type: string
      type: object
    routing_policy_term_matching_as_path:
      items:
        $ref: '#/components/schemas/bgp_as'
      type: array
    snmpv3_config_target_param_security_model:
      description: 'enum: `usm`, `v1`, `v2c`'
      enum:
      - usm
      - v1
      - v2c
      type: string
    snmp_usm_user_authentication_type:
      description: 'sha224, sha256, sha384, sha512 are supported in 21.1 and newer release. enum: `authentication-md5`, `authentication-none`, `authentication-sha`, `authentication-sha224`, `authentication-sha256`, `authentication-sha384`, `authentication-sha512`'
      enum:
      - authentication-md5
      - authentication-none
      - authentication-sha
      - authentication-sha224
      - authentication-sha256
      - authentication-sha384
      - authentication-sha512
      type: string
    snmpv3_config_notify_items:
      additionalProperties: false
      properties:
        name:
          type: string
        tag:
          type: string
        type:
          $ref: '#/components/schemas/snmpv3_config_notify_type'
      type: object
    switch_matching_rule_ip_config:
      additionalProperties: false
      description: In-Band Management interface configuration
      properties:
        network:
          description: VLAN Name for the management interface
          type: string
        type:
          $ref: '#/components/schemas/ip_type'
      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
    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
    acl_tag_subnets:
      description: "If \n- `type`==`subnet` \n- `type`==`resource` (optional. default is `any`)\n- `type`==`static_gbp` if from matching subnet"
      items:
        type: string
      type: array
    radius_auth_port:
      anyOf:
      - maximum: 65545
        minimum: 1
        type: integer
      - type: string
      description: Radius Auth Port, value from 1 to 65535, default is 1812
    additional_config_cmds:
      description: 'additional CLI commands to append to the generated Junos config. **Note**: no check is done'
      items:
        description: JUNOS "set" command to add to the generated configuration
        examples:
        - set snmp community public
        type: string
      type: array
    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
    snmp_config_trap_group_targets:
      items:
        examples:
        - 172.29.158.19
        type: string
      type: array
    snmp_config:
      additionalProperties: false
      properties:
        client_list:
          $ref: '#/components/schemas/snmp_config_client_lists'
        contact:
          examples:
          - cns@juniper.net
          type: string
        description:
          examples:
          - Juniper QFX Series Switch - 1K_5LA
          type: string
        enabled:
          default: true
          type: boolean
        engine_id:
          $ref: '#/components/schemas/snmp_config_engine_id'
        engine_id_type:
          $ref: '#/components/schemas/snmp_config_engine_id_type'
        location:
          examples:
          - Las Vegas, NV
          type: string
        name:
          examples:
          - TGH-1K-QFX10K
          type: string
        network:
          default: default
          type: string
        trap_groups:
          $ref: '#/components/schemas/snmp_config_trap_groups'
        v2c_config:
          $ref: '#/components/schemas/snmp_config_v2c_configs'
        v3_config:
          $ref: '#/components/schemas/snmpv3_config'
        views:
          $ref: '#/components/schemas/snmp_config_views'
      type: object
    remote_syslog_archive_files:
      anyOf:
      - type: string
      - type: integer
      examples:
      - 20
    switch_radius:
      additionalProperties: false
      description: By default, `radius_config` will be used. if a different one has to be used set `use_different_radius
      properties:
        enabled:
          type: boolean
        radius_config:
          $ref: '#/components/schemas/switch_radius_config'
        use_different_radius:
          type: string
      type: object
    acl_tag_type:
      description: "enum: \n  * `any`: matching anything not identified\n  * `dynamic_gbp`: from the gbp_tag received from RADIUS\n  * `gbp_resource`: can only be used in `dst_tags`\n  * `mac`\n  * `network`\n  * `port_usage`\n  * `radius_group`\n  * `resource`: can only be used in `dst_tags`\n  * `static_gbp`: applying gbp tag against matching conditions\n  * `subnet`'"
      enum:
      - any
      - dynamic_gbp
      - gbp_resource
      - mac
      - network
      - port_usage
      - radius_group
      - resource
      - static_gbp
      - subnet
      type: string
    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
    switch_radius_config:
      additionalProperties: false
      description: Junos Radius config
      properties:
        acct_immediate_update:
          type: boolean
        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_server_selection:
          $ref: '#/components/schemas/switch_radius_config_auth_server_selection'
        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:
          $ref: '#/components/schemas/radius_coa_port'
        fast_dot1x_timers:
          default: false
          type: boolean
        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
    snmp_vacm_access_item_prefix_list:
      items:
        $ref: '#/components/schemas/snmp_vacm_access_item_prefix_list_item'
      type: array
    snmpv3_config_target_address_item:
      additionalProperties: false
      properties:
        address:
          examples:
          - 10.11.0.2
          type: string
        address_mask:
          examples:
          - 255.255.255.0
          type: string
        port:
          default: '161'
          type:
          - string
          - 'null'
        tag_list:
          description: Refer to notify tag, can be multiple with blank
          type: string
        target_address_name:
          examples:
          - target_address_name
          type: string
        target_parameters:
          description: Refer to notify target parameters name
          type: string
      type: object
    radius_auth_server:
      additionalProperties: false
      description: Authentication Server
      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_auth_port'
        require_message_authenticator:
          default: false
          description: Whether to require Message-Authenticator in requests
          type: boolean
        secret:
          description: Secret of RADIUS server
          examples:
          - testing123
          format: password
          type: string
      required:
      - host
      - secret
      type: object
    extra_routes6:
      additionalProperties:
        $ref: '#/components/schemas/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
    snmp_config_engine_id:
      maxLength: 27
      type: string
    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
    ospf_area_type:
      default: default
      description: 'OSPF type. enum: `default`, `nssa`, `stub`'
      enum:
      - default
      - nssa
      - stub
      examples:
      - default
      type: string
    dns_suffix:
      description: Global dns settings. To keep compatibility, dns settings in `ip_config` and `oob_ip_config` will overwrite this setting
      items:
        type: string
      type: array
    dns_servers:
      description: Global dns settings. To keep compatibility, dns settings in `ip_config` and `oob_ip_config` will overwrite this setting
      items:
        type: string
      type: array
    config_switch_local_accounts_user:
      additionalProperties: false
      properties:
        password:
          examples:
          - Juniper123
          format: passw

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