Mist Sites Wlans API

A Site Wlan is a wireless local area network that is configured and applied to a specific site within an organization. It allows for the creation and management of wireless network settings, such as SSIDs (service set identifiers), authentication settings, VLAN configurations, etc... for a particular site. Site Wlans are created and managed at the site level and can only be referenced and used within that particular site.

Operations 9

GET /api/v1/sites/{site_id}/wlans listSiteWlans #
POST /api/v1/sites/{site_id}/wlans createSiteWlan #
GET /api/v1/sites/{site_id}/wlans/derived listSiteWlansDerived #
DELETE /api/v1/sites/{site_id}/wlans/{wlan_id} deleteSiteWlan #
GET /api/v1/sites/{site_id}/wlans/{wlan_id} getSiteWlan #
PUT /api/v1/sites/{site_id}/wlans/{wlan_id} updateSiteWlan #
DELETE /api/v1/sites/{site_id}/wlans/{wlan_id}/portal_image deleteSiteWlanPortalImage #
POST /api/v1/sites/{site_id}/wlans/{wlan_id}/portal_image uploadSiteWlanPortalImage #
PUT /api/v1/sites/{site_id}/wlans/{wlan_id}/portal_template updateSiteWlanPortalTemplate #

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

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

Call it yourself

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

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

Get an API key

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

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

OpenAPI Specification

mist-sites-wlans-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: tmunzer@juniper.net
    name: Thomas Munzer
  description: '> Version: **2606.1.1**

    >

    > Date: **July 10, 2026**

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


    ---

    ## Additional Documentation

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

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

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


    ## Helpful Resources

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

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

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

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

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


    ## Mist Web Browser Extension:

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

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


    ---'
  license:
    name: MIT
    url: https://raw.githubusercontent.com/tmunzer/Mist-OAS3.0/main/LICENSE
  title: Mist Sites Wlans API
  version: 2606.1.1
  x-logo:
    altText: Juniper-MistAI
    backgroundColor: '#FFFFFF'
    url: https://www.mist.com/wp-content/uploads/logo.png
servers:
- description: Mist Global 01
  url: https://api.mist.com
- description: Mist Global 02
  url: https://api.gc1.mist.com
- description: Mist Global 03
  url: https://api.ac2.mist.com
- description: Mist Global 04
  url: https://api.gc2.mist.com
- description: Mist Global 05
  url: https://api.gc4.mist.com
- description: Mist EMEA 01
  url: https://api.eu.mist.com
- description: Mist EMEA 02
  url: https://api.gc3.mist.com
- description: Mist EMEA 03
  url: https://api.ac6.mist.com
- description: Mist EMEA 04
  url: https://api.gc6.mist.com
- description: Mist APAC 01
  url: https://api.ac5.mist.com
- description: Mist APAC 02
  url: https://api.gc5.mist.com
- description: Mist APAC 03
  url: https://api.gc7.mist.com
security:
- apiToken: []
- csrfToken: []
tags:
- description: 'A Site Wlan is a wireless local area network that is configured and applied to a specific site within an organization.


    It allows for the creation and management of wireless network settings, such as SSIDs (service set identifiers), authentication settings, VLAN configurations, etc... for a particular site.


    Site Wlans are created and managed at the site level and can only be referenced and used within that particular site.'
  name: Sites Wlans
