Mist Orgs Network Templates API

A Network Template is a configuration template that allows for the consistent and standardized configuration of switches across an organization's network infrastructure. It includes settings such as RADIUS and ntp servers, shared elements like iot or corporate networks, and port profiles for specific devices. Switch templates can be applied at the site level, and they make the initial setup of switches easy and adaptable to specific site or switch settings.

OpenAPI Specification

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

    >

    > Date: **July 10, 2026**

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


    ---

    ## Additional Documentation

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

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

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


    ## Helpful Resources

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

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

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

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

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


    ## Mist Web Browser Extension:

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

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


    ---'
  license:
    name: MIT
    url: https://raw.githubusercontent.com/tmunzer/Mist-OAS3.0/main/LICENSE
  title: Mist Admins Orgs Network Templates API
  version: 2606.1.1
  x-logo:
    altText: Juniper-MistAI
    backgroundColor: '#FFFFFF'
    url: https://www.mist.com/wp-content/uploads/logo.png
servers:
- description: Mist Global 01
  url: https://api.mist.com
- description: Mist Global 02
  url: https://api.gc1.mist.com
- description: Mist Global 03
  url: https://api.ac2.mist.com
- description: Mist Global 04
  url: https://api.gc2.mist.com
- description: Mist Global 05
  url: https://api.gc4.mist.com
- description: Mist EMEA 01
  url: https://api.eu.mist.com
- description: Mist EMEA 02
  url: https://api.gc3.mist.com
- description: Mist EMEA 03
  url: https://api.ac6.mist.com
- description: Mist EMEA 04
  url: https://api.gc6.mist.com
- description: Mist APAC 01
  url: https://api.ac5.mist.com
- description: Mist APAC 02
  url: https://api.gc5.mist.com
- description: Mist APAC 03
  url: https://api.gc7.mist.com
security:
- apiToken: []
- csrfToken: []
tags:
- description: 'A Network Template is a configuration template that allows for the consistent and standardized configuration of switches across an organization''s network infrastructure.


    It includes settings such as RADIUS and ntp servers, shared elements like iot or corporate networks, and port profiles for specific devices.


    Switch templates can be applied at the site level, and they make the initial setup of switches easy and adaptable to specific site or switch settings.'
  name: Orgs Network Templates
