Juniper Mist AI Sites Gateway Templates API

The API Endpoints for the Gateway 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-gateway-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 Gateway 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 Gateway 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 Gateway Templates
paths:
  /api/v1/sites/{site_id}/gatewaytemplates/derived:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: Get the list of derived Gateway Templates a Site
      operationId: listSiteGatewayTemplatesDerived
      parameters:
      - description: Whether resolve the site variables
        in: query
        name: resolve
        schema:
          type: boolean
      responses:
        '200':
          $ref: '#/components/responses/GatewaytemplatesArray'
        '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: listSiteGatewayTemplatesDerived
      tags:
      - Sites Gateway Templates
components:
  schemas:
    protect_re_custom_protocol:
      default: any
      description: 'enum: `any`, `icmp`, `tcp`, `udp`'
      enum:
      - any
      - icmp
      - tcp
      - udp
      type: string
    gw_routing_policy_term_matching_protocol:
      items:
        $ref: '#/components/schemas/gw_routing_policy_term_matching_protocol_enum'
      type: array
    gateway_port_reth_nodes:
      description: SSR only - supporting vlan-based redundancy (matching the size of `networks`)
      examples:
      - - node0
        - node1
      items:
        type: string
      type: array
    tunnel_config_ipsec_proposal:
      additionalProperties: false
      properties:
        auth_algo:
          $ref: '#/components/schemas/tunnel_config_auth_algo'
        dh_group:
          $ref: '#/components/schemas/tunnel_config_dh_group'
        enc_algo:
          $ref: '#/components/schemas/tunnel_config_enc_algo'
      type: object
    tunnel_config_node_internal_ips:
      description: Only if `provider`==`zscaler-gre`, `provider`==`jse-ipsec`, `provider`==`custom-ipsec` or `provider`==`custom-gre`
      items:
        type: string
      type: array
    service_policy_ewf_rule_profile:
      default: strict
      description: 'enum: `critical`, `standard`, `strict`'
      enum:
      - critical
      - standard
      - strict
      type: string
    day_of_week:
      description: 'enum: `any`, `fri`, `mon`, `sat`, `sun`, `thu`, `tue`, `wed`'
      enum:
      - any
      - fri
      - mon
      - sat
      - sun
      - thu
      - tue
      - wed
      type: string
    strings:
      items:
        type: string
      type: array
      uniqueItems: true
    gateway_port_wan_arp_policer:
      default: default
      description: 'Only when `wan_type`==`broadband`. enum: `default`, `max`, `recommended`'
      enum:
      - default
      - max
      - recommended
      type: string
    gateway_oob_ip_config:
      additionalProperties: false
      description: Out-of-band (vme/em0/fxp0) IP config
      properties:
        gateway:
          description: If `type`==`static`
          type: string
        ip:
          description: If `type`==`static`
          type: string
        netmask:
          description: If `type`==`static`
          type: string
        node1:
          $ref: '#/components/schemas/gateway_oob_ip_config_node1'
        type:
          $ref: '#/components/schemas/ip_type'
        use_mgmt_vrf:
          default: false
          description: If supported on the platform. If enabled, DNS will be using this routing-instance, too
          type: boolean
        use_mgmt_vrf_for_host_out:
          default: false
          description: For host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired
          type: boolean
        vlan_id:
          $ref: '#/components/schemas/gateway_port_vlan_id_with_variable'
      type: object
    service_policy_skyatp_dns_dga_detection_profile:
      description: 'enum: `default`, `standard`, `strict`'
      enum:
      - default
      - standard
      - strict
      type: string
    gateway_port_config:
      additionalProperties: false
      description: Gateway port config
      properties:
        ae_disable_lacp:
          default: false
          description: If `aggregated`==`true`. To disable LCP support for the AE interface
          type: boolean
        ae_idx:
          description: If `aggregated`==`true`. Users could force to use the designated AE name (must be an integer between 0 and 127)
          type:
          - string
          - 'null'
        ae_lacp_force_up:
          default: false
          description: 'For SRX only, 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
        aggregated:
          default: false
          type: boolean
        critical:
          default: false
          description: To generate port up/down alarm, set it to true
          type: boolean
        description:
          description: Interface Description. Can be a variable (i.e. "{{myvar}}")
          type: string
        disable_autoneg:
          default: false
          type: boolean
        disabled:
          default: false
          description: Port admin up (true) / down (false)
          type: boolean
        dsl_type:
          $ref: '#/components/schemas/gateway_port_dsl_type'
        dsl_vci:
          default: 35
          description: If `wan_type`==`dsl`, 16 bit int
          type: integer
        dsl_vpi:
          default: 0
          description: If `wan_type`==`dsl`, 8 bit int
          type: integer
        duplex:
          $ref: '#/components/schemas/gateway_port_duplex'
        ip_config:
          $ref: '#/components/schemas/gateway_port_config_ip_config'
        lte_apn:
          description: If `wan_type`==`lte`
          type: string
        lte_auth:
          $ref: '#/components/schemas/gateway_port_lte_auth'
        lte_backup:
          type: boolean
        lte_password:
          description: If `wan_type`==`lte`
          type: string
        lte_username:
          description: If `wan_type`==`lte`
          type: string
        mtu:
          type: integer
        name:
          description: Name that we'll use to derive config
          type: string
        networks:
          $ref: '#/components/schemas/gateway_port_networks'
        outer_vlan_id:
          description: For Q-in-Q
          type: integer
        poe_disabled:
          default: false
          type: boolean
        poe_keep_state_when_reboot:
          default: false
          description: Whether Perpetual PoE capabilities are enabled for a port
          type: boolean
        port_network:
          description: Only for SRX and if `usage`==`lan`, the name of the Network to be used as the Untagged VLAN
          type: string
        preserve_dscp:
          default: true
          description: Whether to preserve dscp when sending traffic over VPN (SSR-only)
          type: boolean
        redundant:
          description: If HA mode
          type: boolean
        redundant_group:
          description: If HA mode, SRX Only - support redundancy-group. 1-128 for physical SRX, 1-64 for virtual SRX
          maximum: 128
          minimum: 1
          type: integer
        reth_idx:
          $ref: '#/components/schemas/gateway_port_config_reth_idx'
        reth_node:
          description: If HA mode
          type: string
        reth_nodes:
          $ref: '#/components/schemas/gateway_port_reth_nodes'
        speed:
          default: auto
          examples:
          - 1g
          type: string
        ssr_no_virtual_mac:
          default: false
          description: When SSR is running as VM, this is required on certain hosting platforms
          type: boolean
        svr_port_range:
          default: none
          description: For SSR only
          examples:
          - 60000-60005
          type: string
        traffic_shaping:
          $ref: '#/components/schemas/gateway_traffic_shaping'
        usage:
          $ref: '#/components/schemas/gateway_port_usage'
        vlan_id:
          $ref: '#/components/schemas/gateway_port_vlan_id_with_variable'
        vpn_paths:
          $ref: '#/components/schemas/gateway_port_vpn_paths'
        wan_arp_policer:
          $ref: '#/components/schemas/gateway_port_wan_arp_policer'
        wan_ext_ip:
          description: Only if `usage`==`wan`, optional. If spoke should reach this port by a different IP
          examples:
          - 64.2.4.3
          type: string
        wan_ext_ip6:
          description: Only if `usage`==`wan`, optional. If spoke should reach this port by a different IPv6
          examples:
          - 2601:1700:43c0:dc0::10
          type: string
        wan_extra_routes:
          additionalProperties:
            $ref: '#/components/schemas/wan_extra_routes'
          description: Only if `usage`==`wan`. Property Key is the destination CIDR (e.g. "100.100.100.0/24")
          type: object
        wan_extra_routes6:
          additionalProperties:
            $ref: '#/components/schemas/wan_extra_routes6'
          description: Only if `usage`==`wan`. Property Key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
          type: object
        wan_networks:
          $ref: '#/components/schemas/gateway_port_config_wan_networks'
        wan_probe_override:
          $ref: '#/components/schemas/gateway_wan_probe_override'
        wan_source_nat:
          $ref: '#/components/schemas/gateway_port_wan_source_nat'
        wan_speedtest_mode:
          $ref: '#/components/schemas/gateway_port_config_wan_speedtest_mode'
        wan_type:
          $ref: '#/components/schemas/gateway_port_wan_type'
      required:
      - usage
      type: object
    service_policy:
      additionalProperties: false
      properties:
        action:
          $ref: '#/components/schemas/allow_deny'
        antivirus:
          $ref: '#/components/schemas/service_policy_antivirus'
        appqoe:
          $ref: '#/components/schemas/service_policy_appqoe'
        ewf:
          $ref: '#/components/schemas/service_policy_ewf'
        idp:
          $ref: '#/components/schemas/idp_config'
        local_routing:
          description: access within the same VRF
          type: boolean
        name:
          type: string
        path_preference:
          description: By default, we derive all paths available and use them. Optionally, you can customize by using `path_preference`
          type: string
        secintel:
          $ref: '#/components/schemas/service_policy_secintel'
        servicepolicy_id:
          description: Used to link servicepolicy defined at org level and overwrite some attributes
          format: uuid
          type: string
        services:
          $ref: '#/components/schemas/strings'
        skyatp:
          $ref: '#/components/schemas/service_policy_skyatp'
        ssl_proxy:
          $ref: '#/components/schemas/service_policy_ssl_proxy'
        syslog:
          $ref: '#/components/schemas/service_policy_syslog'
        tenants:
          $ref: '#/components/schemas/strings'
      type: object
    routing_policy_term_matching_community:
      items:
        examples:
        - '3900062'
        type: string
      type: array
    network_internal_access:
      additionalProperties: false
      properties:
        enabled:
          type: boolean
      type: object
    app_probing_apps:
      description: APp-keys from [List Applications](/#operations/listApplications)
      examples:
      - - facebook
      items:
        type: string
      type: array
    tunnel_config_node:
      additionalProperties: false
      description: Only if `provider`==`zscaler-ipsec`, `provider`==`jse-ipsec` or `provider`==`custom-ipsec`
      properties:
        hosts:
          $ref: '#/components/schemas/tunnel_config_node_hosts'
        internal_ips:
          $ref: '#/components/schemas/tunnel_config_node_internal_ips'
        probe_ips:
          $ref: '#/components/schemas/strings'
        remote_ids:
          $ref: '#/components/schemas/tunnel_config_node_remote_ids'
        wan_names:
          $ref: '#/components/schemas/tunnel_config_node_wan_names'
      required:
      - hosts
      - wan_names
      type: object
    app_probing_custom_app:
      additionalProperties: false
      properties:
        address:
          description: Required if `protocol`==`icmp`
          examples:
          - 192.168.1.1
          type: string
        app_type:
          type: string
        hostnames:
          $ref: '#/components/schemas/app_probing_custom_app_hostname'
        key:
          type: string
        name:
          examples:
          - pos_app
          type: string
        network:
          examples:
          - lan
          type: string
        packetSize:
          description: If `protocol`==`icmp`
          maximum: 65400
          minimum: 0
          type: integer
        protocol:
          $ref: '#/components/schemas/app_probing_custom_app_protocol'
        url:
          description: If `protocol`==`http`
          examples:
          - www.abc.com
          type: string
        vrf:
          examples:
          - lan
          type: string
      type: object
    tunnel_config_dh_group:
      default: '14'
      description: "Only if `provider`==`custom-ipsec`. enum:\n  * 1\n  * 2 (1024-bit)\n  * 5\n  * 14 (default, 2048-bit)\n  * 15 (3072-bit)\n  * 16 (4096-bit)\n  * 19 (256-bit ECP)\n  * 20 (384-bit ECP)\n  * 21 (521-bit ECP)\n  * 24 (2048-bit ECP)"
      enum:
      - '1'
      - '14'
      - '15'
      - '16'
      - '19'
      - '2'
      - '20'
      - '21'
      - '24'
      - '5'
      type: string
    gateway_mgmt_probe_hosts:
      examples:
      - - 8.8.8.8
      format: ipv4
      items:
        type: string
      type: array
    gateway_port_vpn_path:
      additionalProperties: false
      properties:
        bfd_profile:
          $ref: '#/components/schemas/gateway_port_vpn_path_bfd_profile'
        bfd_use_tunnel_mode:
          default: false
          description: Only if the VPN `type`==`hub_spoke`. Whether to use tunnel mode. SSR only
          type: boolean
        preference:
          description: Only if the VPN `type`==`hub_spoke`. For a given VPN, when `path_selection.strategy`==`simple`, the preference for a path (lower is preferred)
          type: integer
        role:
          $ref: '#/components/schemas/gateway_port_vpn_path_role'
        traffic_shaping:
          $ref: '#/components/schemas/gateway_traffic_shaping'
      type: object
    tunnel_config_node_remote_ids:
      description: Only if `provider`==`jse-ipsec` or `provider`==`custom-ipsec`
      items:
        type: string
      type: array
    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
    gateway_wan_probe_override_probe_profile:
      default: broadband
      description: 'enum: `broadband`, `lte`'
      enum:
      - broadband
      - lte
      type: string
    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
    gateway_ip_config_dns_suffix:
      description: Except for out-of_band interface (vme/em0/fxp0)
      items:
        type: string
      type: array
    service_policy_secintel_profile:
      default: default
      description: 'enum: `default`, `standard`, `strict`'
      enum:
      - default
      - standard
      - strict
      type: string
    tunnel_config_node_hosts:
      items:
        description: IP Address of the remote host
        type: string
      type: array
    tunnel_config_local_subnets:
      description: List of Local protected subnet for policy-based IPSec negotiation
      items:
        type: string
      type: array
    gateway_port_usage:
      description: 'port usage name. enum: `ha_control`, `ha_data`, `lan`, `wan`'
      enum:
      - ha_control
      - ha_data
      - lan
      - wan
      type: string
    gateway_mgmt_auto_signature_update:
      additionalProperties: false
      properties:
        day_of_week:
          $ref: '#/components/schemas/day_of_week'
        enable:
          default: true
          type: boolean
        time_of_day:
          description: Optional, Mist will decide the timing
          type: string
      type: object
    dhcpd_config_fixed_bindings:
      additionalProperties:
        $ref: '#/components/schemas/dhcpd_config_fixed_binding'
      description: If `type`==`local` or `type6`==`local`. Property key is the MAC Address. Format is `[0-9a-f]{12}` (e.g. "5684dae9ac8b")
      examples:
      - 5684dae9ac8b:
          ip: 192.168.70.35
          name: John
      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
    dhcpd_config_type:
      default: local
      description: 'enum: `local` (DHCP Server), `none`, `relay` (DHCP Relay)'
      enum:
      - local
      - none
      - relay
      type: string
    tunnel_provider_options_prisma:
      additionalProperties: false
      properties:
        service_account_name:
          description: For prisma-ipsec, service account name to used for tunnel auto provisioning
          examples:
          - sa1@1823425211
          type: string
      type: object
    gw_routing_policy_term_action:
      additionalProperties: false
      description: When used as import policy
      properties:
        accept:
          type: boolean
        add_community:
          $ref: '#/components/schemas/gw_routing_policy_term_action_add_community'
        add_target_vrfs:
          $ref: '#/components/schemas/gw_routing_policy_term_action_add_target_vrfs'
        community:
          $ref: '#/components/schemas/routing_policy_term_action_community'
        exclude_as_path:
          $ref: '#/components/schemas/gw_routing_policy_term_action_exclude_as_path'
        exclude_community:
          $ref: '#/components/schemas/gw_routing_policy_term_action_exclude_community'
        export_communities:
          $ref: '#/components/schemas/gw_routing_policy_term_action_export_communities'
        local_preference:
          $ref: '#/components/schemas/routing_policy_local_preference'
        prepend_as_path:
          $ref: '#/components/schemas/routing_policy_term_action_prepend_as_path'
      type: object
    protect_re_custom_subnet:
      items:
        examples:
        - 10.1.2.0/24
        type: string
      type: array
    app_probing_custom_app_protocol:
      default: http
      description: 'enum: `http`, `icmp`'
      enum:
      - http
      - icmp
      type: string
    service_policies:
      items:
        $ref: '#/components/schemas/service_policy'
      type: array
    gateway_path_preferences_paths:
      items:
        $ref: '#/components/schemas/gateway_path_preferences_path'
      type: array
    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
    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
    gateway_port_dsl_type:
      default: vdsl
      description: 'if `wan_type`==`dsl`. enum: `adsl`, `vdsl`'
      enum:
      - adsl
      - vdsl
      type: string
    service_policy_skyatp_dns_tunnel_detection:
      additionalProperties: false
      properties:
        enabled:
          type: boolean
        profile:
          $ref: '#/components/schemas/service_policy_skyatp_dns_tunnel_detection_profile'
      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}}`)
    network_internet_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:
          description: The Destination NAT destination IP Address. Must be a Port (i.e. "443") or a Variable (i.e. "{{myvar}}")
          examples:
          - '443'
          type: string
        wan_name:
          description: SRX Only. If not set, we configure the nat policies against all WAN ports for simplicity
          examples:
          - wan0
          type: string
      type: object
    gateway_ip_configs:
      additionalProperties:
        $ref: '#/components/schemas/gateway_ip_config_property'
      description: Property key is the network name
      type: object
    gateway_path_type:
      description: 'enum: `local`, `tunnel`, `vpn`, `wan`'
      enum:
      - local
      - tunnel
      - vpn
      - wan
      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
    tunnel_config_remote_subnets:
      description: List of Remote protected subnet for policy-based IPSec negotiation
      items:
        type: string
      type: array
    gateway_templates:
      items:
        $ref: '#/components/schemas/gateway_template'
      type: array
    app_probing_custom_app_hostname:
      description: If `protocol`==`http`
      examples:
      - - https://www.abc.com
      items:
        type: string
      type: array
    network_vpn_access_config_other_vrfs:
      description: By default, the routes are only readvertised toward the same vrf on spoke. To allow it to be leaked to other vrfs
      items:
        examples:
        - iot
        type: string
      type: array
    service_policy_antivirus:
      additionalProperties: false
      description: For SRX-only
      properties:
        avprofile_id:
          description: org-level AV Profile can be used, this takes precedence over 'profile'
          format: uuid
          type: string
        enabled:
          default: false
          type: boolean
        profile:
          description: Default / noftp / httponly / or keys from av_profiles
          type: string
      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
    tunnel_provider_options_zscaler_sub_location:
      additionalProperties: false
      properties:
        aup_block_internet_until_accepted:
          default: false
          type: boolean
        aup_enabled:
          default: false
          description: Can only be `true` when `auth_required`==`false`, display Acceptable Use Policy (AUP)
          type: boolean
        aup_force_ssl_inspection:
          default: false
          description: Proxy HTTPs traffic, requiring Zscaler cert to be installed in browser
          type: boolean
        aup_timeout_in_days:
          description: Required if `aup_enabled`==`true`. Days before AUP is requested again
          maximum: 180
          minimum: 1
          type: integer
        auth_required:
          default: false
          description: Enable this option to authenticate users
          type: boolean
        caution_enabled:
          default: false
          description: Can only be `true` when `auth_required`==`false`, display caution notification for non-authenticated users
          type: boolean
        dn_bandwidth:
          description: Download bandwidth cap of the link, in Mbps. Disabled if not set
          examples:
          - 200
          format: double
          maximum: 99999
          minimum: 0.1
          type:
          - number
          - 'null'
        idle_time_in_minutes:
          description: Required if `surrogate_IP`==`true`, idle Time to Disassociation
          maximum: 43200
          minimum: 0
          type: integer
        name:
          description: '[network]($h/Orgs%20Networks/_overview) name'
          type: string
        ofw_enabled:
         

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