paths:
  /api/v1/sites/{site_id}/wlans:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: Get List of Site WLANs
      operationId: listSiteWlans
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          $ref: '#/components/responses/WlansArray'
        '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: listSiteWlans
      tags:
      - Sites Wlans
    post:
      description: Create Site WLAN
      operationId: createSiteWlan
      requestBody:
        content:
          application/json:
            examples:
              Example:
                value:
                  acct_immediate_update: false
                  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
                  airwatch:
                    api_key: aHhlbGxvYXNkZmFzZGZhc2Rmc2RmCg=="
                    console_url: https://hs1.airwatchportals.com
                    enabled: true
                    password: user1
                    username: test123
                  allow_ipv6_ndp: true
                  allow_mdns: false
                  allow_ssdp: false
                  ap_ids:
                  - 497f6eca-6276-4993-bfeb-53cbbbbb6f08
                  app_limit:
                    apps:
                      dropbox: 300
                      netflix: 60
                    enabled: false
                    wxtag_ids:
                      f99862d9-2726-931f-7559-3dfdf5d070d3: 30
                  app_qos:
                    apps:
                      skype-business-video:
                        dscp: 32
                        dst_subnet: 10.2.0.0/16
                        src_subnet: 10.2.0.0/16
                    enabled: true
                    others:
                    - dscp: 32
                      dst_subnet: 10.2.0.0/16
                      port_ranges: 80,1024-6553
                      protocol: udp
                      src_subnet: 10.2.0.0/16
                  apply_to: site
                  arp_filter: false
                  auth:
                    anticlog_threshold: 16
                    eap_reauth: false
                    enable_mac_auth: false
                    key_idx: 1
                    keys:
                    - string
                    multi_psk_only: false
                    pairwise:
                    - wpa2-ccmp
                    private_wlan: true
                    psk: foryoureyesonly
                    type: psk
                    wep_as_secondary_auth: true
                  auth_server_selection: ordered
                  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_nas_id: 5c5b350e0101-nas
                  auth_servers_nas_ip: 15.3.1.5
                  auth_servers_retries: 5
                  auth_servers_timeout: 5
                  band: string
                  band_steer: false
                  band_steer_force_band5: false
                  bands:
                  - '24'
                  - '5'
                  block_blacklist_clients: false
                  bonjour:
                    additional_vlan_ids: 10,20
                    enabled: false
                    services:
                      airplay:
                        radius_groups:
                        - teachers
                        scope: same_ap
                  cisco_cwa:
                    allowed_hostnames:
                    - snapchat.com
                    allowed_subnets:
                    - 63.5.3.0/24
                    blocked_subnets:
                    - 192.168.0.0/16
                    enabled: false
                  client_limit_down: 1000
                  client_limit_down_enabled: false
                  client_limit_up: 512
                  client_limit_up_enabled: false
                  coa_servers:
                  - disable_event_timestamp_check: false
                    enabled: false
                    ip: 1.2.3.4
                    port: 3799
                    secret: testing456
                  disable_11ax: false
                  disable_ht_vht_rates: false
                  disable_uapsd: false
                  disable_v1_roam_notify: false
                  disable_v2_roam_notify: false
                  disable_wmm: false
                  dns_server_rewrite:
                    enabled: false
                    radius_groups:
                      contractor: 172.1.1.1
                      guest: 8.8.8.8
                  dtim: 2
                  dynamic_psk:
                    default_psk: foryoureyesonly
                    default_vlan_id: 999
                    enabled: false
                    source: cloud_psks
                  dynamic_vlan:
                    default_vlan_id: 999
                    enabled: false
                    local_vlan_ids:
                    - 1
                    type: airespace-interface-name
                    vlans:
                      '131': default
                      '322': fast,video
                  enable_local_keycaching: false
                  enable_wireless_bridging: false
                  enabled: true
                  fast_dot1x_timers: false
                  hide_ssid: false
                  hostname_ie: false
                  hotspot20:
                    domain_name:
                    - mist.com
                    enabled: true
                    nai_realms:
                    - string
                    operators:
                    - google
                    - att
                    rcoi:
                    - 5A03BA0000
                    venue_name: some_name
                  interface: all
                  isolation: false
                  l2_isolation: false
                  legacy_overds: false
                  limit_bcast: false
                  limit_probe_response: true
                  max_idletime: 1800
                  mist_nac:
                    enabled: false
                  no_static_dns: false
                  no_static_ip: false
                  ssid: demo
            schema:
              $ref: '#/components/schemas/wlan'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/Wlan'
        '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: createSiteWlan
      tags:
      - Sites Wlans
  /api/v1/sites/{site_id}/wlans/derived:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: Get the list of derived Wlans for a Site
      operationId: listSiteWlansDerived
      parameters:
      - description: Whether to resolve SITE_VARS
        in: query
        name: resolve
        schema:
          default: false
          examples:
          - true
          type: boolean
      - description: Filter by WLAN ID
        in: query
        name: wlan_id
        schema:
          examples:
          - 8bfc2490-d726-3587-038d-cb2e71bd2330
          type: string
      responses:
        '200':
          $ref: '#/components/responses/WlansArray'
        '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: listSiteWlansDerived
      tags:
      - Sites Wlans
  /api/v1/sites/{site_id}/wlans/{wlan_id}:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/wlan_id'
    delete:
      description: Delete Site WLAN
      operationId: deleteSiteWlan
      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: deleteSiteWlan
      tags:
      - Sites Wlans
    get:
      description: Get Site WLAN
      operationId: getSiteWlan
      responses:
        '200':
          $ref: '#/components/responses/Wlan'
        '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: getSiteWlan
      tags:
      - Sites Wlans
    put:
      description: Update Site WLAN
      operationId: updateSiteWlan
      requestBody:
        content:
          application/json:
            examples:
              Example:
                value:
                  acct_immediate_update: false
                  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
                  airwatch:
                    api_key: aHhlbGxvYXNkZmFzZGZhc2Rmc2RmCg=="
                    console_url: https://hs1.airwatchportals.com
                    enabled: true
                    password: user1
                    username: test123
                  allow_ipv6_ndp: true
                  allow_mdns: false
                  allow_ssdp: false
                  ap_ids:
                  - 497f6eca-6276-4993-bfeb-53cbbbbe6f08
                  app_limit:
                    apps:
                      dropbox: 300
                      netflix: 60
                    enabled: false
                    wxtag_ids:
                      f99862d9-2726-931f-7559-3dfdf5d070d3: 30
                  app_qos:
                    apps:
                      skype-business-video:
                        dscp: 32
                        dst_subnet: 10.2.0.0/16
                        src_subnet: 10.2.0.0/16
                    enabled: true
                    others:
                    - dscp: 32
                      dst_subnet: 10.2.0.0/16
                      port_ranges: 80,1024-6553
                      protocol: udp
                      src_subnet: 10.2.0.0/16
                  apply_to: site
                  arp_filter: false
                  auth:
                    anticlog_threshold: 16
                    eap_reauth: false
                    enable_mac_auth: false
                    key_idx: 1
                    keys:
                    - string
                    multi_psk_only: false
                    pairwise:
                    - wpa2-ccmp
                    private_wlan: true
                    psk: foryoureyesonly
                    type: psk
                    wep_as_secondary_auth: true
                  auth_server_selection: ordered
                  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_nas_id: 5c5b350e0101-nas
                  auth_servers_nas_ip: 15.3.1.5
                  auth_servers_retries: 5
                  auth_servers_timeout: 5
                  band: string
                  band_steer: false
                  band_steer_force_band5: false
                  bands:
                  - '24'
                  - '5'
                  block_blacklist_clients: false
                  bonjour:
                    additional_vlan_ids: 10,20
                    enabled: false
                    services:
                      airplay:
                        radius_groups:
                        - teachers
                        scope: same_ap
                  cisco_cwa:
                    allowed_hostnames:
                    - snapchat.com
                    allowed_subnets:
                    - 63.5.3.0/24
                    blocked_subnets:
                    - 192.168.0.0/16
                    enabled: false
                  client_limit_down: 1000
                  client_limit_down_enabled: false
                  client_limit_up: 512
                  client_limit_up_enabled: false
                  coa_servers:
                  - disable_event_timestamp_check: false
                    enabled: false
                    ip: 1.2.3.4
                    port: 3799
                    secret: testing456
                  disable_11ax: false
                  disable_ht_vht_rates: false
                  disable_uapsd: false
                  disable_v1_roam_notify: false
                  disable_v2_roam_notify: false
                  disable_wmm: false
                  dns_server_rewrite:
                    enabled: false
                    radius_groups:
                      contractor: 172.1.1.1
                      guest: 8.8.8.8
                  dtim: 2
                  dynamic_psk:
                    default_psk: foryoureyesonly
                    default_vlan_id: 999
                    enabled: false
                    source: cloud_psks
                  dynamic_vlan:
                    default_vlan_id: 999
                    enabled: false
                    local_vlan_ids:
                    - 1
                    type: airespace-interface-name
                    vlans:
                      '131': default
                      '322': fast,video
                  enable_local_keycaching: false
                  enable_wireless_bridging: false
                  enabled: true
                  fast_dot1x_timers: false
                  hide_ssid: false
                  hostname_ie: false
                  hotspot20:
                    domain_name:
                    - mist.com
                    enabled: true
                    nai_realms:
                    - string
                    operators:
                    - google
                    - att
                    rcoi:
                    - 5A03BA0000
                    venue_name: some_name
                  interface: all
                  isolation: false
                  l2_isolation: false
                  legacy_overds: false
                  limit_bcast: false
                  limit_probe_response: true
                  max_idletime: 1800
                  mist_nac:
                    enabled: false
                  no_static_dns: false
                  no_static_ip: false
                  ssid: demo
            schema:
              $ref: '#/components/schemas/wlan'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/Wlan'
        '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: updateSiteWlan
      tags:
      - Sites Wlans
  /api/v1/sites/{site_id}/wlans/{wlan_id}/portal_image:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/wlan_id'
    delete:
      description: Delete Site WLAN Portal Image
      operationId: deleteSiteWlanPortalImage
      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: deleteSiteWlanPortalImage
      tags:
      - Sites Wlans
    post:
      description: WLAN Portal Image Upload
      operationId: uploadSiteWlanPortalImage
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/image_import'
        description: Request Body
      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: uploadSiteWlanPortalImage
      tags:
      - Sites Wlans
  /api/v1/sites/{site_id}/wlans/{wlan_id}/portal_template:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/wlan_id'
    put:
      description: 'Update a Portal Template


        #### Sponsor Email Template

        Sponsor Email Template supports following template variables:


        | **Name** | **Description** |

        | --- | --- |

        | approve_url | Renders URL to approve the request; optionally &minutes=N query param can be appended to change the Authorization period of the guest, where N is a valid integer denoting number of minutes a guest remains authorized |

        | deny_url | Renders URL to reject the request |

        | guest_email | Renders Email ID of the guest |

        | guest_name | Renders Name of the guest |

        | field1 | Renders value of the Custom Field 1 |

        | field2 | Renders value of the Custom Field 2 |

        | company | Renders value of the Company field |

        | sponsor_link_validity_duration | Renders validity time of the request (i.e. Approve/Deny URL) |

        | auth_expire_minutes | Renders Wlan-level configured Guest Authorization Expiration time period (in minutes), If not configured then default (1 day in minutes) |'
      operationId: updateSiteWlanPortalTemplate
      requestBody:
        content:
          application/json:
            examples:
              Example:
                value:
                  accessCodeAlternateEmail: string
                  alignment: string
                  authButtonAmazon: string
                  authButtonAzure: string
                  authButtonEmail: string
                  authButtonFacebook: string
                  authButtonGoogle: string
                  authButtonMicrosoft: string
                  authButtonPassphrase: string
                  authButtonSms: string
                  authButtonSponsor: string
                  authLabel: string
                  backLink: string
                  color: string
                  colorDark: string
                  colorLight: string
                  company: true
                  companyError: string
                  companyLabel: string
                  email: true
                  emailAccessDomainError: string
                  emailCancel: string
                  emailCodeError: string
                  emailError: string
                  emailFieldLabel: string
                  emailLabel: string
                  emailMessage: string
                  emailSubmit: string
                  emailTitle: string
                  field1: true
                  field1Error: string
                  field1Label: string
                  field1Required: true
                  field2: true
                  field2Error: string
                  field2Label: string
                  field2Required: true
                  field3: true
                  field3Error: string
                  field3Label: string
                  field3Required: true
                  field4: true
                  field4Error: string
                  field4Label: string
                  field4Required: true
                  message: string
                  name: true
                  nameError: string
                  nameLabel: string
                  optout: true
                  optoutLabel: string
                  pageTitle: string
                  passphraseCancel: string
                  passphraseError: string
                  passphraseLabel: string
                  passphraseMessage: string
                  passphraseSubmit: string
                  passphraseTitle: string
                  poweredBy: true
                  requiredFieldLabel: string
                  signInLabel: string
                  smsCarrierDefault: string
                  smsCarrierError: string
                  smsCarrierFieldLabel: string
                  smsCodeCancel: string
                  smsCodeError: string
                  smsCodeFieldLabel: string
                  smsCodeMessage: string
                  smsCodeSubmit: string
                  smsCodeTitle: string
                  smsCountryFieldLabel: string
                  smsCountryFormat: string
                  smsHaveAccessCode: string
                  smsMessageFormat: string
                  smsNumberCancel: string
                  smsNumberError: string
                  smsNumberFieldLabel: string
                  smsNumberFormat: string
                  smsNumberMessage: string
                  smsNumberSubmit: string
                  smsNumberTitle: string
                  smsUsernameFormat: string
                  smsValidityDuration: 0
                  sponsorBackLink: string
                  sponsorCancel: string
                  sponsorEmail: string
                  sponsorEmailError: string
                  sponsorEmailTemplate: string
                  sponsorInfoApproved: string
                  sponsorInfoDenied: string
                  sponsorInfoPending: string
                  sponsorName: string
                  sponsorNameError: string
                  sponsorNotePending: string
                  sponsorStatusApproved: string
                  sponsorStatusDenied: string
                  sponsorStatusPending: string
                  sponsorSubmit: string
                  sponsorsFieldLabel: string
                  tos: true
                  tosAcceptLabel: string
                  tosError: string
                  tosLink: string
                  tosText: string
            schema:
              $ref: '#/components/schemas/wlan_portal_template'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/Portaltemplate'
        '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: updateSiteWlanPortalTemplate
      tags:
      - Sites Wlans
