openapi: 3.1.0 info: contact: email: tmunzer@juniper.net name: Thomas Munzer description: '> Version: **2604.1.1** > > Date: **May 13, 2026**
NOTE:
Some important API changes will be introduced. Please make sure to read the announcements
--- ## 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: 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: '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: Get List of Org Network Templates 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: Update Org Network Templates 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 Org Network Template 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: Get Org Network Templates Details 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 Org Network Template 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: tacacs_auth_servers: items: $ref: '#/components/schemas/tacacs_auth_server' type: array protect_re_custom_protocol: default: any description: 'enum: `any`, `icmp`, `tcp`, `udp`' enum: - any - icmp - tcp - udp type: string switch_vrf_instance: additionalProperties: false examples: - extra_routes: 0.0.0.0/0: via: 192.168.31.1 networks: - guest properties: aggregate_routes: $ref: '#/components/schemas/aggregate_routes' aggregate_routes6: $ref: '#/components/schemas/aggregate_routes6' evpn_auto_loopback_subnet: examples: - 100.101.0.0/24 type: string evpn_auto_loopback_subnet6: type: string extra_routes: $ref: '#/components/schemas/vrf_extra_routes' extra_routes6: $ref: '#/components/schemas/vrf_extra_routes6' networks: $ref: '#/components/schemas/strings' type: object switch_port_usage_reauth_interval: anyOf: - default: 3600 maximum: 65535 minimum: 10 type: integer - type: string description: 'Only if `mode`!=`dynamic` and `port_auth`=`dot1x` reauthentication interval range (min: 10, max: 65535, default: 3600). Set to 0 to disable reauthentication (no-reauthentication).' acl_tag_macs: description: "Required if \n- `type`==`mac`\n- `type`==`static_gbp` if from matching mac" items: type: string type: array strings: items: type: string type: array uniqueItems: true remote_syslog_server: additionalProperties: false properties: contents: $ref: '#/components/schemas/remote_syslog_contents' explicit_priority: type: boolean facility: $ref: '#/components/schemas/remote_syslog_facility' host: examples: - syslogd.internal type: string match: examples: - '!alarm|ntp|errors.crc_error[chan]' type: string port: $ref: '#/components/schemas/remote_syslog_server_port' protocol: $ref: '#/components/schemas/remote_syslog_server_protocol' routing_instance: examples: - routing-instance-name type: string server_name: description: Name of the server examples: - syslogd.internal type: string severity: $ref: '#/components/schemas/remote_syslog_severity' source_address: description: If source_address is configured, will use the vlan firstly otherwise use source_ip type: string structured_data: type: boolean tag: type: string type: object snmp_vacm_access_item_type: description: 'enum: `context_prefix`, `default_context_prefix`' enum: - context_prefix - default_context_prefix type: string remote_syslog_archive: additionalProperties: false properties: files: $ref: '#/components/schemas/remote_syslog_archive_files' size: examples: - 5m type: string type: object routing_policy_term_matching_community: items: examples: - '3900062' type: string type: array junos_port_config_duplex: default: auto description: 'enum: `auto`, `full`, `half`' enum: - auto - full - half 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 snmpv3_config_notify_type: description: 'enum: `inform`, `trap`' enum: - inform - trap type: string switch_port_usage_mtu: anyOf: - maximum: 9216 minimum: 256 type: integer - type: string - type: 'null' description: Only if `mode`!=`dynamic` media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation. The default value is 1514. radius_acct_port: anyOf: - maximum: 65545 minimum: 1 type: integer - type: string description: Radius Auth Port, value from 1 to 65535, default is 1813 switch_bgp_config_networks: description: List of network names for BGP configuration. When a network is specified, a BGP group will be added to the VRF that network is part of. items: type: string type: array tacacs_acct_server: additionalProperties: false properties: host: type: string port: type: string secret: format: password type: string timeout: default: 10 type: integer type: object remote_syslog_severity: default: any description: 'enum: `alert`, `any`, `critical`, `emergency`, `error`, `info`, `notice`, `warning`' enum: - alert - any - critical - emergency - error - info - notice - warning type: string radius_coa_port: anyOf: - maximum: 65545 minimum: 1 type: integer - type: string description: Radius CoA Port, value from 1 to 65535, default is 3799 switch_port_usage_networks: description: Only if `mode`==`trunk`, the list of network/vlans items: type: string type: array protect_re_custom_subnet: items: examples: - 10.1.2.0/24 type: string type: array switch_bgp_config_hold_time: description: Hold time is three times the interval at which keepalive messages are sent. It indicates to the peer the length of time that it should consider the sender valid. Must be 0 or a number in the range 3-65535. oneOf: - $ref: '#/components/schemas/switch_bgp_config_hold_time_zero' - $ref: '#/components/schemas/switch_bgp_config_hold_time_integer' sw_routing_policy_term_matching: additionalProperties: false description: zero or more criteria/filter can be specified to match the term, all criteria have to be met properties: as_path: $ref: '#/components/schemas/routing_policy_term_matching_as_path' community: $ref: '#/components/schemas/routing_policy_term_matching_community' prefix: $ref: '#/components/schemas/routing_policy_term_matching_prefix' protocol: $ref: '#/components/schemas/sw_routing_policy_term_matching_protocol' type: object acl_policy_src_tags: description: "ACL Policy Source Tags:\n - for GBP-based policy, all src_tags and dst_tags have to be gbp-based\n - for ACL-based policy, `network` is required in either the source or destination so that we know where to attach the policy to" items: examples: - macs type: string type: array switch_port_mirroring_egress_port_ids: description: At least one of the `input_port_ids_ingress`, `input_port_ids_egress` or `input_networks_ingress ` should be specified items: examples: - ge-0/0/3 type: string type: array snmpv3_config_target_address: items: $ref: '#/components/schemas/snmpv3_config_target_address_item' type: array acl_tags: additionalProperties: $ref: '#/components/schemas/acl_tag' description: ACL Tags to identify traffic source or destination. Key name is the tag name type: object routing_policy_local_preference: anyOf: - type: string - maximum: 4294967295 minimum: 1 type: integer description: Optional, for an import policy, local_preference can be changed, value in range 1-4294967294. Can be a Variable (e.g. `{{bgp_as}}`) acl_tag: additionalProperties: false description: Resource tags (`type`==`resource` or `type`==`gbp_resource`) can only be used in `dst_tags` properties: ether_types: $ref: '#/components/schemas/acl_tag_ether_types' gbp_tag: description: "Required if\n - `type`==`dynamic_gbp` (gbp_tag received from RADIUS)\n - `type`==`gbp_resource`\n - `type`==`static_gbp` (applying gbp tag against matching conditions)" type: integer macs: $ref: '#/components/schemas/acl_tag_macs' network: description: "If:\n * `type`==`mac` (optional. default is `any`)\n * `type`==`subnet` (optional. default is `any`)\n * `type`==`network`\n * `type`==`resource` (optional. default is `any`)\n * `type`==`static_gbp` if from matching network (vlan)" type: string port_usage: description: Required if `type`==`port_usage` type: string radius_group: description: "Required if:\n * `type`==`radius_group`\n * `type`==`static_gbp`\nif from matching radius_group" type: string specs: $ref: '#/components/schemas/acl_tag_specs' subnets: $ref: '#/components/schemas/acl_tag_subnets' type: $ref: '#/components/schemas/acl_tag_type' required: - type type: object snmp_usm_engine_type: description: 'enum: `local_engine`, `remote_engine`' enum: - local_engine - remote_engine type: string tacacs_default_role: default: none description: 'enum: `admin`, `helpdesk`, `none`, `read`' enum: - admin - helpdesk - none - read type: string switch_port_usage_mac_auth_protocol: default: eap-md5 description: 'Only if `mode`!=`dynamic` and `enable_mac_auth` ==`true`. This type is ignored if mist_nac is enabled. enum: `eap-md5`, `eap-peap`, `pap`' enum: - eap-md5 - eap-peap - pap type: string snmp_config_trap_version: default: v2 description: 'enum: `all`, `v1`, `v2`' enum: - all - v1 - v2 type: string snmp_config_client_list_clients: items: examples: - 151.140.101.218/32 type: string type: array snmp_vacm_access_item_prefix_list_item_level: description: 'enum: `authentication`, `none`, `privacy`' enum: - authentication - none - privacy type: string acl_policy_action: additionalProperties: false properties: action: $ref: '#/components/schemas/allow_deny' dst_tag: examples: - corp type: string required: - dst_tag type: object extra_route: additionalProperties: false properties: discard: default: false description: This takes precedence type: boolean metric: examples: - null maximum: 2147483647 minimum: 0 type: - integer - 'null' next_qualified: additionalProperties: $ref: '#/components/schemas/extra_route_next_qualified_properties' examples: - 10.3.1.1: metric: null preference: 40 type: object no_resolve: default: false type: boolean preference: examples: - 30 maximum: 2147483647 minimum: 0 type: - integer - 'null' via: $ref: '#/components/schemas/next_hop_via' type: object snmp_vacm_security_to_group_content_item: additionalProperties: false properties: group: description: Refer to group_name under access type: string security_name: type: string type: object switch_mist_nac: additionalProperties: false description: Enable mist_nac to use RadSec properties: enabled: type: boolean network: type: string type: object snmp_usm_user: additionalProperties: false properties: authentication_password: description: Not required if `authentication_type`==`authentication-none`. Include alphabetic, numeric, and special characters, but it cannot include control characters. minLength: 7 type: string authentication_type: $ref: '#/components/schemas/snmp_usm_user_authentication_type' encryption_password: description: Not required if `encryption_type`==`privacy-none`. Include alphabetic, numeric, and special characters, but it cannot include control characters minLength: 8 type: string encryption_type: $ref: '#/components/schemas/snmp_usm_user_encryption_type' name: type: string type: object routing_policy_term_matching_as_path: items: $ref: '#/components/schemas/bgp_as' type: array response_http401: additionalProperties: false properties: detail: examples: - Authentication credentials were not provided. type: string type: object snmpv3_config_target_param_security_model: description: 'enum: `usm`, `v1`, `v2c`' enum: - usm - v1 - v2c type: string snmp_usm_user_authentication_type: description: 'sha224, sha256, sha384, sha512 are supported in 21.1 and newer release. enum: `authentication-md5`, `authentication-none`, `authentication-sha`, `authentication-sha224`, `authentication-sha256`, `authentication-sha384`, `authentication-sha512`' enum: - authentication-md5 - authentication-none - authentication-sha - authentication-sha224 - authentication-sha256 - authentication-sha384 - authentication-sha512 type: string snmpv3_config_notify_items: additionalProperties: false properties: name: type: string tag: type: string type: $ref: '#/components/schemas/snmpv3_config_notify_type' type: object 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 switch_matching_rule_ip_config: additionalProperties: false description: In-Band Management interface configuration properties: network: description: VLAN Name for the management interface type: string type: $ref: '#/components/schemas/ip_type' type: object radius_acct_server: additionalProperties: false properties: host: description: IP/ hostname of RADIUS server examples: - 1.2.3.4 type: string keywrap_enabled: type: boolean keywrap_format: $ref: '#/components/schemas/radius_keywrap_format' keywrap_kek: examples: - '1122334455' type: string keywrap_mack: examples: - '1122334455' type: string port: $ref: '#/components/schemas/radius_acct_port' secret: description: Secret of RADIUS server examples: - testing123 format: password type: string required: - host - secret type: object acl_tag_subnets: description: "If \n- `type`==`subnet` \n- `type`==`resource` (optional. default is `any`)\n- `type`==`static_gbp` if from matching subnet" items: type: string type: array radius_auth_port: anyOf: - maximum: 65545 minimum: 1 type: integer - type: string description: Radius Auth Port, value from 1 to 65535, default is 1812 additional_config_cmds: description: 'additional CLI commands to append to the generated Junos config. **Note**: no check is done' items: description: JUNOS "set" command to add to the generated configuration examples: - set snmp community public type: string type: array remote_syslog: additionalProperties: false properties: archive: $ref: '#/components/schemas/remote_syslog_archive' cacerts: $ref: '#/components/schemas/remote_syslog_cacerts' console: $ref: '#/components/schemas/remote_syslog_console' enabled: default: false type: boolean files: $ref: '#/components/schemas/remote_syslog_files' network: description: If source_address is configured, will use the vlan firstly otherwise use source_ip examples: - default type: string send_to_all_servers: default: false type: boolean servers: $ref: '#/components/schemas/remote_syslog_servers' time_format: $ref: '#/components/schemas/remote_syslog_time_format' users: $ref: '#/components/schemas/remote_syslog_users' type: object switch_port_usage_dynamic_rule_equals_any: description: Use `equals_any` to match any item in a list items: type: string type: array snmp_config_trap_group_targets: items: examples: - 172.29.158.19 type: string type: array snmp_config: additionalProperties: false properties: client_list: $ref: '#/components/schemas/snmp_config_client_lists' contact: examples: - cns@juniper.net type: string description: examples: - Juniper QFX Series Switch - 1K_5LA type: string enabled: default: true type: boolean engine_id: $ref: '#/components/schemas/snmp_config_engine_id' engine_id_type: $ref: '#/components/schemas/snmp_config_engine_id_type' location: examples: - Las Vegas, NV type: string name: examples: - TGH-1K-QFX10K type: string network: default: default type: string trap_groups: $ref: '#/components/schemas/snmp_config_trap_groups' v2c_config: $ref: '#/components/schemas/snmp_config_v2c_configs' v3_config: $ref: '#/components/schemas/snmpv3_config' views: $ref: '#/components/schemas/snmp_config_views' type: object remote_syslog_archive_files: anyOf: - type: string - type: integer examples: - 20 switch_radius: additionalProperties: false description: By default, `radius_config` will be used. if a different one has to be used set `use_different_radius properties: enabled: type: boolean radius_config: $ref: '#/components/schemas/switch_radius_config' use_different_radius: type: string type: object snmpv3_config_target_param: additionalProperties: false properties: message_processing_model: $ref: '#/components/schemas/snmpv3_config_target_param_mess_process_model' name: type: string notify_filter: description: Refer to profile-name in notify_filter type: string security_level: $ref: '#/components/schemas/snmpv3_config_target_param_security_level' security_model: $ref: '#/components/schemas/snmpv3_config_target_param_security_model' security_name: description: Refer to security_name in usm examples: - m01620 type: string type: object acl_tag_type: description: "enum: \n * `any`: matching anything not identified\n * `dynamic_gbp`: from the gbp_tag received from RADIUS\n * `gbp_resource`: can only be used in `dst_tags`\n * `mac`\n * `network`\n * `port_usage`\n * `radius_group`\n * `resource`: can only be used in `dst_tags`\n * `static_gbp`: applying gbp tag against matching conditions\n * `subnet`'" enum: - any - dynamic_gbp - gbp_resource - mac - network - port_usage - radius_group - resource - static_gbp - subnet type: string switch_radius_config: additionalProperties: false description: Junos Radius config properties: acct_immediate_update: type: boolean acct_interim_interval: default: 0 description: How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the radius server, 600 and up is recommended when enabled maximum: 65535 minimum: 0 type: integer acct_servers: $ref: '#/components/schemas/radius_acct_servers' auth_server_selection: $ref: '#/components/schemas/switch_radius_config_auth_server_selection' auth_servers: $ref: '#/components/schemas/radius_auth_servers' auth_servers_retries: default: 3 description: Radius auth session retries type: integer auth_servers_timeout: default: 5 description: Radius auth session timeout type: integer coa_enabled: default: false type: boolean coa_port: $ref: '#/components/schemas/radius_coa_port' fast_dot1x_timers: default: false type: boolean network: description: Use `network`or `source_ip`. Which network the RADIUS server resides, if there's static IP for this network, we'd use it as source-ip type: string source_ip: description: Use `network`or `source_ip` type: string type: object snmp_vacm_access_item_prefix_list: items: $ref: '#/components/schemas/snmp_vacm_access_item_prefix_list_item' type: array snmpv3_config_target_address_item: additionalProperties: false properties: address: examples: - 10.11.0.2 type: string address_mask: examples: - 255.255.255.0 type: string port: default: '161' type: - string - 'null' tag_list: description: Refer to notify tag, can be multiple with blank type: string target_address_name: examples: - target_address_name type: string target_parameters: description: Refer to notify target parameters name type: string type: object radius_auth_server: additionalProperties: false description: Authentication Server properties: host: description: IP/ hostname of RADIUS server examples: - 1.2.3.4 type: string keywrap_enabled: type: boolean keywrap_format: $ref: '#/components/schemas/radius_keywrap_format' keywrap_kek: examples: - '1122334455' type: string keywrap_mack: examples: - '1122334455' type: string port: $ref: '#/components/schemas/radius_auth_port' require_message_authenticator: default: false description: Whether to require Message-Authenticator in requests type: boolean secret: description: Secret of RADIUS server examples: - testing123 format: password type: string required: - host - secret type: object extra_routes6: additionalProperties: $ref: '#/components/schemas/extra_route6' description: Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64") examples: - 2a02:1234:420a:10c9::/64: via: 2a02:1234:200a::100 type: object snmp_config_engine_id: maxLength: 27 type: string ospf_area_type: default: default description: 'OSPF type. enum: `default`, `nssa`, `stub`' enum: - default - nssa - stub examples: - default type: string junos_port_config: additionalProperties: false description: Switch port config properties: ae_disable_lacp: description: To disable LACP support for the AE interface type: boolean ae_idx: description: Users could force to use the designated AE name type: integer ae_lacp_force_up: default: false description: 'If `aggregated`==`true`, sets the state of the interface as UP when the peer has limited LACP capability. Use case: When a device connected to this AE port is ZTPing for the first time, it will not have LACP configured on the other end. **Note:** Turning this on will enable force-up on one of the interfaces in the bundle only' type: boolean ae_lacp_slow: description: To use slow timeout type: boolean aggregated: default: false type: boolean critical: default: false description: To generate port up/down alarm type: boolean description: type: string disable_autoneg: default: false description: If `speed` and `duplex` are specified, whether to disable autonegotiation type: boolean duplex: $ref: '#/components/schemas/junos_port_config_duplex' dynamic_usage: description: Enable dynamic usage for this port. Set to `dynamic` to enable. type: - string - 'null' esilag: type: boolean mtu: default: 1514 description: Media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation type: integer networks: description: List of network names. Required if `usage`==`inet` items: type: string type: array no_local_overwrite: default: true description: Prevent helpdesk to override the port config type: boolean poe_disabled: default: false type: boolean port_network: description: Required if `usage`==`vlan_tunnel`. Q-in-Q tunneling using All-in-one bundling. This also enables standard L2PT for interfaces that are not encapsulation tunnel interfaces and uses MAC rewrite operation. [View more information](https://www.juniper.net/documentation/us/en/software/junos/multicast-l2/topics/topic-map/q-in-q.html#id-understanding-qinq-tunneling-and-vlan-translation) type: string speed: $ref: '#/components/schemas/junos_port_config_speed' usage: description: Port usage name. For Q-in-Q, use `vlan_tunnel`. If EVPN is used, use `evpn_uplink`or `evpn_downlink` type: string required: - usage type: object network_templates: items: $ref: '#/components/schemas/network_template' type: array dns_suffix: description: Global dns settings. To keep compatibility, dns settings in `ip_config` and `oob_ip_config` will overwrite this setting items: type: string type: array dns_servers: description: Global dns settings. To keep compatibility, dns settings in `ip_config` and `oob_ip_config` will overwrite this setting items: type: string type: array ospf_areas: additionalProperties: $ref: '#/components/schemas/ospf_area' description: Junos OSPF areas. Property key is the OSPF Area (Area should be a number (0-255) / IP address) type: object radius_auth_servers: items: $ref: '#/components/schemas/radius_auth_server' type: array uniqueItems: true config_switch_local_accounts_user: additionalProperties: false properties: password: examples: - Juniper123 format: password type: string role: $ref: '#/components/schemas/config_switch_local_accounts_user_role' type: object snmp_vacm_security_to_group_content: items: $ref: '#/components/schemas/snmp_vacm_security_to_group_content_item' type: array 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 sw_routing_policy_term: additionalProperties: false properties: actions: $ref: '#/components/schemas/sw_routing_policy_term_action' matching: $ref: '#/components/schemas/sw_routing_policy_term_matching' name: type: string required: - name type: object vlan_id_with_variable: oneOf: - type: string - maximum: 4094 minimum: 1 type: integer snmpv3_config: additionalProperties: false properties: notify: $ref: '#/components/schemas/snmpv3_config_notify' notify_filter: $ref: '#/components/schemas/snmpv3_config_notify_filter' target_address: $ref: '#/components/schemas/snmpv3_config_target_address' target_parameters: $ref: '#/components/schemas/snmpv3_config_target_params' usm: $ref: '#/components/schemas/snmp_usms' vacm: $ref: '#/components/schemas/snmp_vacm' type: object allow_deny: description: 'enum: `allow`, `deny`' enum: - allow - deny type: string switch_matching_rules: items: $ref: '#/components/schemas/switch_matching_rule' type: array uniqueItems: true 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 sw_routing_policy_terms: description: at least criteria/filter must be specified to match the term, all criteria have to be met items: $ref: '#/components/schemas/sw_routing_policy_term' minItems: 1 type: array uniqueItems: true 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 vrf_extra_route: additionalProperties: false properties: via: description: Next-hop address format: ipv4 type: string type: object switch_port_mirroring_ingress_port_ids: description: At least one of the `input_port_ids_ingress`, `input_port_ids_egress` or `input_networks_ingress ` should be specified items: examples: - ge-0/0/3 type: string type: array 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 snmp_usm_users: items: $ref: '#/components/schemas/snmp_usm_user' type: array switch_port_usage_dynamic_rules: description: Only if `mode`==`dynamic` items: $ref: '#/components/schemas/switch_port_usage_dynamic_rule' type: array snmp_config_views: items: $ref: '#/components/schemas/snmp_config_view' type: array junos_port_config_speed: default: auto description: 'enum: `100m`, `10m`, `1g`, `2.5g`, `5g`, `10g`, `25g`, `40g`, `100g`,`auto`' enum: - 10m - 100m - 1g - 2.5g - 5g - 10g - 25g - 40g - 100g - auto type: string 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 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) remote_syslog_cacerts: examples: - - '-----BEGIN CERTIFICATE-----\nMIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE\n-----END CERTIFICATE-----' - '-----BEGIN CERTIFICATE-----\nBhMCRVMxFDASBgNVBAoMC1N0YXJ0Q29tIENBMSwwKgYDVn-----END CERTIFICATE-----' items: type: string type: array switch_port_usage_speed: default: auto description: 'Only if `mode`!=`dynamic`, Port speed, default is auto to automatically negotiate speed enum: `100m`, `10m`, `1g`, `2.5g`, `5g`, `10g`, `25g`, `40g`, `100g`,`auto`' enum: - 10m - 100m - 1g - 2.5g - 5g - 10g - 25g - 40g - 100g - auto type: string ospf_area_network_auth_type: default: none description: 'auth type. enum: `md5`, `none`, `password`' enum: - md5 - none - password examples: - md5 type: string protect_re_allowed_service: description: 'enum: `icmp`, `ssh`' enum: - icmp - ssh 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 remote_syslog_users: items: $ref: '#/components/schemas/remote_syslog_user' type: array created_time: description: When the object has been created, in epoch format: double readOnly: true type: number network_template: description: Network Template properties: acl_policies: $ref: '#/components/schemas/acl_policies' acl_tags: $ref: '#/components/schemas/acl_tags' additional_config_cmds: $ref: '#/components/schemas/additional_config_cmds' bgp_config: additionalProperties: $ref: '#/components/schemas/switch_bgp_config' type: object created_time: $ref: '#/components/schemas/created_time' dhcp_snooping: $ref: '#/components/schemas/dhcp_snooping' dns_servers: $ref: '#/components/schemas/dns_servers' dns_suffix: $ref: '#/components/schemas/dns_suffix' extra_routes: $ref: '#/components/schemas/extra_routes' extra_routes6: $ref: '#/components/schemas/extra_routes6' id: $ref: '#/components/schemas/id' import_org_networks: $ref: '#/components/schemas/network_template_import_org_networks' mist_nac: $ref: '#/components/schemas/switch_mist_nac' modified_time: $ref: '#/components/schemas/modified_time' name: type: string networks: $ref: '#/components/schemas/switch_networks' ntp_servers: $ref: '#/components/schemas/ntp_servers' org_id: $ref: '#/components/schemas/org_id' ospf_areas: $ref: '#/components/schemas/ospf_areas' port_mirroring: $ref: '#/components/schemas/switch_port_mirroring' port_usages: $ref: '#/components/schemas/switch_port_usages' radius_config: $ref: '#/components/schemas/switch_radius_config' remote_syslog: $ref: '#/components/schemas/remote_syslog' 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 routing_policies: $ref: '#/components/schemas/sw_routing_policies' snmp_config: $ref: '#/components/schemas/snmp_config' switch_matching: $ref: '#/components/schemas/switch_matching' switch_mgmt: $ref: '#/components/schemas/switch_mgmt' vrf_config: $ref: '#/components/schemas/vrf_config' vrf_instances: $ref: '#/components/schemas/switch_vrf_instances' type: object snmp_vacm_security_to_group: additionalProperties: false properties: content: $ref: '#/components/schemas/snmp_vacm_security_to_group_content' security_model: $ref: '#/components/schemas/snmp_vacm_security_model' type: object switch_port_usage: additionalProperties: false description: Junos port usages properties: all_networks: default: false description: Only if `mode`==`trunk`. Whether to trunk all network/vlans type: boolean allow_dhcpd: description: 'Only applies when `mode`!=`dynamic`. Controls whether DHCP server traffic is allowed on ports using this configuration if DHCP snooping is enabled. This is a tri-state setting; `true`: ports become trusted ports allowing DHCP server traffic, `false`: ports become untrusted blocking DHCP server traffic, undefined: use system defaults (access ports default to untrusted, trunk ports default to trusted).' type: boolean allow_multiple_supplicants: default: false description: Only if `mode`!=`dynamic` type: boolean bypass_auth_when_server_down: default: false description: Only if `mode`!=`dynamic` and `port_auth`==`dot1x`. Bypass auth for known clients if set to true when RADIUS server is down type: boolean bypass_auth_when_server_down_for_unknown_client: default: false description: Only if `mode`!=`dynamic` and `port_auth`=`dot1x`. Bypass auth for all (including unknown clients) if set to true when RADIUS server is down type: boolean bypass_auth_when_server_down_for_voip: default: false description: Only if `mode`!=`dynamic` and `port_auth`==`dot1x`. Bypass auth for VOIP if set to true when RADIUS server is down type: boolean community_vlan_id: description: Only if `mode`!=`dynamic`. To be used together with `isolation` under networks. Signaling that this port connects to the networks isolated but wired clients belong to the same community can talk to each other type: integer description: description: Only if `mode`!=`dynamic` type: string disable_autoneg: default: false description: Only if `mode`!=`dynamic`. If speed and duplex are specified, whether to disable autonegotiation type: boolean disabled: default: false description: Only if `mode`!=`dynamic`. Whether the port is disabled type: boolean duplex: $ref: '#/components/schemas/switch_port_usage_duplex' dynamic_vlan_networks: $ref: '#/components/schemas/switch_port_usage_dynamic_vlan_networks' enable_mac_auth: default: false description: Only if `mode`!=`dynamic` and `port_auth`==`dot1x`. Whether to enable MAC Auth type: boolean enable_qos: default: false description: Only if `mode`!=`dynamic` type: boolean guest_network: description: Only if `mode`!=`dynamic` and `port_auth`==`dot1x`. Which network to put the device into if the device cannot do dot1x. default is null (i.e. not allowed) type: - string - 'null' inter_isolation_network_link: default: false description: Only if `mode`!=`dynamic`. `inter_isolation_network_link` is used together with `isolation` under networks, signaling that this port connects to isolated networks type: boolean inter_switch_link: default: false description: 'Only if `mode`!=`dynamic`. `inter_switch_link` is used together with `isolation` under networks. NOTE: `inter_switch_link` works only between Juniper devices. This has to be applied to both ports connected together' type: boolean mac_auth_only: description: Only if `mode`!=`dynamic` and `enable_mac_auth`==`true` type: boolean mac_auth_preferred: description: Only if `mode`!=`dynamic` + `enable_mac_auth`==`true` + `mac_auth_only`==`false`, dot1x will be given priority then mac_auth. Enable this to prefer mac_auth over dot1x. type: boolean mac_auth_protocol: $ref: '#/components/schemas/switch_port_usage_mac_auth_protocol' mac_limit: $ref: '#/components/schemas/switch_port_usage_mac_limit' mode: $ref: '#/components/schemas/switch_port_usage_mode' mtu: $ref: '#/components/schemas/switch_port_usage_mtu' networks: $ref: '#/components/schemas/switch_port_usage_networks' persist_mac: default: false description: Only if `mode`==`access` and `port_auth`!=`dot1x`. Whether the port should retain dynamically learned MAC addresses type: boolean poe_disabled: default: false description: Only if `mode`!=`dynamic`. Whether PoE capabilities are disabled for a port type: boolean poe_keep_state_when_reboot: default: false description: Only if `mode`!=`dynamic`. Whether Perpetual PoE is enabled; keeps PoE state across reboots type: boolean poe_priority: $ref: '#/components/schemas/poe_priority' port_auth: $ref: '#/components/schemas/switch_port_usage_dot1x' port_network: description: Only if `mode`!=`dynamic`. Native network/vlan for untagged traffic type: string reauth_interval: $ref: '#/components/schemas/switch_port_usage_reauth_interval' reset_default_when: $ref: '#/components/schemas/switch_port_usage_dynamic_reset_default_when' rules: $ref: '#/components/schemas/switch_port_usage_dynamic_rules' server_fail_network: description: Only if `mode`!=`dynamic` and `port_auth`==`dot1x`. Sets server fail fallback vlan type: - string - 'null' server_reject_network: description: Only if `mode`!=`dynamic` and `port_auth`==`dot1x`. When radius server reject / fails type: - string - 'null' speed: $ref: '#/components/schemas/switch_port_usage_speed' storm_control: $ref: '#/components/schemas/switch_port_usage_storm_control' stp_disable: default: false description: Only if `mode`!=`dynamic` and `stp_required`==`false`. Drop bridge protocol data units (BPDUs ) that enter any interface or a specified interface type: boolean stp_edge: default: false description: Only if `mode`!=`dynamic`. When enabled, the port is not expected to receive BPDU frames type: boolean stp_no_root_port: default: false description: Only if `mode`!=`dynamic` type: boolean stp_p2p: default: false description: Only if `mode`!=`dynamic` type: boolean stp_required: default: false description: Only if `mode`!=`dynamic`. Whether to remain in block state if no BPDU is received type: boolean ui_evpntopo_id: description: Optional for Campus Fabric Core-Distribution ESI-LAG profile. Helper used by the UI to select this port profile as the ESI-Lag between Distribution and Access switches format: uuid type: string use_vstp: default: false description: If this is connected to a vstp network type: boolean voip_network: description: Only if `mode`!=`dynamic`. Network/vlan for voip traffic, must also set port_network. to authenticate device, set port_auth type: - string - 'null' 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 snmp_usm_user_encryption_type: description: 'enum: `privacy-3des`, `privacy-aes128`, `privacy-des`, `privacy-none`' enum: - privacy-3des - privacy-aes128 - privacy-des - privacy-none type: string tacacs_acct_servers: items: $ref: '#/components/schemas/tacacs_acct_server' type: array switch_bgp_config_hold_time_zero: enum: - 0 type: integer sw_routing_policies: additionalProperties: $ref: '#/components/schemas/sw_routing_policy' description: Property key is the routing policy name type: object remote_syslog_content: additionalProperties: false properties: facility: $ref: '#/components/schemas/remote_syslog_facility' severity: $ref: '#/components/schemas/remote_syslog_severity' type: object protect_re_allowed_services: description: Optionally, services we'll allow examples: - - icmp - ssh items: $ref: '#/components/schemas/protect_re_allowed_service' type: array switch_matching_rule_oob_ip_config: additionalProperties: false description: Out-of-Band Management interface configuration properties: 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 type: object switch_radius_config_auth_server_selection: default: ordered description: 'enum: `ordered`, `unordered`' enum: - ordered - unordered type: string snmp_usms: items: $ref: '#/components/schemas/snmp_usm' type: array network_template_import_org_networks: description: Org Networks that we'd like to import items: examples: - ap type: string type: array snmp_config_v2c_configs: items: $ref: '#/components/schemas/snmp_config_v2c_config' type: array 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 acl_tag_ether_types: default: - any description: ARP / IPv6. Default is `any` items: type: string type: array switch_port_usage_dynamic_rule_src: description: 'enum: `link_peermac`, `lldp_chassis_id`, `lldp_hardware_revision`, `lldp_manufacturer_name`, `lldp_oui`, `lldp_serial_number`, `lldp_system_description`, `lldp_system_name`, `radius_dynamicfilter`, `radius_usermac`, `radius_username`' enum: - link_peermac - lldp_chassis_id - lldp_hardware_revision - lldp_manufacturer_name - lldp_oui - lldp_serial_number - lldp_system_description - lldp_system_name - radius_dynamicfilter - radius_usermac - radius_username type: string snmpv3_config_notify: items: $ref: '#/components/schemas/snmpv3_config_notify_items' type: array snmp_vacm_access_item_prefix_list_item: additionalProperties: false properties: context_prefix: description: Only required if `type`==`context_prefix` examples: - iil type: string notify_view: description: Refer to view name examples: - all type: string read_view: description: Refer to view name examples: - all type: string security_level: $ref: '#/components/schemas/snmp_vacm_access_item_prefix_list_item_level' security_model: $ref: '#/components/schemas/snmp_vacm_access_item_prefix_list_item_model' type: $ref: '#/components/schemas/snmp_vacm_access_item_type' write_view: description: Refer to view name examples: - all type: string type: object vrf_config: additionalProperties: false properties: enabled: description: Whether to enable VRF (when supported on the device) type: boolean 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 switch_matching_rule: additionalProperties: type: string description: "Property key defines the type of matching, value is the string to match. e.g:\n * `match_name[0:3]`: switch name must match the first 3 letters of the property value\n * `match_name[2:6]`: switch name must match the property value from the 2nd to the 6th letter\n * `match_model[0-8]`: switch model must match the first 8 letters of the property value\n * `match_role`: switch role must match the property value" examples: - match_model: EX4300 match_name[0:3]: abc properties: additional_config_cmds: $ref: '#/components/schemas/additional_config_cmds' default_port_usage: default: default description: 'Port usage to assign to switch ports without any port usage assigned. Default: `default` to preserve default behavior' type: string ip_config: $ref: '#/components/schemas/switch_matching_rule_ip_config' name: description: 'Rule name. WARNING: the name `default` is reserved and can only be used for the last rule in the list' maxLength: 32 minLength: 1 type: string oob_ip_config: $ref: '#/components/schemas/switch_matching_rule_oob_ip_config' port_config: $ref: '#/components/schemas/wired_port_config' port_mirroring: $ref: '#/components/schemas/switch_port_mirroring' stp_config: $ref: '#/components/schemas/switch_stp_config' switch_mgmt: $ref: '#/components/schemas/switch_mgmt' type: object radius_keywrap_format: description: 'enum: `ascii`, `hex`' enum: - ascii - hex type: string 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 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 bgp_as: anyOf: - type: string - maximum: 4294967294 minimum: 1 type: integer description: BGP AS, value in range 1-4294967294. Can be a Variable (e.g. `{{bgp_as}}` ) examples: - 65000 protect_re_custom: additionalProperties: false description: Custom acls properties: port_range: default: '0' description: Matched dst port, "0" means any examples: - 80,1035-1040 type: string protocol: $ref: '#/components/schemas/protect_re_custom_protocol' subnets: $ref: '#/components/schemas/protect_re_custom_subnet' type: object remote_syslog_console: additionalProperties: false properties: contents: $ref: '#/components/schemas/remote_syslog_contents' type: object switch_mgmt_mxedge_proxy_port: anyOf: - default: 2222 maximum: 65535 minimum: 1 type: integer - type: string description: Mist Edge port used to proxy the switch management traffic to the Mist Cloud. Value in range 1-65535 switch_matching: additionalProperties: false description: Defines custom switch configuration based on different criteria properties: enable: type: boolean rules: $ref: '#/components/schemas/switch_matching_rules' type: object remote_syslog_files: items: $ref: '#/components/schemas/remote_syslog_file_config' type: array snmp_config_view: additionalProperties: false properties: include: description: If the root oid configured is included type: boolean oid: examples: - 1.3.6.1 type: string view_name: examples: - all type: string type: object acl_tag_specs: description: If `type`==`resource`, `type`==`radius_group`, `type`==`port_usage` or `type`==`gbp_resource`. Empty means unrestricted, i.e. any items: $ref: '#/components/schemas/acl_tag_spec' type: array config_switch_local_accounts: additionalProperties: $ref: '#/components/schemas/config_switch_local_accounts_user' description: Property key is the user name. For Local user authentication type: object switch_port_usages: additionalProperties: $ref: '#/components/schemas/switch_port_usage' description: Property key is the port usage name. Defines the profiles of port configuration configured on the switch type: object snmpv3_config_notify_filter_item_content: additionalProperties: false properties: include: type: boolean oid: examples: - 1.3.6.1.4.1 type: string type: object sw_routing_policy_term_matching_protocol: items: $ref: '#/components/schemas/sw_routing_policy_term_matching_protocol_enum' type: array extra_route6: additionalProperties: false properties: discard: default: false description: This takes precedence type: boolean metric: examples: - null maximum: 2147483647 minimum: 0 type: - integer - 'null' next_qualified: additionalProperties: $ref: '#/components/schemas/extra_route6_next_qualified_properties' examples: - 2a02:1234:200a::100: metric: null preference: 40 type: object no_resolve: default: false type: boolean preference: examples: - 30 maximum: 2147483647 minimum: 0 type: - integer - 'null' via: $ref: '#/components/schemas/next_hop_via' type: object snmp_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 response_http429: additionalProperties: false properties: detail: examples: - Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold type: string type: object snmpv3_config_target_params: items: $ref: '#/components/schemas/snmpv3_config_target_param' type: array switch_bgp_config: additionalProperties: false properties: auth_key: type: string bfd_minimum_interval: description: Minimum interval in milliseconds for BFD hello packets. A neighbor is considered failed when the device stops receiving replies after the specified interval. Value must be between 1 and 255000. maximum: 255000 minimum: 1 type: integer 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 local_as: $ref: '#/components/schemas/bgp_as' neighbors: $ref: '#/components/schemas/switch_bgp_config_neighbors' networks: $ref: '#/components/schemas/switch_bgp_config_networks' type: $ref: '#/components/schemas/switch_bgp_config_type' required: - type - local_as type: object dhcp_snooping: additionalProperties: false properties: all_networks: type: boolean enable_arp_spoof_check: description: Enable for dynamic ARP inspection check type: boolean enable_ip_source_guard: description: Enable for check for forging source IP address type: boolean enabled: type: boolean networks: $ref: '#/components/schemas/dhcp_snooping_networks' type: object sw_routing_policy_term_matching_protocol_enum: description: 'enum: `bgp`, `direct`, `evpn`, `ospf`, `static`' enum: - bgp - direct - evpn - ospf - static type: string acl_policy: additionalProperties: false description: "ACL Policy:\n - for GBP-based policy, all src_tags and dst_tags have to be gbp-based\n - for ACL-based policy, `network` is required in either the source or destination so that we know where to attach the policy to" properties: actions: $ref: '#/components/schemas/acl_policy_actions' name: examples: - guest access type: string src_tags: $ref: '#/components/schemas/acl_policy_src_tags' type: object snmp_config_trap_group_categories: items: examples: - authentication type: string type: array remote_syslog_contents: items: $ref: '#/components/schemas/remote_syslog_content' type: array remote_syslog_user: additionalProperties: false properties: contents: $ref: '#/components/schemas/remote_syslog_contents' match: examples: - '"!alarm|ntp|errors.crc_error[chan]"' type: string user: examples: - '*' type: string type: object protect_re: additionalProperties: false description: "Restrict inbound-traffic to host\nwhen enabled, all traffic that is not essential to our operation will be dropped \ne.g. ntp / dns / traffic to mist will be allowed by default, if dhcpd is enabled, we'll make sure it works" properties: allowed_services: $ref: '#/components/schemas/protect_re_allowed_services' custom: $ref: '#/components/schemas/protect_re_customs' enabled: default: false description: "When enabled, all traffic that is not essential to our operation will be dropped\ne.g. ntp / dns / traffic to mist will be allowed by default\n if dhcpd is enabled, we'll make sure it works" type: boolean hit_count: default: false description: Whether to enable hit count for Protect_RE policy type: boolean trusted_hosts: $ref: '#/components/schemas/protect_re_trusted_hosts' type: object remote_syslog_server_protocol: default: udp description: 'enum: `tcp`, `udp`' enum: - tcp - udp type: string 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 org_id: examples: - a97c1b22-a4e9-411e-9bfd-d8695a0f9e61 format: uuid readOnly: true type: string acl_policies: items: $ref: '#/components/schemas/acl_policy' type: array snmp_config_v2c_config: additionalProperties: false properties: authorization: examples: - read-only type: string client_list_name: description: Client_list_name here should refer to client_list above examples: - clist-1 type: string community_name: examples: - abc123 type: string view: description: View name here should be defined in views above examples: - all 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 protect_re_trusted_hosts: description: host/subnets we'll allow traffic to/from items: examples: - 10.242.3.0/24 type: string type: array switch_bgp_config_type: description: 'enum: `external`, `internal`' enum: - external - internal type: string snmpv3_config_target_param_security_level: description: 'enum: `authentication`, `none`, `privacy`' enum: - authentication - none - privacy type: string 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 aggregate_route: additionalProperties: false properties: discard: default: false type: boolean metric: maximum: 4294967295 minimum: 0 type: - integer - 'null' preference: maximum: 4294967295 minimum: 0 type: - integer - 'null' type: object 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 snmp_config_engine_id_type: default: local description: 'enum: `local`, `use_mac_address`' enum: - local - use_mac_address type: string tacacs: additionalProperties: false properties: acct_servers: $ref: '#/components/schemas/tacacs_acct_servers' default_role: $ref: '#/components/schemas/tacacs_default_role' enabled: type: boolean network: description: Which network the TACACS server resides type: string tacplus_servers: $ref: '#/components/schemas/tacacs_auth_servers' type: object snmpv3_config_notify_filter_item_contents: items: $ref: '#/components/schemas/snmpv3_config_notify_filter_item_content' type: array remote_syslog_servers: examples: - - facility: config host: syslogd.internal port: 514 protocol: udp severity: info tag: '' items: $ref: '#/components/schemas/remote_syslog_server' type: array snmp_config_client_lists: items: $ref: '#/components/schemas/snmp_config_client_list' type: array switch_bgp_config_hold_time_integer: maximum: 65535 minimum: 3 type: integer response_http403: additionalProperties: false properties: detail: examples: - You do not have permission to perform this action. type: string type: object remote_syslog_file_config: additionalProperties: false properties: archive: $ref: '#/components/schemas/remote_syslog_archive' contents: $ref: '#/components/schemas/remote_syslog_contents' enable_tls: description: Only if `protocol`==`tcp` type: boolean explicit_priority: type: boolean file: examples: - file-name type: string match: examples: - '!alarm|ntp|errors.crc_error[chan]' type: string structured_data: type: boolean type: object switch_port_usage_mode: description: '`mode`==`dynamic` must only be used if the port usage name is `dynamic`. enum: `access`, `dynamic`, `inet`, `trunk`' enum: - access - dynamic - inet - trunk type: string aggregate_routes6: additionalProperties: $ref: '#/components/schemas/aggregate_route' description: Property key is the destination subnet (e.g. "2a02:1234:420a:10c9::/64") example: 2a02:1234:420a:10c9::/64: discard: false metric: null preference: 30 type: object snmp_vacm_security_model: description: 'enum: `usm`, `v1`, `v2c`' enum: - usm - v1 - v2c type: string dhcp_snooping_networks: description: If `all_networks`==`false`, list of network with DHCP snooping enabled items: type: string type: array ip_type: default: dhcp description: 'enum: `dhcp`, `static`' enum: - dhcp - static examples: - static type: string 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 snmp_vacm_access_item_prefix_list_item_model: description: 'enum: `any`, `usm`, `v1`, `v2c`' enum: - any - usm - v1 - v2c type: string vrf_extra_route6: additionalProperties: false properties: via: description: Next-hop address format: ipv6 type: string type: object switch_port_usage_duplex: default: auto description: 'Only if `mode`!=`dynamic`. Link connection mode. enum: `auto`, `full`, `half`' enum: - auto - full - half type: string snmp_vacm_access_item: additionalProperties: false properties: group_name: type: string prefix_list: $ref: '#/components/schemas/snmp_vacm_access_item_prefix_list' type: object 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 switch_bgp_config_neighbors: additionalProperties: $ref: '#/components/schemas/switch_bgp_config_neighbor' description: Property key is the BGP Neighbor IP Address. type: object response_http404: additionalProperties: false properties: id: type: string type: object switch_networks: additionalProperties: $ref: '#/components/schemas/switch_network' description: Property key is network name type: object snmp_config_trap_groups: items: $ref: '#/components/schemas/snmp_config_trap_group' type: array 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 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_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 snmpv3_config_target_param_mess_process_model: description: 'enum: `v1`, `v2c`, `v3`' enum: - v1 - v2c - v3 type: string switch_port_mirroring: additionalProperties: $ref: '#/components/schemas/switch_port_mirroring_property' description: Property key is the port mirroring instance name. `port_mirroring` can be added under device/site settings. It takes interface and ports as input for ingress, interface as input for egress and can take interface and port as output. A maximum 4 mirroring ports is allowed type: object response_http400: additionalProperties: false properties: detail: examples: - 'JSON parse error - Expecting value: line 5 column 8 (char 56)' type: string type: object snmp_vacm_access: items: $ref: '#/components/schemas/snmp_vacm_access_item' type: array radius_acct_servers: items: $ref: '#/components/schemas/radius_acct_server' type: array uniqueItems: true 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 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 config_switch_local_accounts_user_role: default: none description: 'enum: `admin`, `helpdesk`, `none`, `read`' enum: - admin - helpdesk - none - read type: string 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 extra_route_next_qualified_properties: additionalProperties: false properties: metric: type: - integer - 'null' preference: type: - integer - 'null' type: object poe_priority: description: 'PoE priority. enum: `low`, `high`' enum: - low - high type: string 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 snmp_vacm: additionalProperties: false properties: access: $ref: '#/components/schemas/snmp_vacm_access' security_to_group: $ref: '#/components/schemas/snmp_vacm_security_to_group' type: object snmpv3_config_notify_filter_item: additionalProperties: false properties: contents: $ref: '#/components/schemas/snmpv3_config_notify_filter_item_contents' profile_name: type: string type: object extra_route6_next_qualified_properties: additionalProperties: false properties: metric: type: - integer - 'null' preference: type: - integer - 'null' type: object sw_routing_policy: additionalProperties: false properties: terms: $ref: '#/components/schemas/sw_routing_policy_terms' type: object switch_port_usage_dot1x: description: 'Only if `mode`!=`dynamic`. If dot1x is desired, set to dot1x. enum: `dot1x`' enum: - dot1x type: - string - 'null' remote_syslog_time_format: description: 'enum: `millisecond`, `year`, `year millisecond`' enum: - millisecond - year - year millisecond examples: - millisecond 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 snmpv3_config_notify_filter: items: $ref: '#/components/schemas/snmpv3_config_notify_filter_item' 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_port: anyOf: - default: 514 maximum: 65545 minimum: 1 type: integer - type: string description: Syslog Service Port, value from 1 to 65535 switch_port_mirroring_ingress_networks: description: At least one of the `input_port_ids_ingress`, `input_port_ids_egress` or `input_networks_ingress ` should be specified items: examples: - corp type: string type: array protect_re_customs: items: $ref: '#/components/schemas/protect_re_custom' type: array modified_time: description: When the object has been modified for the last time, in epoch format: double readOnly: true type: number routing_policy_term_action_community: description: When used as export policy, optional items: examples: - '3900190' type: string type: array acl_policy_actions: description: "ACL Policy Actions:\n - for GBP-based policy, all src_tags and dst_tags have to be gbp-based\n - for ACL-based policy, `network` is required in either the source or destination so that we know where to attach the policy to" items: $ref: '#/components/schemas/acl_policy_action' type: array parameters: org_id: in: path name: org_id required: true schema: examples: - 000000ab-00ab-00ab-00ab-0000000000ab format: uuid type: string page: in: query name: page schema: default: 1 minimum: 1 type: integer networktemplate_id: in: path name: networktemplate_id required: true schema: examples: - 000000ab-00ab-00ab-00ab-0000000000ab format: uuid type: string limit: in: query name: limit schema: default: 100 minimum: 0 type: integer examples: NetworktemplatesArrayExample: value: - additional_config_cmds: - set snmp community public created_time: 0 dhcp_snooping: all_networks: true enable_arp_spoof_check: true enable_ip_source_guard: true enabled: true networks: - string dns_servers: - 8.8.8.8 - 4.4.4.4 dns_suffix: - .mist.local - .mist.com extra_routes: 0.0.0.0/0: via: 1.2.3.4 group_tags: {} id: 497f6eca-6276-4993-bfeb-53cbbbba6808 import_org_networks: - ap mist_nac: enabled: true network: default modified_time: 0 name: template_name networks: corp: vlan_id: 600 default: subnet: 192.168.1.0/24 vlan_id: 1 guest: vlan_id: 700 mgmt: vlan_id: 500 ntp_servers: - 192.168.1.10 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b port_usages: ap: all_networks: false allow_dhcpd: true bypass_auth_when_server_down: true description: WAP disable_autoneg: false disabled: false duplex: auto enable_mac_auth: false enable_qos: true mac_auth_only: false mac_auth_protocol: pap mac_limit: 0 mode: trunk networks: - guest - corp persist_mac: false poe_disabled: false port_network: default server_reject_network: null storm_control: no_broadcast: false no_multicast: false no_registered_multicast: false no_unknown_unicast: false percentage: 80 stp_edge: true dynamic: mode: dynamic reset_default_when: link_down rules: - equals: string equals_any: - string expression: string src: lldp_chassis_id usage: string iot: allow_dhcpd: true mode: access port_network: default stp_edge: true uplink: all_networks: true enable_qos: false mode: trunk port_network: default stp_edge: false radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 coa_enabled: false coa_port: 3799 network: default remote_syslog: archive: files: 20 size: 5m console: contents: - facility: config severity: warning enabled: false files: - archive: files: 10 size: 5m contents: - facility: config severity: warning explicit_priority: true file: file-name match: '!alarm|ntp|errors.crc_error[chan]' structured_data: true network: default send_to_all_servers: false servers: - facility: config host: syslogd.internal port: 514 protocol: udp severity: info tag: '' time_format: millisecond users: - contents: - facility: config severity: warning match: '"!alarm|ntp|errors.crc_error[chan]"' user: '*' switch_matching: enable: true rules: - additional_config_cmds: - set snmp community public match_model: EX4300 match_name[0:3]: abc name: match by name port_config: ge-0/0/0: usage: uplink ge-0/0/8-16ge-1/0/0-47: usage: ap - additional_config_cmds: - set snmp community public2 match_role: access name: match by role port_config: ge-0/0/0: usage: uplink 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.10 networks: - string property2: extra_routes: property1: via: 198.51.100.1 property2: via: 198.51.100.10 networks: - string HTTP403Example: value: detail: You do not have permission to perform this action. HTTP429Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold HTTP400Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' HTTP401Example: value: detail: Authentication credentials were not provided. NetworktemplateExample: value: additional_config_cmds: - set snmp community public created_time: 0 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: {} id: 497f6eca-6276-4993-bfeb-53cbbbba6708 import_org_networks: - ap mist_nac: enabled: true network: string modified_time: 0 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 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b 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 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.10 networks: - string property2: extra_routes: property1: via: 198.51.100.1 property2: via: 198.51.100.10 networks: - string responses: HTTP403: content: application/json: examples: Example: $ref: '#/components/examples/HTTP403Example' schema: $ref: '#/components/schemas/response_http403' application/vnd.api+json: examples: Example: $ref: '#/components/examples/HTTP403Example' schema: $ref: '#/components/schemas/response_http403' description: Permission Denied OK: description: OK HTTP401: content: application/json: examples: Example: $ref: '#/components/examples/HTTP401Example' schema: $ref: '#/components/schemas/response_http401' application/vnd.api+json: examples: Example: $ref: '#/components/examples/HTTP401Example' schema: $ref: '#/components/schemas/response_http401' description: Unauthorized NetworktemplatesArray: content: application/json: examples: Example: $ref: '#/components/examples/NetworktemplatesArrayExample' schema: $ref: '#/components/schemas/network_templates' application/vnd.api+json: examples: Example: $ref: '#/components/examples/NetworktemplatesArrayExample' schema: $ref: '#/components/schemas/network_templates' description: OK Networktemplate: content: application/json: examples: Example: $ref: '#/components/examples/NetworktemplateExample' schema: $ref: '#/components/schemas/network_template' application/vnd.api+json: examples: Example: $ref: '#/components/examples/NetworktemplateExample' schema: $ref: '#/components/schemas/network_template' description: OK HTTP404: content: application/json: schema: $ref: '#/components/schemas/response_http404' application/vnd.api+json: schema: $ref: '#/components/schemas/response_http404' description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist HTTP429: content: application/json: examples: Example: $ref: '#/components/examples/HTTP429Example' schema: $ref: '#/components/schemas/response_http429' application/vnd.api+json: examples: Example: $ref: '#/components/examples/HTTP429Example' schema: $ref: '#/components/schemas/response_http429' description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold HTTP400: content: application/json: examples: Example: $ref: '#/components/examples/HTTP400Example' schema: $ref: '#/components/schemas/response_http400' application/vnd.api+json: examples: Example: $ref: '#/components/examples/HTTP400Example' schema: $ref: '#/components/schemas/response_http400' description: Bad Syntax securitySchemes: apiToken: description: "Like many other API providers, it’s also possible to generate API Tokens to be used (in HTTP Header) for authentication. An API token ties to a Admin with equal or less privileges.\n\n**Format**:\n API Token value format is `Token {apitoken}`\n\n**Notes**:\n* an API token generated for a specific admin has the same privilege as the user\n* an API token will be automatically removed if not used for > 90 days\n* SSO admins cannot generate these API tokens. Refer Org level API tokens which can have privileges of a specific Org/Site for more information." in: header name: Authorization type: apiKey basicAuth: description: While our current UI uses Session / Cookie-based authentication, it’s also possible to do Basic Auth. scheme: basic type: http csrfToken: description: "This protects the website against [Cross Site Request Forgery](https://en.wikipedia.org/wiki/Cross-site_request_forgery), all the POST / PUT / DELETE APIs needs to have CSRF token in the AJAX Request header when using Login/Password authentication (with or without MFA)\n\n\nThe CSRF Token is sent back by Mist in the Cookies from the Login Response API Call:\n`cookies[csrftoken]` \n\nThe CSRF Token must be added in the HTTP Request Headers:\n```\nX-CSRFToken: vwvBuq9qkqaKh7lu8tNc0gkvBfEaLAmx\n```" in: header name: X-CSRFToken type: apiKey