Mist Sites Clients - NAC API

NAC Clients are devices connected to the network and authenticated by Juniper Mist Access Assurance.

Operations 5

GET /api/v1/sites/{site_id}/nac_clients/count countSiteNacClients #
GET /api/v1/sites/{site_id}/nac_clients/events/count countSiteNacClientEvents #
GET /api/v1/sites/{site_id}/nac_clients/events/search searchSiteNacClientEvents #
GET /api/v1/sites/{site_id}/nac_clients/search searchSiteNacClients #
POST /api/v1/sites/{site_id}/nac_clients/{client_mac}/coa sendSiteNacClientCoA #

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-clients-nac-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-clients-nac-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 Clients - NAC 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: NAC Clients are devices connected to the network and authenticated by Juniper Mist Access Assurance.
  name: Sites Clients - NAC
paths:
  /api/v1/sites/{site_id}/nac_clients/count:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: Count NAC clients for a site, optionally grouped by the `distinct` field and filtered by authentication, identity, endpoint, network, and time attributes. Use [Count Org NAC Clients](/#operations/countOrgNacClients) to count NAC clients across the organization.
      operationId: countSiteNacClients
      parameters:
      - description: 'Field used to group this count response. enum: `ap`, `auth_type`, `device_mac`, `edr_managed`, `edr_provider`, `edr_status`, `family`, `hostname`, `idp_id`, `mfg`, `mdm_compliance`, `mdm_managed`, `mdm_provider`, `model`, `mxedge_id`, `nacrule_matched`, `nacrule_name`, `nacrule_id`, `nas_ip`, `nas_vendor`, `os`, `ssid`, `status`, `type`, `usermac_label`, `username`, `vlan`'
        in: query
        name: distinct
        schema:
          $ref: '#/components/schemas/site_nac_clients_count_distinct'
      - description: NAC Policy Rule ID, if matched
        in: query
        name: last_nacrule_id
        schema:
          type: string
      - description: NAC Policy Rule Matched
        in: query
        name: nacrule_matched
        schema:
          type: boolean
      - description: Authentication type, e.g. "eap-tls", "eap-peap", "eap-ttls", "eap-teap", "mab", "psk", "device-auth"
        in: query
        name: auth_type
        schema:
          type: string
      - description: Filter results by last VLAN ID
        in: query
        name: last_vlan_id
        schema:
          type: string
      - description: Vendor of NAS device
        in: query
        name: last_nas_vendor
        schema:
          type: string
      - description: SSO ID, if present and used
        in: query
        name: idp_id
        schema:
          type: string
      - description: Filter results by last SSID
        in: query
        name: last_ssid
        schema:
          type: string
      - description: Username presented by the client
        in: query
        name: last_username
        schema:
          type: string
      - description: AP MAC connected to by client
        in: query
        name: last_ap
        schema:
          type: string
      - description: Filter results by MAC address
        in: query
        name: mac
        schema:
          type: string
      - description: Connection status of client i.e "permitted", "denied, "session_ended"
        in: query
        name: last_status
        schema:
          type: string
      - description: Client type i.e. "wireless", "wired" etc.
        in: query
        name: type
        schema:
          type: string
      - description: MDM compliance of client i.e "compliant", "not compliant"
        in: query
        name: mdm_compliance_status
        schema:
          type: string
      - description: MDM provider of client’s organisation eg "intune", "jamf"
        in: query
        name: mdm_provider
        schema:
          type: string
      - $ref: '#/components/parameters/start'
      - $ref: '#/components/parameters/end'
      - $ref: '#/components/parameters/duration'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '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: countSiteNacClients
      tags:
      - Sites Clients - NAC
  /api/v1/sites/{site_id}/nac_clients/events/count:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: Count NAC client events for a site, optionally grouped by the `distinct` field and filtered by event type and time range. Use [Count Org NAC Client Events](/#operations/countOrgNacClientEvents) to count NAC client events across the organization.
      operationId: countSiteNacClientEvents
      parameters:
      - description: 'Field used to group this count response. enum: `ap`, `auth_type`, `dryrun_nacrule_id`, `mac`, `nacrule_id`, `nas_vendor`, `ssid`, `type`, `username`, `vlan`'
        in: query
        name: distinct
        schema:
          $ref: '#/components/schemas/site_nac_client_events_count_distinct'
      - $ref: '#/components/parameters/nac_event_type'
      - $ref: '#/components/parameters/start'
      - $ref: '#/components/parameters/end'
      - $ref: '#/components/parameters/duration'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '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: countSiteNacClientEvents
      tags:
      - Sites Clients - NAC
  /api/v1/sites/{site_id}/nac_clients/events/search:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: Search NAC client events for a site with filters for authentication, NAC rule, identity provider, RADIUS, network, endpoint, and time attributes. Use [Search Org NAC Client Events](/#operations/searchOrgNacClientEvents) to search NAC client events across the organization.
      operationId: searchSiteNacClientEvents
      parameters:
      - $ref: '#/components/parameters/nac_event_type'
      - description: NAC Policy Rule ID, if matched
        in: query
        name: nacrule_id
        schema:
          format: uuid
          type: string
      - description: NAC Policy Rule Matched
        in: query
        name: nacrule_matched
        schema:
          type: boolean
      - description: NAC Policy Dry Run Rule ID, if present and matched
        in: query
        name: dryrun_nacrule_id
        schema:
          type: string
      - description: True - if dryrun rule present and matched with priority, False - if not matched or not present
        in: query
        name: dryrun_nacrule_matched
        schema:
          type: boolean
      - description: Authentication type, e.g. "eap-tls", "eap-peap", "eap-ttls", "eap-teap", "mab", "psk", "device-auth"
        in: query
        name: auth_type
        schema:
          type: string
      - description: Filter results by VLAN ID
        in: query
        name: vlan
        schema:
          type: integer
      - description: Vendor of NAS device
        in: query
        name: nas_vendor
        schema:
          type: string
      - description: Filter results by BSSID
        in: query
        name: bssid
        schema:
          type: string
      - description: SSO ID, if present and used
        in: query
        name: idp_id
        schema:
          format: uuid
          type: string
      - description: IDP returned roles/groups for the user
        in: query
        name: idp_role
        schema:
          type: string
      - description: Username presented to the Identity Provider
        in: query
        name: idp_username
        schema:
          type: string
      - description: RADIUS attributes returned by NAC to NAS Devive
        in: query
        name: resp_attrs
        schema:
          $ref: '#/components/schemas/resp_attrs'
      - description: Filter results by SSID
        in: query
        name: ssid
        schema:
          type: string
      - description: Filter results by username
        in: query
        name: username
        schema:
          type: string
      - description: Filter results by AP MAC address
        in: query
        name: ap
        schema:
          type: string
      - description: Filter results by whether the client is using a randomized MAC address
        in: query
        name: random_mac
        schema:
          type: boolean
      - description: Filter results by MAC address
        in: query
        name: mac
        schema:
          type: string
      - description: Labels derived from usermac entry
        in: query
        name: usermac_label
        schema:
          type: string
      - description: Partial / full MAC address, username, device_mac or ap. Use `prefix*` for prefix search or `*substring*` for contains search (e.g. `aabbcc*` and `*bbcc*` match `aabbccddeeff`). Suffix-only wildcards (e.g. `*bccddeeff`) are not supported
        in: query
        name: text
        schema:
          type: string
      - description: IP address of NAS device
        in: query
        name: nas_ip
        schema:
          type: string
      - description: Vendor specific VLAN ID in RADIUS requests
        in: query
        name: ingress_vlan
        schema:
          type: string
      - $ref: '#/components/parameters/start'
      - $ref: '#/components/parameters/end'
      - $ref: '#/components/parameters/duration'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/sort_wcid'
      - $ref: '#/components/parameters/search_after'
      responses:
        '200':
          $ref: '#/components/responses/EventsNacClientSearch'
        '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: searchSiteNacClientEvents
      tags:
      - Sites Clients - NAC
  /api/v1/sites/{site_id}/nac_clients/search:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: Search NAC clients for a site with filters for authentication, endpoint posture, identity, network, NAC rule, and time attributes. Use [Search Org NAC Clients](/#operations/searchOrgNacClients) to search NAC clients across the organization.
      operationId: searchSiteNacClients
      parameters:
      - description: MAC address of the AP the client is/was connected to
        in: query
        name: ap
        schema:
          type: string
      - description: Authentication type, e.g. "eap-tls", "eap-peap", "eap-ttls", "eap-teap", "mab", "psk", "device-auth"
        in: query
        name: auth_type
        schema:
          type: string
      - description: Filter by certificate expiry within a specific duration from now (e.g., "7d" for 7 days, "1m" for 1 month)
        in: query
        name: cert_expiry_duration
        schema:
          examples:
          - 7d
          - 1m
          type: string
      - description: Filters NAC clients that are integrated with EDR providers
        in: query
        name: edr_managed
        schema:
          type: boolean
      - description: 'EDR provider used to filter NAC clients. enum: `crowdstrike`, `sentinelone`'
        in: query
        name: edr_provider
        schema:
          $ref: '#/components/schemas/edr_provider'
      - description: 'EDR status used to filter NAC clients. enum: `sentinelone_healthy`, `sentinelone_infected`, `crowdstrike_low`, `crowdstrike_medium`, `crowdstrike_high`, `crowdstrike_critical`, `crowdstrike_informational`'
        in: query
        name: edr_status
        schema:
          $ref: '#/components/schemas/edr_status'
      - $ref: '#/components/parameters/partial_filter_family_client'
      - $ref: '#/components/parameters/partial_filter_hostname_client'
      - description: SSO ID, if present and used
        in: query
        name: idp_id
        schema:
          type: string
      - $ref: '#/components/parameters/partial_filter_mac_client'
      - description: MDM compliance of client i.e "compliant", "not compliant"
        in: query
        name: mdm_compliance
        schema:
          type: string
      - description: MDM provider of client’s organization eg "intune", "jamf"
        in: query
        name: mdm_provider
        schema:
          type: string
      - description: Filters NAC clients that are managed by MDM providers
        in: query
        name: mdm_managed
        schema:
          type: boolean
      - $ref: '#/components/parameters/partial_filter_mfg_client'
      - description: Client model, e.g. "iPhone 12", "MX100"
        in: query
        name: model
        schema:
          type: string
      - description: NAC Policy Rule Name matched
        in: query
        name: nacrule_name
        schema:
          type: string
      - description: NAC Policy Rule ID, if matched
        in: query
        name: nacrule_id
        schema:
          type: string
      - description: NAC Policy Rule Matched
        in: query
        name: nacrule_matched
        schema:
          type: boolean
      - description: Vendor of NAS device
        in: query
        name: nas_vendor
        schema:
          type: string
      - description: IP address of NAS device
        in: query
        name: nas_ip
        schema:
          type: string
      - description: Vendor specific VLAN ID in RADIUS requests
        in: query
        name: ingress_vlan
        schema:
          type: string
      - description: Client OS, e.g. "iOS 18.1", "Android", "Windows", "Linux"
        in: query
        name: os
        schema:
          type: string
      - description: Filter results by SSID
        in: query
        name: ssid
        schema:
          type: string
      - description: 'Client connection status used to filter results. enum: `permitted`, `session_started`, `session_stopped`, `denied`'
        in: query
        name: status
        schema:
          $ref: '#/components/schemas/nac_client_last_status'
      - description: partial / full MAC address, last_username, device_mac, nas_ip. Use `prefix*` for prefix search or `*substring*` for contains search (e.g. `aabbcc*` and `*bbcc*` match `aabbccddeeff`). Suffix-only wildcards (e.g. `*bccddeeff`) are not supported.
        in: query
        name: text
        schema:
          type: string
      - description: Client type i.e. "wireless", "wired" etc.
        in: query
        name: type
        schema:
          type: string
      - description: Labels derived from usermac entry
        in: query
        name: usermac_label
        schema:
          $ref: '#/components/schemas/strings'
      - description: Filter results by username
        in: query
        name: username
        schema:
          type: string
      - description: Filter results by VLAN ID
        in: query
        name: vlan
        schema:
          type: string
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/start'
      - $ref: '#/components/parameters/end'
      - $ref: '#/components/parameters/duration'
      - $ref: '#/components/parameters/sort_wcid'
      - $ref: '#/components/parameters/search_after'
      responses:
        '200':
          $ref: '#/components/responses/ClientNacSearch'
        '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: searchSiteNacClients
      tags:
      - Sites Clients - NAC
  /api/v1/sites/{site_id}/nac_clients/{client_mac}/coa:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/client_mac'
    post:
      description: Sends CoA (Change of Authorization) command to a NAC client.
      operationId: sendSiteNacClientCoA
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/nac_client_coa'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/NacClientCoa'
        '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: sendSiteNacClientCoA
      tags:
      - Sites Clients - NAC
components:
  schemas:
    nac_client_events:
      description: List of NAC authentication events
      items:
        $ref: '#/components/schemas/nac_client_event'
      type: array
    random_mac:
      description: 'Whether the client is using randomized MAC address or not. enum: `true`, `false`'
      enum:
      - 'true'
      - 'false'
      type: string
    org_id:
      description: Unique identifier of a Mist organization
      examples:
      - a97c1b22-a4e9-411e-9bfd-d8695a0f9e61
      format: uuid
      readOnly: true
      type: string
    last_nacrule_id:
      description: ID of the latest NAC Rule used to authenticate the client
      examples:
      - 603b62db-d839-4152-9f7f-f2578443de8d
      type: string
    nac_event_nacrule_id:
      description: NAC Policy Rule ID, if matched
      examples:
      - 32f27e7d-ff26-4a9b-b3d1-ff9bcb264c62
      format: uuid
      readOnly: true
      type: string
    nac_nas_vendor:
      description: Vendor name of the NAS for the specified duration
      examples:
      - - juniper-mist
      items:
        type: string
      readOnly: true
      type: array
    response_client_nac_search_results:
      description: NAC client records returned by a search response
      items:
        $ref: '#/components/schemas/client_nac'
      type: array
    last_username:
      description: If dot1x authentication, the username used during the latest authentication. Otherwise, the MAC address of the client
      examples:
      - john@mycorp.net
      type: string
    nac_client_event_usermac_labels:
      description: Labels derived from usermac entry
      examples:
      - - bldg5
        - printer
      items:
        type: string
      type: array
    nac_event_dryrun_nacrule_id:
      description: NAC Policy Dry Run Rule ID, if present and matched
      examples:
      - 32f27e7d-ff26-4a9b-b3d1-ff9bcb264012
      format: uuid
      readOnly: true
      type: string
    strings:
      description: Unique string values returned or accepted by this schema
      items:
        type: string
      type: array
      uniqueItems: true
    last_ap:
      description: Latest AP where the client is/was connected to
      examples:
      - a83a79a947ee
      type: string
    count_results:
      description: List of count result rows
      items:
        $ref: '#/components/schemas/count_result'
      type: array
      uniqueItems: true
    last_cert_serial:
      description: When certificate based authentication is used, the Serial from the latest certificate used
      examples:
      - 2c63510123456789
      type: string
    edr_status:
      description: 'EDR Status of the NAC client. enum: `sentinelone_healthy`, `sentinelone_infected`, `crowdstrike_low`, `crowdstrike_medium`, `crowdstrike_high`, `crowdstrike_critical`, `crowdstrike_informational`'
      enum:
      - sentinelone_healthy
      - sentinelone_infected
      - crowdstrike_low
      - crowdstrike_medium
      - crowdstrike_high
      - crowdstrike_critical
      - crowdstrike_informational
      type: string
    nac_client_ip:
      description: The known IP addresses used by the client for the specified duration
      examples:
      - - 10.100.0.157
      items:
        type: string
      readOnly: true
      type: array
    nac_ssid:
      description: SSIDs the client was connected to for the specified duration
      examples:
      - - MyCorp-NAC
      items:
        type: string
      type: array
    nac_cert_subject:
      description: When certificate based authentication is used, the Subject from the certificates used for the specified duration
      examples:
      - - /C=US/O=MyCorp/CN=john@mycorp.net/emailAddress=john@mycorp.net
      items:
        type: string
      readOnly: true
      type: array
    site_nac_client_events_count_distinct:
      description: 'enum: `ap`, `auth_type`, `dryrun_nacrule_id`, `mac`, `nacrule_id`, `nas_vendor`, `ssid`, `type`, `username`, `vlan`'
      enum:
      - ap
      - auth_type
      - dryrun_nacrule_id
      - mac
      - nacrule_id
      - nas_vendor
      - ssid
      - type
      - username
      - vlan
      type: string
    site_nac_clients_count_distinct:
      default: type
      description: 'enum: `ap`, `auth_type`, `device_mac`, `edr_managed`, `edr_provider`, `edr_status`, `family`, `hostname`, `idp_id`, `mfg`, `mdm_compliance`, `mdm_managed`, `mdm_provider`, `model`, `mxedge_id`, `nacrule_matched`, `nacrule_name`, `nacrule_id`, `nas_ip`, `nas_vendor`, `os`, `ssid`, `status`, `type`, `usermac_label`, `username`, `vlan`'
      enum:
      - ap
      - auth_type
      - device_mac
      - edr_managed
      - edr_provider
      - edr_status
      - family
      - hostname
      - idp_id
      - mfg
      - mdm_compliance
      - mdm_managed
      - mdm_provider
      - model
      - mxedge_id
      - nacrule_matched
      - nacrule_name
      - nacrule_id
      - nas_ip
      - nas_vendor
      - os
      - ssid
      - status
      - type
      - usermac_label
      - username
      - vlan
      type: string
    response_http403:
      additionalProperties: false
      description: Standard HTTP 403 permission error response
      properties:
        detail:
          description: Human-readable explanation of the permission error
          examples:
          - You do not have permission to perform this action.
          type: string
      type: object
    nac_client_event_idp_role:
      description: Identity provider roles or groups returned for a NAC client event
      examples:
      - - itsuperusers
        - vip
      items:
        type: string
      type: array
    last_port_id:
      description: If Wired authentication, the latest Port-id the client was connected to
      examples:
      - ge-0/0/17.0
      type: string
    nac_event_idp_id:
      description: If IDP is used, the id of the IDP configuration used
      examples:
      - 912ef72e-2239-4996-b81e-469e87a27cd6
      format: uuid
      readOnly: true
      type: string
    device_type:
      description: 'enum: `ap`, `gateway`, `switch`'
      enum:
      - ap
      - gateway
      - switch
      type: string
    response_client_nac_search:
      additionalProperties: false
      description: Paginated NAC client search response
      properties:
        end:
          description: Search window end timestamp for NAC clients, in epoch seconds
          examples:
          - 1513362753
          type: integer
        limit:
          description: Maximum number of NAC client results requested
          examples:
          - 3
          type: integer
        next:
          description: URL for the next page of NAC client results
          type: string
        results:
          $ref: '#/components/schemas/response_client_nac_search_results'
          description: NAC client records returned for this page
        start:
          description: Search window start timestamp for NAC clients, in epoch seconds
          examples:
          - 1513276353
          type: integer
        total:
          description: Number of NAC client records matching the search
          examples:
          - 2
          type: integer
      type: object
    nac_auth_type:
      description: 'enum: `cert`, `device-auth`, `eap-teap`, `eap-tls`, `eap-ttls`, `idp`, `mab`, `eap-peap`'
      enum:
      - cert
      - device-auth
      - eap-teap
      - eap-tls
      - eap-ttls
      - idp
      - mab
      - eap-peap
      examples:
      - eap-tls
      type: string
    nac_client_event:
      additionalProperties: false
      description: NAC authentication event for a wired or wireless client
      properties:
        ap:
          description: Access point MAC address for the client session
          examples:
          - 5c5b35513227
          type: string
        auth_type:
          $ref: '#/components/schemas/nac_auth_type'
          description: Authentication method used for the NAC event
        bssid:
          description: Wireless BSSID used for the client session
          examples:
          - 5c5b355fafcc
          type: string
        client_type:
          $ref: '#/components/schemas/nac_access_type'
          description: Access type for the NAC client event
        device_mac:
          $ref: '#/components/schemas/nac_device_mac'
          description: Network device MAC address for the AP or switch handling the client session
        dryrun_nacrule_id:
          $ref: '#/components/schemas/nac_event_dryrun_nacrule_id'
          description: Dry-run NAC rule ID that matched the event, when present
        dryrun_nacrule_matched:
          $ref: '#/components/schemas/nac_event_dryrun_nacrule_matched'
          description: Whether a dry-run NAC rule matched the event
        idp_id:
          $ref: '#/components/schemas/nac_event_idp_id'
          description: Identity provider configuration ID used for the event
        idp_role:
          $ref: '#/components/schemas/nac_client_event_idp_role'
          description: Roles or groups returned by the identity provider
        idp_username:
          $ref: '#/components/schemas/nac_event_idp_username'
          description: Username presented to the identity provider
        mac:
          $ref: '#/components/schemas/nac_client_mac'
          description: Client MAC address for the NAC event
        mxedge_id:
          description: Mist Edge ID used to connect to cloud
          type: string
        nacrule_id:
          $ref: '#/components/schemas/nac_event_nacrule_id'
          description: NAC rule ID that matched the event
        nacrule_matched:
          $ref: '#/components/schemas/nac_event_nacrule_matched'
          description: Whether a NAC rule matched the event
        nas_vendor:
          $ref: '#/components/schemas/nac_event_nas_vendor'
          description: Vendor of the network access server
        org_id:
          $ref: '#/components/schemas/org_id'
          description: Identifier of the org where the NAC event occurred
        port_id:
          $ref: '#/components/schemas/nac_event_port_id'
          description: Switch port identifier where the NAC event occurred
        port_type:
          $ref: '#/components/schemas/nac_access_type'
          description: Access type of the port where the NAC event occurred
        random_mac:
          $ref: '#/components/schemas/random_mac'
          description: Whether the client used a randomized MAC address
        resp_attrs:
          $ref: '#/components/schemas/resp_attrs'
          description: RADIUS response attributes returned by NAC to the NAS
        site_id:
          $ref: '#/components/schemas/site_id'
          description: Identifier of the site where the NAC event occurred
        ssid:
          $ref: '#/components/schemas/nac_event_ssid'
          description: Wireless network SSID used for the NAC session
        timestamp:
          $ref: '#/components/schemas/timestamp'
          description: Time when the NAC event occurred
        type:
          $ref: '#/components/schemas/nac_event_type'
          description: NAC event type code
        usermac_label:
          $ref: '#/components/schemas/nac_client_event_usermac_labels'
          description: Labels derived from the usermac entry matched by the client
        username:
          $ref: '#/components/schemas/nac_event_username'
          description: Client-presented username for the NAC event
        vlan:
          $ref: '#/components/schemas/nac_event_vlan'
          description: Network VLAN name or ID returned for the NAC client
        vlan_source:
          description: Source of the assigned VLAN, for example `nactag` or `usermac`
          examples:
          - nactag
          type: string
      type: object
    nac_port_id:
      description: Port-ids the client was connected to for the specified duration
      examples:
      - - ge-0/0/17.0
      items:
        type: string
      readOnly: true
      type: array
    nac_client_vlan:
      description: List of vlans that have been assigned to the client
      items:
        type: string
      readOnly: true
      type: array
    last_nas_vendor:
      description: Vendor name of the NAS for the latest authentication
      examples:
      - juniper-mist
      type: string
    nac_event_vlan:
      description: vlan that assigned to the client
      readOnly: true
      type: string
    nac_event_nacrule_matched:
      description: NAC Policy Rule Matched
      readOnly: true
      type: boolean
    response_events_nac_client_search:
      additionalProperties: false
      description: Paginated response for NAC client event search results
      properties:
        end:
          description: Epoch timestamp for the end of the NAC client event search window
          examples:
          - 1513176951
          type: integer
        limit:
          description: Maximum number of NAC client event records returned in this page
          examples:
          - 10
          type: integer
        next:
          description: Pagination cursor or URL for retrieving the next page of NAC client event records
          type: string
        results:
          $ref: '#/components/schemas/nac_client_events'
          description: NAC client event records matching the search filters
        start:
          description: Epoch timestamp for the start of the NAC client event search window
          examples:
          - 1512572151
          type: integer
        total

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