Juniper Mist AI Orgs AP Templates API

AP Templates are defining Wi-Fi and AP settings that can be assigned to Access Points based on different types of rules. AP Templates must be assigned to one or multiple sites to be used.

OpenAPI Specification

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

    >

    > Date: **May 13, 2026**

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


    ---

    ## Additional Documentation

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

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

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


    ## Helpful Resources

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

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

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

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

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


    ## Mist Web Browser Extension:

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

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


    ---'
  license:
    name: MIT
    url: https://raw.githubusercontent.com/tmunzer/Mist-OAS3.0/main/LICENSE
  title: Mist Admins Orgs AP 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: 'AP Templates are defining Wi-Fi and AP settings that can be assigned to Access Points based on different types of rules.


    AP Templates must be assigned to one or multiple sites to be used.'
  name: Orgs AP Templates
paths:
  /api/v1/orgs/{org_id}/aptemplates:
    parameters:
    - $ref: '#/components/parameters/org_id'
    get:
      description: Get List of Org AP Templates
      operationId: listOrgAptemplates
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          $ref: '#/components/responses/AptemplatesArray'
        '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: listOrgAptemplates
      tags:
      - Orgs AP Templates
    post:
      description: Create Org AP Template
      operationId: createOrgAptemplate
      requestBody:
        content:
          application/json:
            examples:
              Example:
                value:
                  ap_matching:
                    enabled: true
                    rules:
                    - match_model: string
                      name: string
                      port_config:
                        property1:
                          disabled: true
                          dynamic_vlan:
                            default_vlan_id: 999
                            enabled: true
                            type: string
                            vlans:
                              1-10: null
                              user: null
                          enable_mac_auth: false
                          forwarding: all
                          mx_tunnel_id: 08cd7499-5841-51c8-e663-fb16b6f3b45e
                          mxtunnel_name: string
                          port_auth: none
                          port_vlan_id: 1
                          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: string
                            source_ip: string
                          radsec:
                            enabled: true
                            idle_timeout: 60
                            mxcluster_ids:
                            - 572586b7-f97b-a22b-526c-8b97a3f609c4
                            proxy_hosts:
                            - mxedge1.local
                            server_name: radsec.abc.com
                            servers:
                            - host: 1.1.1.1
                              port: 1812
                            use_mxedge: true
                            use_site_mxedge: false
                          vlan_id: 9
                          vlan_ids: 1, 10, 50
                          wxtunnel_id: 7dae216d-7c98-a51b-e068-dd7d477b7216
                          wxtunnel_remote_id: wifiguest
                        property2:
                          disabled: true
                          dynamic_vlan:
                            default_vlan_id: 999
                            enabled: true
                            type: string
                            vlans:
                              1-10: null
                              user: null
                          enable_mac_auth: false
                          forwarding: all
                          mx_tunnel_id: 08cd7499-5841-51c8-e663-fb16b6f3b45e
                          mxtunnel_name: string
                          port_auth: none
                          port_vlan_id: 1
                          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: string
                            source_ip: string
                          radsec:
                            enabled: true
                            idle_timeout: 60
                            mxcluster_ids:
                            - 572586b7-f97b-a22b-526c-8b97a3f609c4
                            proxy_hosts:
                            - mxedge1.local
                            server_name: radsec.abc.com
                            servers:
                            - host: 1.1.1.1
                              port: 1812
                            use_mxedge: true
                            use_site_mxedge: false
                          vlan_id: 9
                          vlan_ids: 1, 10, 50
                          wxtunnel_id: 7dae216d-7c98-a51b-e068-dd7d477b7216
                          wxtunnel_remote_id: wifiguest
                  wifi:
                    cisco_enabled: true
                    disable_11k: false
                    disable_radios_when_power_constrained: true
                    enable_arp_spoof: true
                    enable_shared_radio_scanning: false
                    enabled: true
                    locate_connected: false
                    locate_unconnected: false
                    mesh_allow_dfs: false
                    mesh_enable_crm: true
                    mesh_enabled: true
                    proxy_arp: false
            schema:
              $ref: '#/components/schemas/ap_template'
      responses:
        '200':
          $ref: '#/components/responses/Aptemplate'
        '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: createOrgAptemplate
      tags:
      - Orgs AP Templates
  /api/v1/orgs/{org_id}/aptemplates/{aptemplate_id}:
    parameters:
    - $ref: '#/components/parameters/org_id'
    - $ref: '#/components/parameters/aptemplate_id'
    delete:
      description: Delete existing AP Template
      operationId: deleteOrgAptemplate
      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: deleteOrgAptemplate
      tags:
      - Orgs AP Templates
    get:
      description: Get AP Template
      operationId: getOrgAptemplate
      responses:
        '200':
          $ref: '#/components/responses/Aptemplate'
        '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: getOrgAptemplate
      tags:
      - Orgs AP Templates
    put:
      description: Update AP Template
      operationId: updateOrgAptemplate
      requestBody:
        content:
          application/json:
            examples:
              Example:
                value:
                  ap_matching:
                    enabled: true
                    rules:
                    - match_model: string
                      name: string
                      port_config:
                        eth1,eth2:
                          disabled: true
                          dynamic_vlan:
                            default_vlan_id: 999
                            enabled: true
                          port_vlan_id: 1
                          vlan_id: 9
                          vlan_ids: 1, 10, 50
                  wifi:
                    cisco_enabled: true
                    disable_11k: false
                    disable_radios_when_power_constrained: true
                    enable_arp_spoof: true
                    enable_shared_radio_scanning: false
                    enabled: true
                    locate_connected: false
                    locate_unconnected: false
                    mesh_allow_dfs: false
                    mesh_enable_crm: true
                    mesh_enabled: true
                    proxy_arp: false
            schema:
              $ref: '#/components/schemas/ap_template'
      responses:
        '200':
          $ref: '#/components/responses/Aptemplate'
        '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: updateOrgAptemplate
      tags:
      - Orgs AP Templates