paths:
  /api/v1/orgs/{org_id}/networktemplates:
    parameters:
    - $ref: '#/components/parameters/org_id'
    get:
      description: List organization network templates that provide switch network, port, management, routing, NAC, and service configuration at the organization level.
      operationId: listOrgNetworkTemplates
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          $ref: '#/components/responses/NetworktemplatesArray'
        '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: listOrgNetworkTemplates
      tags:
      - Orgs Network Templates
    post:
      description: 'Create an organization network template with network, port usage, switch management, routing, NAC, and service  configuration at the organization level.


        Network templates can be applied to multiple sites within the organization to provide consistent network configuration across sites.

        To assign a network template to a site, use the [Update Site](/#operations/updateSiteInfo) endpoint and specify the network template ID in the `networktemplate_id` field of the request body.'
      operationId: createOrgNetworkTemplate
      requestBody:
        content:
          application/json:
            examples:
              Example:
                value:
                  additional_config_cmds:
                  - set snmp community public
                  dhcp_snooping:
                    all_networks: true
                    enable_arp_spoof_check: true
                    enable_ip_source_guard: true
                    enabled: true
                    networks:
                    - string
                  dns_servers:
                  - string
                  dns_suffix:
                  - string
                  import_org_networks:
                  - ap
                  mist_nac:
                    enabled: true
                    network: string
                  name: string
                  networks:
                    property1:
                      subnet: 192.168.1.0/24
                      vlan_id: 10
                    property2:
                      subnet: 192.168.1.0/24
                      vlan_id: 10
                  ntp_servers:
                  - string
                  port_usages:
                    dynamic:
                      mode: dynamic
                      reset_default_when: link_down
                      rules:
                      - equals: string
                        equals_any:
                        - string
                        expression: string
                        src: lldp_chassis_id
                        usage: string
                    property1:
                      all_networks: false
                      allow_dhcpd: true
                      bypass_auth_when_server_down: true
                      description: string
                      disable_autoneg: false
                      disabled: false
                      duplex: auto
                      enable_mac_auth: true
                      enable_qos: true
                      guest_network: string
                      mac_auth_only: true
                      mac_auth_protocol: pap
                      mac_limit: 0
                      mode: access
                      networks:
                      - string
                      persist_mac: false
                      poe_disabled: false
                      port_auth: dot1x
                      port_network: string
                      server_reject_network: null
                      speed: auto
                      storm_control:
                        no_broadcast: false
                        no_multicast: false
                        no_registered_multicast: false
                        no_unknown_unicast: false
                        percentage: 80
                      stp_edge: true
                      voip_network: string
                    property2:
                      all_networks: false
                      allow_dhcpd: true
                      bypass_auth_when_server_down: true
                      description: string
                      disable_autoneg: false
                      disabled: false
                      duplex: auto
                      enable_mac_auth: true
                      enable_qos: true
                      guest_network: string
                      mac_auth_only: true
                      mac_auth_protocol: pap
                      mac_limit: 0
                      mode: access
                      networks:
                      - string
                      persist_mac: false
                      poe_disabled: false
                      port_network: string
                      server_reject_network: null
                      speed: auto
                      storm_control:
                        no_broadcast: false
                        no_multicast: false
                        no_registered_multicast: false
                        no_unknown_unicast: false
                        percentage: 80
                      stp_edge: true
                      voip_network: string
                  switch_mgmt:
                    config_revert_timer: 10
                    protect_re:
                      enabled: false
                    root_password: string
                    tacacs:
                      acct_servers:
                      - host: 198.51.100.1
                        port: '49'
                        secret: string
                        timeout: 10
                      enabled: true
                      network: string
                      tacplus_servers:
                      - host: 198.51.100.1
                        port: '49'
                        secret: string
                        timeout: 10
                  vrf_config:
                    enabled: false
                  vrf_instances:
                    property1:
                      extra_routes:
                        property1:
                          via: 192.0.2.10
                        property2:
                          via: 198.51.100.1
                      networks:
                      - string
                    property2:
                      extra_routes:
                        property1:
                          via: 198.51.100.1
                        property2:
                          via: 198.51.100.10
                      networks:
                      - string
            schema:
              $ref: '#/components/schemas/network_template'
        description: Request Body
      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: createOrgNetworkTemplate
      tags:
      - Orgs Network Templates
  /api/v1/orgs/{org_id}/networktemplates/{networktemplate_id}:
    parameters:
    - $ref: '#/components/parameters/org_id'
    - $ref: '#/components/parameters/networktemplate_id'
    delete:
      description: Delete an organization network template by template ID so it can no longer be applied to sites or site groups.
      operationId: deleteOrgNetworkTemplate
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '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: deleteOrgNetworkTemplate
      tags:
      - Orgs Network Templates
    get:
      description: Retrieve details for a specific organization network template, including network, port usage, switch management, routing, NAC, and service defaults.
      operationId: getOrgNetworkTemplate
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/network_template'
          description: OK
        '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: getOrgNetworkTemplate
      tags:
      - Orgs Network Templates
    put:
      description: Update an organization network template, including network, port usage, switch management, routing, NAC, and service defaults.
      operationId: updateOrgNetworkTemplate
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              Example:
                value:
                  additional_config_cmds:
                  - set snmp community public
                  dhcp_snooping:
                    all_networks: true
                    enable_arp_spoof_check: true
                    enable_ip_source_guard: true
                    enabled: true
                    networks:
                    - string
                  dns_servers:
                  - string
                  dns_suffix:
                  - string
                  extra_routes:
                    property1:
                      via: string
                    property2:
                      via: string
                  group_tags: {}
                  import_org_networks:
                  - ap
                  mist_nac:
                    enabled: true
                    network: string
                  name: string
                  networks:
                    property1:
                      subnet: 192.168.1.0/24
                      vlan_id: 10
                    property2:
                      subnet: 192.168.1.0/24
                      vlan_id: 10
                  ntp_servers:
                  - string
                  port_usages:
                    dynamic:
                      mode: dynamic
                      reset_default_when: link_down
                      rules:
                      - equals: string
                        equals_any:
                        - string
                        expression: string
                        src: lldp_chassis_id
                        usage: string
                    property1:
                      all_networks: false
                      allow_dhcpd: true
                      bypass_auth_when_server_down: true
                      description: string
                      disable_autoneg: false
                      disabled: false
                      duplex: auto
                      enable_mac_auth: true
                      enable_qos: true
                      guest_network: string
                      mac_auth_only: true
                      mac_auth_protocol: pap
                      mac_limit: 0
                      mode: access
                      networks:
                      - string
                      persist_mac: false
                      poe_disabled: false
                      port_auth: dot1x
                      port_network: string
                      server_reject_network: null
                      speed: auto
                      storm_control:
                        no_broadcast: false
                        no_multicast: false
                        no_registered_multicast: false
                        no_unknown_unicast: false
                        percentage: 80
                      stp_edge: true
                      voip_network: string
                    property2:
                      all_networks: false
                      allow_dhcpd: true
                      bypass_auth_when_server_down: true
                      description: string
                      disable_autoneg: false
                      disabled: false
                      duplex: auto
                      enable_mac_auth: true
                      enable_qos: true
                      guest_network: string
                      mac_auth_only: true
                      mac_auth_protocol: pap
                      mac_limit: 0
                      mode: access
                      networks:
                      - string
                      persist_mac: false
                      poe_disabled: false
                      port_network: string
                      server_reject_network: null
                      speed: auto
                      storm_control:
                        no_broadcast: false
                        no_multicast: false
                        no_registered_multicast: false
                        no_unknown_unicast: false
                        percentage: 80
                      stp_edge: true
                      voip_network: string
                  switch_mgmt:
                    config_revert_timer: 10
                    protect_re:
                      enabled: false
                    root_password: string
                    tacacs:
                      acct_servers:
                      - host: 198.51.100.1
                        port: '49'
                        secret: string
                        timeout: 10
                      enabled: true
                      network: string
                      tacplus_servers:
                      - host: 198.51.100.1
                        port: '49'
                        secret: string
                        timeout: 10
                  vrf_config:
                    enabled: false
                  vrf_instances:
                    property1:
                      extra_routes:
                        property1:
                          via: 198.51.100.1
                        property2:
                          via: 198.51.100.2
                      networks:
                      - string
                    property2:
                      extra_routes:
                        property1:
                          via: 198.51.100.1
                        property2:
                          via: 198.51.100.2
                      networks:
                      - string
            schema:
              $ref: '#/components/schemas/network_template'
        description: Request Body
      responses:
        '200':
          content:
            application/json:
              examples:
                Example:
                  value:
                    additional_config_cmds:
                    - set snmp community public
                    dhcp_snooping:
                      all_networks: true
                      enable_arp_spoof_check: true
                      enable_ip_source_guard: true
                      enabled: true
                      networks:
                      - string
                    dns_servers:
                    - string
                    dns_suffix:
                    - string
                    extra_routes:
                      property1:
                        via: string
                      property2:
                        via: string
                    import_org_networks:
                    - ap
                    mist_nac:
                      enabled: true
                      network: string
                    name: string
                    networks:
                      property1:
                        subnet: 192.168.1.0/24
                        vlan_id: 10
                      property2:
                        subnet: 192.168.1.0/24
                        vlan_id: 10
                    ntp_servers:
                    - string
                    port_usages:
                      dynamic:
                        mode: dynamic
                        reset_default_when: link_down
                        rules:
                        - equals: string
                          equals_any:
                          - string
                          expression: string
                          src: lldp_chassis_id
                          usage: string
                      property1:
                        all_networks: false
                        allow_dhcpd: true
                        bypass_auth_when_server_down: true
                        description: string
                        disable_autoneg: false
                        disabled: false
                        duplex: auto
                        enable_mac_auth: true
                        enable_qos: true
                        guest_network: string
                        mac_auth_only: true
                        mac_auth_protocol: pap
                        mac_limit: 0
                        mode: access
                        networks:
                        - string
                        persist_mac: false
                        poe_disabled: false
                        port_auth: dot1x
                        port_network: string
                        server_reject_network: null
                        speed: auto
                        storm_control:
                          no_broadcast: false
                          no_multicast: false
                          no_registered_multicast: false
                          no_unknown_unicast: false
                          percentage: 80
                        stp_edge: true
                        voip_network: string
                      property2:
                        all_networks: false
                        allow_dhcpd: true
                        bypass_auth_when_server_down: true
                        description: string
                        disable_autoneg: false
                        disabled: false
                        duplex: auto
                        enable_mac_auth: true
                        enable_qos: true
                        guest_network: string
                        mac_auth_only: true
                        mac_auth_protocol: pap
                        mac_limit: 0
                        mode: access
                        networks:
                        - string
                        persist_mac: false
                        poe_disabled: false
                        port_network: string
                        server_reject_network: null
                        speed: auto
                        storm_control:
                          no_broadcast: false
                          no_multicast: false
                          no_registered_multicast: false
                          no_unknown_unicast: false
                          percentage: 80
                        stp_edge: true
                        voip_network: string
                    switch_mgmt:
                      config_revert_timer: 10
                      protect_re:
                        enabled: false
                      root_password: string
                      tacacs:
                        acct_servers:
                        - host: 198.51.100.1
                          port: '49'
                          secret: string
                          timeout: 10
                        enabled: true
                        network: string
                        tacplus_servers:
                        - host: 198.51.100.1
                          port: '49'
                          secret: string
                          timeout: 10
                    vrf_config:
                      enabled: false
                    vrf_instances:
                      property1:
                        extra_routes:
                          property1:
                            via: 198.51.100.1
                          property2:
                            via: 198.51.100.2
                        networks:
                        - string
                      property2:
                        extra_routes:
                          property1:
                            via: 198.51.100.1
                          property2:
                            via: 198.51.100.2
                        networks:
                        - string
              schema:
                $ref: '#/components/schemas/network_template'
          description: OK
        '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: updateOrgNetworkTemplate
      tags:
      - Orgs Network Templates
components:
  schemas:
    next_hop_via:
      description: Next-hop IP address. Can be a single IP address or an array of IP addresses for ECMP (Equal-Cost Multi-Path) load balancing across multiple next-hops.
      examples:
      - 10.2.1.1
      - - 10.2.1.1
        - 10.2.1.2
      oneOf:
      - type: string
      - items:
          type: string
        type: array
    acl_tag_spec:
      additionalProperties: false
      description: Layer 4 protocol and destination-port match constraint for an ACL tag
      properties:
        port_range:
          default: '0'
          description: Matched dst port, "0" means any
          type: string
        protocol:
          default: any
          description: '`tcp` / `udp` / `icmp` / `icmp6` / `gre` / `any` / `:protocol_number`, `protocol_number` is between 1-254, default is `any` `protocol_number` is between 1-254'
          type: string
      type: object
    routing_policy_term_action_prepend_as_path:
      description: When used as export policy, optional. By default, the local AS will be prepended, to change it. Can be a Variable (e.g. `{{as_path}}`)
      items:
        examples:
        - 65000 400
        type: string
      type: array
    vlan_id_with_variable:
      description: VLAN ID, either numeric or expressed as a template variable string
      oneOf:
      - type: string
      - maximum: 4094
        minimum: 1
        type: integer
    remote_syslog:
      additionalProperties: false
      description: Remote syslog forwarding settings
      properties:
        archive:
          $ref: '#/components/schemas/remote_syslog_archive'
          description: Retention settings for generated syslog archive files
        cacerts:
          $ref: '#/components/schemas/remote_syslog_cacerts'
          description: CA certificates used to verify TLS syslog servers
        console:
          $ref: '#/components/schemas/remote_syslog_console'
          description: Log forwarding filters for console messages sent to remote syslog
        enabled:
          default: false
          description: Whether remote syslog forwarding is enabled
          type: boolean
        files:
          $ref: '#/components/schemas/remote_syslog_files'
          description: Local syslog file definitions to generate and forward
        network:
          description: Source network used for syslog traffic. If `source_address` is configured, Mist uses the VLAN first; otherwise it uses `source_ip`
          examples:
          - default
          type: string
        send_to_all_servers:
          default: false
          description: Whether each log entry is sent to all configured remote syslog servers
          type: boolean
        servers:
          $ref: '#/components/schemas/remote_syslog_servers'
          description: Remote syslog server destinations
        time_format:
          $ref: '#/components/schemas/remote_syslog_time_format'
          description: Timestamp format used in forwarded syslog messages
        users:
          $ref: '#/components/schemas/remote_syslog_users'
          description: User-specific syslog logging rules
      type: object
    switch_networks:
      additionalProperties:
        $ref: '#/components/schemas/switch_network'
      description: Property key is network name
      type: object
    acl_policy_action:
      additionalProperties: false
      description: Action applied to traffic that matches a destination ACL tag
      properties:
        action:
          $ref: '#/components/schemas/allow_deny'
          description: Allow or deny decision applied to traffic matching the destination tag
        dst_tag:
          description: Destination ACL tag matched by this policy action
          examples:
          - corp
          type: string
      required:
      - dst_tag
      type: object
    remote_syslog_files:
      description: Generated syslog file output definitions
      items:
        $ref: '#/components/schemas/remote_syslog_file_config'
      type: array
    vrf_extra_routes6:
      additionalProperties:
        $ref: '#/components/schemas/vrf_extra_route6'
      description: Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
      examples:
      - 2a02:1234:420a:10c9::/64:
          via: 2a02:1234:200a::100
      type: object
    snmp_config_v2c_configs:
      description: SNMPv2c community configuration entries for this SNMP profile
      items:
        $ref: '#/components/schemas/snmp_config_v2c_config'
      type: array
    id:
      description: Unique ID of the object instance in the Mist Organization
      examples:
      - 53f10664-3ce8-4c27-b382-0ef66432349f
      format: uuid
      readOnly: true
      type: string
    switch_port_usage_dynamic_reset_default_when:
      default: link_down
      description: 'Only if `mode`==`dynamic` Control when the DPC port should be changed to the default port usage. enum: `link_down`, `none` (let the DPC port keep at the current port usage)'
      enum:
      - link_down
      - none
      examples:
      - link_down
      type: string
    snmpv3_config_notify_filter_item_contents:
      description: OID filter rules in an SNMPv3 notification filter profile
      items:
        $ref: '#/components/schemas/snmpv3_config_notify_filter_item_content'
      type: array
    snmp_usm_engine_type:
      description: 'SNMP engine type used for this USM configuration. enum: `local_engine`, `remote_engine`'
      enum:
      - local_engine
      - remote_engine
      type: string
    snmp_config_views:
      description: SNMP MIB view definitions
      items:
        $ref: '#/components/schemas/snmp_config_view'
      type: array
    remote_syslog_facility:
      default: any
      description: 'enum: `any`, `authorization`, `change-log`, `config`, `conflict-log`, `daemon`, `dfc`, `external`, `firewall`, `ftp`, `interactive-commands`, `kernel`, `ntp`, `pfe`, `security`, `user`'
      enum:
      - any
      - authorization
      - change-log
      - config
      - conflict-log
      - daemon
      - dfc
      - external
      - firewall
      - ftp
      - interactive-commands
      - kernel
      - ntp
      - pfe
      - security
      - user
      examples:
      - config
      type: string
    remote_syslog_server:
      additionalProperties: false
      description: Remote syslog server destination settings
      properties:
        contents:
          $ref: '#/components/schemas/remote_syslog_contents'
          description: Syslog facilities and severities sent to this server
        explicit_priority:
          description: Whether to include explicit syslog priority values in messages sent to this server
          type: boolean
        facility:
          $ref: '#/components/schemas/remote_syslog_facility'
          description: Default syslog facility for messages sent to this server
        host:
          description: Address or hostname of the remote syslog server
          examples:
          - syslogd.internal
          type: string
        match:
          description: Expression used to filter log messages sent to this server
          examples:
          - '!alarm|ntp|errors.crc_error[chan]'
          type: string
        port:
          $ref: '#/components/schemas/remote_syslog_server_port'
          description: Network port used by the remote syslog server
        protocol:
          $ref: '#/components/schemas/remote_syslog_server_protocol'
          description: Transport protocol used for this remote syslog server
        routing_instance:
          description: Routing instance used to reach this remote syslog server
          examples:
          - routing-instance-name
          type: string
        server_name:
          description: TLS server name used when verifying the remote syslog server certificate
          examples:
          - syslogd.internal
          type: string
        severity:
          $ref: '#/components/schemas/remote_syslog_severity'
          description: Default syslog severity for messages sent to this server
        source_address:
          description: Source address for syslog traffic. If configured, Mist uses the VLAN first; otherwise it uses `source_ip`
          type: string
        struct

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