components:
  schemas:
    wlan_dynamic_vlan_type:
      default: standard
      description: 'standard (using Tunnel-Private-Group-ID, widely supported), airespace-interface-name (Airespace/Cisco). enum: `airespace-interface-name`, `standard`'
      enum:
      - airespace-interface-name
      - standard
      examples:
      - airespace-interface-name
      type: string
    radius_acct_port:
      anyOf:
      - maximum: 65545
        minimum: 1
        type: integer
      - type: string
      description: RADIUS Auth Port, value from 1 to 65535, default is 1813
    wlan_cisco_cwa_allowed_hostnames:
      description: List of hostnames without http(s):// (matched by substring)
      items:
        examples:
        - snapchat.com
        type: string
      type: array
    wlan_portal_denied_hostnames:
      default: []
      description: List of hostnames without http(s):// (matched by substring), this takes precedence over portal_allowed_hostnames
      examples:
      - - msg.snapchat.com
      items:
        type: string
      type: array
    org_id:
      description: Unique identifier of a Mist organization
      examples:
      - a97c1b22-a4e9-411e-9bfd-d8695a0f9e61
      format: uuid
      readOnly: true
      type: string
    wlan_vlan_ids_list:
      description: If `vlan_enabled`==`true` and `vlan_pooling`==`true`. List of VLAN IDs (comma separated) to be used in the VLAN Pool
      examples:
      - - 3
        - 4
        - 5
      items:
        $ref: '#/components/schemas/vlan_id_with_variable'
      type: array
    radius_acct_server:
      additionalProperties: false
      description: RADIUS accounting server settings
      properties:
        host:
          description: Address or hostname of the RADIUS accounting server
          examples:
          - 1.2.3.4
          type: string
        keywrap_enabled:
          description: Whether RADIUS keywrap is enabled for messages sent to this accounting server
          type: boolean
        keywrap_format:
          $ref: '#/components/schemas/radius_keywrap_format'
          description: Encoding format for RADIUS keywrap KEK and MACK values
        keywrap_kek:
          description: RADIUS keywrap key encryption key (KEK)
          examples:
          - '1122334455'
          type: string
        keywrap_mack:
          description: RADIUS keywrap message authentication code key (MACK)
          examples:
          - '1122334455'
          type: string
        port:
          $ref: '#/components/schemas/radius_acct_port'
          description: UDP port used by the RADIUS accounting server
        secret:
          description: Shared secret used with this RADIUS accounting server
          examples:
          - testing123
          format: password
          type: string
      required:
      - host
      - secret
      type: object
    wlan_auth_servers:
      description: List of RADIUS authentication servers, at least one is needed if `auth type`==`eap`, order matters where the first one is treated as primary
      items:
        $ref: '#/components/schemas/radius_auth_server'
      type: array
    wlan_qos:
      additionalProperties: false
      description: QoS override settings for WLAN client traffic
      properties:
        class:
          $ref: '#/components/schemas/wlan_qos_class'
          description: QoS traffic class applied when WLAN QoS override is enabled
        overwrite:
          default: false
          description: Whether to overwrite QoS
          type: boolean
      type: object
    wlan_acct_servers:
      description: List of RADIUS accounting servers, optional, order matters where the first one is treated as primary
      items:
        $ref: '#/components/schemas/radius_acct_server'
      type: array
    radius_coa_port:
      anyOf:
      - maximum: 65545
        minimum: 1
        type: integer
      - type: string
      description: RADIUS CoA Port, value from 1 to 65535, default is 3799
    wlan_portal_google_email_domains:
      default: []
      description: Optional if `google_enabled`==`true`. Matches authenticated user email against provided domains. If null or [], all authenticated emails will be allowed.
      examples:
      - - mydomain.edu
        - mydomain.org
      items:
        type: string
      type: array
    strings:
      description: Unique string values returned or accepted by this schema
      items:
        type: string
      type: array
      uniqueItems: true
    coa_server:
      additionalProperties: false
      description: RADIUS Change of Authorization (CoA) server settings
      properties:
        disable_event_timestamp_check:
          default: false
          description: Whether to disable Event-Timestamp Check
          type: boolean
        enabled:
          default: false
          description: Whether this RADIUS CoA server is enabled
          type: boolean
        ip:
          description: Server IPv4 address for RADIUS CoA messages
          examples:
          - 1.2.3.4
          format: ipv4
          type: string
        port:
          $ref: '#/components/schemas/radius_coa_port'
          description: UDP port used to send RADIUS CoA messages to the server
        secret:
          description: Shared secret used to authenticate RADIUS CoA messages
          examples:
          - testing456
          type: string
      required:
      - ip
      - secret
      type: object
    wlan

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