components:
  schemas:
    id:
      description: Unique ID of the object instance in the Mist Organization
      examples:
      - 53f10664-3ce8-4c27-b382-0ef66432349f
      format: uuid
      readOnly: true
      type: string
    radsec_mxcluster_ids:
      description: To use Org mxedges when this WLAN does not use mxtunnel, specify their mxcluster_ids. Org mxedge(s) identified by mxcluster_ids
      items:
        examples:
        - 572586b7-f97b-a22b-526c-8b97a3f609c4
        format: uuid
        type: string
      type: array
    ap_template:
      properties:
        ap_matching:
          $ref: '#/components/schemas/ap_template_matching'
        created_time:
          $ref: '#/components/schemas/created_time'
        for_site:
          readOnly: true
          type: boolean
        id:
          $ref: '#/components/schemas/id'
        modified_time:
          $ref: '#/components/schemas/modified_time'
        org_id:
          $ref: '#/components/schemas/org_id'
        site_id:
          $ref: '#/components/schemas/site_id'
        wifi:
          $ref: '#/components/schemas/ap_template_wifi'
      required:
      - ap_matching
      type: object
    radsec_proxy_hosts:
      description: Default is site.mxedge.radsec.proxy_hosts which must be a superset of all `wlans[*].radsec.proxy_hosts`. When `radsec.proxy_hosts` are not used, tunnel peers (org or site mxedges) are used irrespective of `use_site_mxedge`
      items:
        examples:
        - mxedge1.local
        type: string
      type: array
    response_http403:
      additionalProperties: false
      properties:
        detail:
          examples:
          - You do not have permission to perform this action.
          type: string
      type: object
    radsec:
      additionalProperties: false
      description: RadSec settings
      properties:
        coa_enabled:
          default: false
          type: boolean
        enabled:
          type: boolean
        idle_timeout:
          $ref: '#/components/schemas/radsec_idle_timeout'
        mxcluster_ids:
          $ref: '#/components/schemas/radsec_mxcluster_ids'
        proxy_hosts:
          $ref: '#/components/schemas/radsec_proxy_hosts'
        server_name:
          description: Name of the server to verify (against the cacerts in Org Setting). Only if not Mist Edge.
          examples:
          - radsec.abc.com
          type: string
        servers:
          $ref: '#/components/schemas/radsec_servers'
        use_mxedge:
          description: use mxedge(s) as RadSec Proxy
          type: boolean
        use_site_mxedge:
          default: false
          description: To use Site mxedges when this WLAN does not use mxtunnel
          type: boolean
      type: object
    ap_template_matching_rule:
      additionalProperties: false
      properties:
        match_model:
          minLength: 1
          type: string
        name:
          minLength: 1
          type: string
        port_config:
          additionalProperties:
            $ref: '#/components/schemas/ap_port_config'
          description: Property key is the interface(s) name (e.g. "eth1,eth2")
          type: object
      type: object
    radsec_idle_timeout:
      anyOf:
      - default: 60
        type: integer
      - type: string
      description: Radsec Idle Timeout in seconds. Default is 60
    radius_acct_port:
      anyOf:
      - maximum: 65545
        minimum: 1
        type: integer
      - type: string
      description: Radius Auth Port, value from 1 to 65535, default is 1813
    radsec_server:
      additionalProperties: false
      properties:
        host:
          examples:
          - 1.1.1.1
          type: string
        port:
          examples:
          - 1812
          maximum: 65535
          minimum: 1
          type: integer
      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
    ap_templates:
      items:
        $ref: '#/components/schemas/ap_template'
      type: array
    radius_acct_server:
      additionalProperties: false
      properties:
        host:
          description: IP/ hostname of RADIUS server
          examples:
          - 1.2.3.4
          type: string
        keywrap_enabled:
          type: boolean
        keywrap_format:
          $ref: '#/components/schemas/radius_keywrap_format'
        keywrap_kek:
          examples:
          - '1122334455'
          type: string
        keywrap_mack:
          examples:
          - '1122334455'
          type: string
        port:
          $ref: '#/components/schemas/radius_acct_port'
        secret:
          description: Secret of RADIUS server
          examples:
          - testing123
          format: password
          type: string
      required:
      - host
      - secret
      type: object
    site_id:
      examples:
      - 441a1214-6928-442a-8e92-e1d34b8ec6a6
      format: uuid
      readOnly: true
      type: string
    ap_template_matching:
      additionalProperties: false
      properties:
        enabled:
          type: boolean
        rules:
          $ref: '#/components/schemas/ap_template_matching_rules'
      type: object
    radius_keywrap_format:
      description: 'enum: `ascii`, `hex`'
      enum:
      - ascii
      - hex
      type: string
    response_http404:
      additionalProperties: false
      properties:
        id:
          type: string
      type: object
    ap_port_config:
      additionalProperties: false
      properties:
        disabled:
          default: false
          type: boolean
        dynamic_vlan:
          $ref: '#/components/schemas/ap_port_config_dynamic_vlan'
        enable_mac_auth:
          default: false
          type: boolean
        forwarding:
          $ref: '#/components/schemas/ap_port_config_forwarding'
        mac_auth_preferred:
          default: false
          description: When `true`, we'll do dot1x then mac_auth. enable this to prefer mac_auth
          type: boolean
        mac_auth_protocol:
          $ref: '#/components/schemas/ap_port_config_mac_auth_protocol'
        mist_nac:
          $ref: '#/components/schemas/wlan_mist_nac'
        mx_tunnel_id:
          default: ''
          description: If `forwarding`==`mxtunnel`, vlan_ids comes from mxtunnel
          examples:
          - 08cd7499-5841-51c8-e663-fb16b6f3b45e
          format: uuid
          type: string
        mxtunnel_name:
          default: ''
          description: If `forwarding`==`site_mxedge`, vlan_ids comes from site_mxedge (`mxtunnels` under site setting)
          type: string
        port_auth:
          $ref: '#/components/schemas/ap_port_config_port_auth'
        port_vlan_id:
          description: If `forwarding`==`limited`
          examples:
          - 1
          maximum: 4094
          minimum: 1
          type: integer
        radius_config:
          $ref: '#/components/schemas/radius_config'
        radsec:
          $ref: '#/components/schemas/radsec'
        vlan_id:
          description: "Optional to specify the vlan id for a tunnel if forwarding is for `wxtunnel`, `mxtunnel` or `site_mxedge`.\n  * if vlan_id is not specified then it will use first one in vlan_ids[] of the mxtunnel.\n  * if forwarding == site_mxedge, vlan_ids comes from site_mxedge (`mxtunnels` under site setting)"
          examples:
          - 9
          maximum: 4094
          minimum: 1
          type: integer
        vlan_ids:
          description: If `forwarding`==`limited`, comma separated list of additional vlan ids allowed on this port
          examples:
          - 10,20,30
          type: string
        wxtunnel_id:
          default: ''
          description: If `forwarding`==`wxtunnel`, the port is bridged to the vlan of the session
          examples:
          - 7dae216d-7c98-a51b-e068-dd7d477b7216
          format: uuid
          type: string
        wxtunnel_remote_id:
          default: ''
          description: If `forwarding`==`wxtunnel`, the port is bridged to the vlan of the session
          examples:
          - wifiguest
          type: string
      type: object
    radius_auth_servers:
      items:
        $ref: '#/components/schemas/radius_auth_server'
      type: array
      uniqueItems: true
    ap_template_wifi:
      additionalProperties: false
      properties:
        cisco_enabled:
          type: boolean
        disable_11k:
          default: false
          type: boolean
        disable_radios_when_power_constrained:
          type: boolean
        enable_arp_spoof:
          type: boolean
        enable_shared_radio_scanning:
          default: false
          type: boolean
        enabled:
          default: true
          type: boolean
        locate_connected:
          default: false
          type: boolean
        locate_unconnected:
          default: false
          type: boolean
        mesh_allow_dfs:
          default: false
          type: boolean
        mesh_enable_crm:
          type: boolean
        mesh_enabled:
          type: boolean
        proxy_arp:
          default: false
          type: boolean
      type: object
    response_http400:
      additionalProperties: false
      properties:
        detail:
          examples:
          - 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
          type: string
      type: object
    radius_config:
      additionalProperties: false
      description: Junos Radius config
      properties:
        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_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:
          default: 3799
          maximum: 65535
          minimum: 1
          type: integer
        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
    wlan_mist_nac:
      additionalProperties: false
      properties:
        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 Server). Very frequent messages can affect the performance of the radius server, 600 and up is recommended when enabled.
          examples:
          - 60
          maximum: 65535
          minimum: 0
          type: integer
        auth_servers_retries:
          default: 2
          description: Radius auth session retries. Following fast timers are set if `fast_dot1x_timers` knob is enabled. "retries" are set to value of `auth_servers_timeout`. "max-requests" is also set when setting `auth_servers_retries` is set to default value to 3.
          examples:
          - 3
          maximum: 10
          minimum: 1
          type: integer
        auth_servers_timeout:
          default: 5
          description: Radius auth session timeout. Following fast timers are set if `fast_dot1x_timers` knob is enabled. "quite-period" and "transmit-period" are set to half the value of `auth_servers_timeout`. "supplicant-timeout" is also set when setting `auth_servers_timeout` is set to default value of 10.
          examples:
          - 5
          maximum: 30
          minimum: 1
          type: integer
        coa_enabled:
          default: false
          description: Allows a RADIUS server to dynamically modify the authorization status of a user session.
          type: boolean
        coa_port:
          description: the communication port used for “Change of Authorization” (CoA) messages
          examples:
          - 3799
          maximum: 65535
          minimum: 1
          type: integer
        enabled:
          default: false
          description: "When enabled:\n  * `auth_servers` is ignored\n  * `acct_servers` is ignored\n  * `auth_servers_*` are ignored\n  * `coa_servers` is ignored\n  * `radsec` is ignored\n  * `coa_enabled` is assumed"
          type: boolean
        fast_dot1x_timers:
          default: false
          description: If set to true, sets default fast-timers with values calculated from `auth_servers_timeout` and `auth_server_retries`.
          type: boolean
        network:
          description: Which network the mist nac server resides in
          examples:
          - default
          type:
          - string
          - 'null'
        source_ip:
          description: In case there is a static IP for this network, we can specify it using source ip
          examples:
          - 1.2.3.4
          type:
          - string
          - 'null'
      type: object
    radius_acct_servers:
      items:
        $ref: '#/components/schemas/radius_acct_server'
      type: array
      uniqueItems: true
    ap_port_config_mac_auth_protocol:
      default: pap
      description: 'if `enable_mac_auth`==`true`, allows user to select an authentication protocol. enum: `eap-md5`, `eap-peap`, `pap`'
      enum:
      - eap-md5
      - eap-peap
      - pap
      type: string
    ap_port_config_dynamic_vlan:
      additionalProperties: false
      description: Optional dynamic vlan
      properties:
        default_vlan_id:
          examples:
          - 999
          maximum: 4094
          minimum: 1
          type: integer
        enabled:
          type: boolean
        type:
          type: string
        vlans:
          additionalProperties:
            type:
            - string
            - 'null'
          examples:
          - 1-10: null
            user: null
          type: object
      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
    ap_port_config_forwarding:
      default: all
      description: "enum: \n  * `all`: local breakout, All VLANs\n  * `limited`: local breakout, only the VLANs configured in `port_vlan_id` and `vlan_ids`\n  * `mxtunnel`: central breakout to an Org Mist Edge (requires `mxtunnel_id`)\n  * `site_mxedge`: central breakout to a Site Mist Edge (requires `mxtunnel_name`)\n  * `wxtunnel`': central breakout to an Org WxTunnel (requires `wxtunnel_id`)"
      enum:
      - all
      - limited
      - mxtunnel
      - site_mxedge
      - wxtunnel
      examples:
      - all
      type: string
    ap_port_config_port_auth:
      default: none
      description: 'When doing port auth. enum: `dot1x`, `none`'
      enum:
      - dot1x
      - none
      examples:
      - none
      type: string
    radsec_servers:
      description: List of RadSec Servers. Only if not Mist Edge.
      items:
        $ref: '#/components/schemas/radsec_server'
      type: array
      uniqueItems: true
    response_http401:
      additionalProperties: false
      properties:
        detail:
          examples:
          - Authentication credentials were not provided.
          type: string
      type: object
    ap_template_matching_rules:
      items:
        $ref: '#/components/schemas/ap_template_matching_rule'
      type: array
      uniqueItems: true
    org_id:
      examples:
      - a97c1b22-a4e9-411e-9bfd-d8695a0f9e61
      format: uuid
      readOnly: true
      type: string
    modified_time:
      description: When the object has been modified for the last time, in epoch
      format: double
      readOnly: true
      type: number
    created_time:
      description: When the object has been created, in epoch
      format: double
      readOnly: true
      type: number
    radius_auth_port:
      anyOf:
      - maximum: 65545
        minimum: 1
        type: integer
      - type: string
      description: Radius Auth Port, value from 1 to 65535, default is 1812
  parameters:
    aptemplate_id:
      in: path
      name: aptemplate_id
      required: true
      schema:
        format: uuid
        type: string
    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
    limit:
      in: query
      name: limit
      schema:
        default: 100
        minimum: 0
        type: integer
  responses:
    AptemplatesArray:
      content:
        application/json:
          examples:
            Example:
              $ref: '#/components/examples/AptemplatesArrayExample'
          schema:
            $ref: '#/components/schemas/ap_templates'
        application/vnd.api+json:
          examples:
            Example:
              $ref: '#/components/examples/AptemplatesArrayExample'
          schema:
            $ref: '#/components/schemas/ap_templates'
      description: Example response
    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/

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