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.

Operations 1

GET /api/v1/sites/{site_id}/networktemplates/derived listSiteNetworkTemplatesDerived #

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

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

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/mist-ai-sites-network-templates-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

Get an API key

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

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

OpenAPI Specification

mist-ai-sites-network-templates-api-openapi.yml Raw ↑
openapi: 3.2.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 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:
    radius_acct_port:
      anyOf:
      - maximum: 65545
        minimum: 1
        type: integer
      - type: string
      description: Radius Auth Port, value from 1 to 65535, default is 1813
    junos_port_config_duplex:
      default: auto
      description: 'enum: `auto`, `full`, `half`'
      enum:
      - auto
      - full
      - half
      type: string
    switch_port_usage_dynamic_rule:
      additionalProperties: false
      properties:
        description:
          description: Optional description of the rule
          type: string
        equals:
          type: string
        equals_any:
          $ref: '#/components/schemas/switch_port_usage_dynamic_rule_equals_any'
        expression:
          description: '"[0:3]":"abcdef" -> "abc"

            "split(.)[1]": "a.b.c" -> "b"

            "split(-)[1][0:3]: "a1234-b5678-c90" -> "b56"'
          type: string
        src:
          $ref: '#/components/schemas/switch_port_usage_dynamic_rule_src'
        usage:
          description: '`port_usage` name'
          type: string
      required:
      - src
      type: object
    switch_vrf_instances:
      additionalProperties:
        $ref: '#/components/schemas/switch_vrf_instance'
      description: Property key is the network name
      examples:
      - guest:
          extra_routes:
            0.0.0.0/0:
              via: 192.168.31.1
          networks:
          - guest
      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:
      additionalProperties: false
      properties:
        engine_type:
          $ref: '#/components/schemas/snmp_usm_engine_type'
        remote_engine_id:
          description: Required only if `engine_type`==`remote_engine`
          examples:
          - 00:00:00:0b:00:00:70:10:6f:08:b6:3f
          type: string
        users:
          $ref: '#/components/schemas/snmp_usm_users'
      type: object
    org_id:
      examples:
      - a97c1b22-a4e9-411e-9bfd-d8695a0f9e61
      format: uuid
      readOnly: true
      type: string
    tacacs_auth_server:
      additionalProperties: false
      properties:
        host:
          type: string
        port:
          type: string
        secret:
          format: password
          type: string
        timeout:
          default: 10
          type: integer
      type: object
    switch_radius_config_auth_server_selection:
      default: ordered
      description: 'enum: `ordered`, `unordered`'
      enum:
      - ordered
      - unordered
      type: string
    sw_routing_policies:
      additionalProperties:
        $ref: '#/components/schemas/sw_routing_policy'
      description: Property key is the routing policy name
      type: object
    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'
    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_spec:
      additionalProperties: false
      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
    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
    ntp_servers:
      description: List of NTP servers specific to this device. By default, those in Site Settings will be used
      items:
        type: string
      type: array
    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
    aggregate_routes:
      additionalProperties:
        $ref: '#/components/schemas/aggregate_route'
      description: Property key is the destination subnet (e.g. "172.16.3.0/24")
      examples:
      - 172.16.3.0/24:
          discard: false
          metric: null
          preference: 30
      type: object
    vrf_extra_route6:
      additionalProperties: false
      properties:
        via:
          description: Next-hop address
          format: ipv6
          type: string
      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_vacm_security_to_group_content:
      items:
        $ref: '#/components/schemas/snmp_vacm_security_to_group_content_item'
      type: array
    remote_syslog_server_protocol:
      default: udp
      description: 'enum: `tcp`, `udp`'
      enum:
      - tcp
      - udp
      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
    snmpv3_config_notify_filter:
      items:
        $ref: '#/components/schemas/snmpv3_config_notify_filter_item'
      type: array
    extra_routes:
      additionalProperties:
        $ref: '#/components/schemas/extra_route'
      description: Property key is the destination CIDR (e.g. "10.0.0.0/8")
      examples:
      - 0.0.0.0/0:
          via: 192.168.1.10
      type: object
    ospf_area:
      additionalProperties: false
      description: Property key is the OSPF Area (Area should be a number (0-255) / IP address)
      properties:
        include_loopback:
          default: false
          type: boolean
        networks:
          additionalProperties:
            $ref: '#/components/schemas/ospf_areas_network'
          examples:
          - corp:
              auth_keys:
                '1': auth-key-1
              auth_type: md5
              bfd_minimum_interval: 500
              dead_interval: 40
              hello_interval: 10
              interface_type: nbma
              metric: 10000
            guest:
              passive: true
          type: object
        type:
          $ref: '#/components/schemas/ospf_area_type'
      type: object
    strings:
      items:
        type: string
      type: array
      uniqueItems: true
    ospf_areas_network:
      additionalProperties: false
      description: Property key is the network name. Networks to participate in an OSPF area
      properties:
        auth_keys:
          additionalProperties:
            type: string
          description: Required if `auth_type`==`md5`. Property key is the key number
          examples:
          - '1': auth-key-1
          type: object
        auth_password:
          description: Required if `auth_type`==`password`, the password, max length is 8
          examples:
          - simple
          type: string
        auth_type:
          $ref: '#/components/schemas/ospf_area_network_auth_type'
        bfd_minimum_interval:
          examples:
          - 500
          maximum: 255000
          minimum: 1
          type: integer
        dead_interval:
          examples:
          - 40
          maximum: 65535
          minimum: 1
          type: integer
        export_policy:
          examples:
          - export_policy
          type: string
        hello_interval:
          maximum: 255
          minimum: 1
          type: integer
        import_policy:
          examples:
          - import_policy
          type: string
        interface_type:
          $ref: '#/components/schemas/ospf_area_network_interface_type'
        metric:
          examples:
          - 10000
          maximum: 65535
          minimum: 1
          type:
          - integer
          - 'null'
        no_readvertise_to_overlay:
          default: false
          description: By default, we'll re-advertise all learned OSPF routes toward overlay
          type: boolean
        passive:
          default: false
          description: Whether to send OSPF-Hello
          type: boolean
      type: object
    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
    sw_routing_policy_term_action:
      additionalProperties: false
      description: When used as import policy
      properties:
        accept:
          type: boolean
        community:
          $ref: '#/components/schemas/routing_policy_term_action_community'
        local_preference:
          $ref: '#/components/schemas/routing_policy_local_preference'
        prepend_as_path:
          $ref: '#/components/schemas/routing_policy_term_action_prepend_as_path'
      type: object
    allow_deny:
      description: 'enum: `allow`, `deny`'
      enum:
      - allow
      - deny
      type: string
    switch_bgp_config_hold_time_zero:
      enum:
      - 0
      type: integer
    switch_port_usage_mac_limit:
      anyOf:
      - default: 0
        maximum: 16383
        minimum: 0
        type: integer
      - type: string
      description: Only if `mode`!=`dynamic`, max number of mac addresses, default is 0 for unlimited, otherwise range is 1 to 16383 (upper bound constrained by platform)
    switch_stp_config:
      additionalProperties: false
      properties:
        bridge_priority:
          default: 32k
          description: Switch STP priority. Range [0, 4k, 8k.. 60k] in steps of 4k. Bridge priority applies to both VSTP and RSTP.
          examples:
          - 40k
          type: string
      type: object
    routing_policy_term_matching_prefix:
      description: zero or more criteria/filter can be specified to match the term, all criteria have to be met
      items:
        examples:
        - 192.168.0.0/16-30
        type: string
      type: array
    routing_policy_term_matching_community:
      items:
        examples:
        - '3900062'
        type: string
      type: array
    extra_route_next_qualified_properties:
      additionalProperties: false
      properties:
        metric:
          type:
          - integer
          - 'null'
        preference:
          type:
          - integer
          - 'null'
      type: object
    wired_port_config:
      additionalProperties:
        $ref: '#/components/schemas/junos_port_config'
      description: Property key is the port name or range (e.g. "ge-0/0/0-10")
      type: object
    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_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
    switch_port_mirroring_property:
      additionalProperties: false
      properties:
        input_networks_ingress:
          $ref: '#/components/schemas/switch_port_mirroring_ingress_networks'
        input_port_ids_egress:
          $ref: '#/components/schemas/switch_port_mirroring_egress_port_ids'
        input_port_ids_ingress:
          $ref: '#/components/schemas/switch_port_mirroring_ingress_port_ids'
        output_ip_address:
          description: Exactly one of the `output_ip_address`, `output_port_id` or `output_network` should be provided
          examples:
          - 1.2.3.4
          type: string
        output_network:
          description: Exactly one of the `output_ip_address`, `output_port_id` or `output_network` should be provided
          examples:
          - analyze
          type: string
        output_port_id:
          description: Exactly one of the `output_ip_address`, `output_port_id` or `output_network` should be provided
          examples:
          - ge-0/0/5
          type: string
      type: object
    switch_mgmt:
      additionalProperties: false
      description: Switch Management settings
      properties:
        ap_affinity_threshold:
          default: 10
          description: AP_affinity_threshold ap_affinity_threshold can be added as a field under site/setting. By default, this value is set to 12. If the field is set in both site/setting and org/setting, the value from site/setting will be used.
          type: integer
        cli_banner:
          description: Set Banners for switches. Allows markup formatting
          examples:
          - \t\tWELCOME!
          type: string
        cli_idle_timeout:
          description: Sets timeout for switches
          maximum: 60
          minimum: 1
          type: integer
        config_revert_timer:
          default: 10
          description: Rollback timer for commit confirmed
          maximum: 30
          minimum: 1
          type: integer
        dhcp_option_fqdn:
          default: false
          description: Enable to provide the FQDN with DHCP option 81
          type: boolean
        disable_oob_down_alarm:
          type: boolean
        fips_enabled:
          default: false
          type: boolean
        local_accounts:
          $ref: '#/components/schemas/config_switch_local_accounts'
        mxedge_proxy_host:
          description: IP Address or FQDN of the Mist Edge used to proxy the switch management traffic to the Mist Cloud
          type: string
        mxedge_proxy_port:
          $ref: '#/components/schemas/switch_mgmt_mxedge_proxy_port'
        protect_re:
          $ref: '#/components/schemas/protect_re'
        radius:
          $ref: '#/components/schemas/switch_radius'
        remove_existing_configs:
          default: false
          description: By default, only the configuration generated by Mist is cleaned up during the configuration process. If `true`, all the existing configuration will be removed.
          type: boolean
        root_password:
          format: password
          type: string
        tacacs:
          $ref: '#/components/schemas/tacacs'
        use_mxedge_proxy:
          description: To use mxedge as proxy
          type: boolean
      type: object
    remote_syslog_users:
      items:
        $ref: '#/components/schemas/remote_syslog_user'
      type: array
    switch_bgp_config_neighbors:
      additionalProperties:
        $ref: '#/components/schemas/switch_bgp_config_neighbor'
      description: Property key is the BGP Neighbor IP Address.
      type: object
    snmp_vacm_access:
      items:
        $ref: '#/components/schemas/snmp_vacm_access_item'
      type: array
    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_config_trap_group:
      additionalProperties: false
      properties:
        categories:
          $ref: '#/components/schemas/snmp_config_trap_group_categories'
        group_name:
          description: Categories list can refer to https://www.juniper.net/documentation/software/topics/task/configuration/snmp_trap-groups-configuring-junos-nm.html
          examples:
          - profiler
          type: string
        targets:
          $ref: '#/components/schemas/snmp_config_trap_group_targets'
        version:
          $ref: '#/components/schemas/snmp_config_trap_version'
      type: object
    switch_network:
      additionalProperties: false
      description: A network represents a network segment. It can either represent a VLAN (then usually ties to a L3 subnet), optionally associate it with a subnet which can later be used to create addition routes. Used for ports doing `family ethernet-switching`. It can also be a pure L3-subnet that can then be used against a port that with `family inet`.
      properties:
        gateway:
          description: Only required for EVPN-VXLAN networks, IPv4 Virtual Gateway
          type: string
        gateway6:
          description: Only required for EVPN-VXLAN networks, IPv6 Virtual Gateway
          type: string
        isolation:
          default: false
          description: 'whether to stop clients to talk to each other, default is false (when enabled, a unique isolation_vlan_id is required). NOTE: this features requires uplink device to also a be Juniper device and `inter_switch_link` to be set. See also `inter_isolation_network_link` and `community_vlan_id` in port_usage'
          type: boolean
        isolation_vlan_id:
          examples:
          - '3070'
          type: string
        subnet:
          description: Optional for pure switching, required when L3 / routing features are used
          type: string
        subnet6:
          description: Optional for pure switching, required when L3 / routing features are used
          type: string
        vlan_id:
          $ref: '#/components/schemas/vlan_id_with_variable'
      required:
      - vlan_id
      type: object
    ospf_area_type:
      default: default
      description: 'OSPF type. enum: `default`, `nssa`, `stub`'
      enum:
      - default
      - nssa
      - stub
      examples:
      - default
      type: string
    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
    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_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
    vrf_extra_routes:
      additionalProperties:
        $ref: '#/components/schemas/vrf_extra_route'
      description: Property key is the destination CIDR (e.g. "10.0.0.0/8")
      examples:
      - 0.0.0.0/0:
          via: 192.168.1.10
      type: object
    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
    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
    routing_policy_term_matching_as_path:
      items:
        $ref: '#/components/schemas/bgp_as'
      type: array
    switch_matching_rules:
      items:
        $ref: '#/components/schemas/switch_matching_rule'
      type: array
      uniqueItems: true
    config_switch_local_accounts_user_role:
      default: none
      description: 'enum: `admin`, `helpdesk`, `none`, `read`'
      enum:
      - admin
      - helpdesk
      - none
      - read
      type: string
    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
    snmp_config_client_list:
      additionalProperties: false
      properties:
        client_list_name:
          examples:
          - clist-1
          type: string
        clients:
          $ref: '#/components/schemas/snmp_config_client_list_clients'
      type: object
    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
    response_http403:
      additionalProperties: false
      properties:
        detail:
          examples:
          - You do not have permission to perform this action.
          type: string
      type: object
    tacacs_auth_servers:
      items:
        $ref: '#/components/schemas/tacacs_auth_server'
      type: array
    switch_mgmt_mxedge_proxy_port:
      anyOf:
      - default: 2222
        maximum: 65535
        minimum: 1
        type: integer
      - type: string
      description: Mist Edge port used to

# --- 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