openapi: 3.2.0 info: title: OpenAPI specification for Assurance Clients API description: 'OpenAPI specification for Catalyst Center - Assurance Network Clients A Client is an end device (computer, phone, and so on) that is connected to a network through wired or wireless medium. Catalyst Center supports both Wired and Wireless clients ' termsOfService: https://www.cisco.com/c/en/us/about/legal/cloud-and-software/end_user_license_agreement.html contact: name: Cisco TAC World Wide url: https://www.cisco.com/c/en/us/support/web/tsd-cisco-worldwide-contacts.html email: tac@cisco.com license: name: Cisco Catalyst Center License url: https://www.cisco.com/c/en/us/products/collateral/software/dna-software-ebook-cte.html version: 3.2.3 x-provenance: method: harvested authored_by: Cisco Catalyst Center harvested_by: API Evangelist harvested_on: '2026-08-19' first_party: true provider_published: true source_host: developer.cisco.com note: 27 Cisco-published OpenAPI 3.0 Assurance documents (185 operations). Ownership confirmed from the tac@cisco.com contact, the Cisco EULA terms-of-service URL and the Cisco Catalyst Center license block carried in each document. x-evidence: - type: source url: https://developer.cisco.com/docs/catalyst-center/ - type: source url: https://developer.cisco.com/dnacenter/ servers: - url: https://developer.cisco.com tags: - name: clients description: Operations related to Catalyst Center - Assurance Network Clients externalDocs: description: Catalyst Center Assurance user guide url: https://www.cisco.com/c/en/us/support/cloud-systems-management/dna-center/products-user-guide-list.html paths: /dna/data/api/v1/clients: get: tags: - clients summary: Retrieves the list of clients, while also offering basic filtering and sorting capabilities. description: Retrieves the list of clients, while also offering basic filtering and sorting capabilities. If startTime and endTime are not provided, the API defaults to the last 24 hours. operationId: readClients parameters: - name: startTime in: query description: 'Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. ' schema: type: integer format: int64 example: 1705348800000 - name: endTime in: query description: 'End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. ' required: false schema: type: integer format: int64 example: 1705435200000 - name: limit in: query description: Maximum number of records to return schema: maximum: 500 minimum: 1 type: integer default: 100 - name: offset in: query description: Specifies the starting point within all records returned by the API. It's one based offset. The starting value is 1. schema: minimum: 1 type: integer default: 1 - name: sortBy in: query description: A field within the response to sort by. schema: type: string - name: order in: query description: The sort order of the field ascending or descending. schema: type: string default: asc enum: - asc - desc - name: type in: query description: 'The client device type whether client is connected to network through Wired or Wireless medium. ' required: false schema: type: string enum: - Wired - Wireless example: Wireless - name: osType in: query description: "Client device operating system type.\nThis field supports wildcard (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search. \nEx: `*iOS*` or `iOS*` or `*iOS`\nExamples:\n\n`osType=iOS` (single osType requested)\n\n`osType=iOS&osType=Android` (multiple osType requested)\n" required: false style: form explode: true schema: type: array items: type: string - name: osVersion in: query description: "Client device operating system version\nThis field supports wildcard (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search. \nEx: `*14.3*` or `14.3*` or `*14.3`\nExamples:\n\n`osVersion=14.3` (single osVersion requested)\n\n`osVersion=14.3&osVersion=10.1` (multiple osVersion requested)\n" required: false style: form explode: true schema: type: array items: type: string - name: siteHierarchy in: query description: 'The full hierarchical breakdown of the site tree starting from Global site name and ending with the specific site name. The Root site is named "Global" (Ex. "Global/AreaName/BuildingName/FloorName") This field supports partial search. All the records containing the filter value will be returned Examples: `siteHierarchy=Global/AreaName/BuildingName/FloorName` (single siteHierarchy requested) `siteHierarchy=Global/AreaName/BuildingName1/FloorName1&siteHierarchy=Global/AreaName/BuildingName1/FloorName2` (multiple siteHierarchy requested)' required: false style: form explode: true schema: type: array items: type: string - name: siteHierarchyId in: query description: 'The full hierarchy breakdown of the site tree in id form starting from Global site UUID and ending with the specific site UUID. (Ex. "/globalUuid/areaUuid/buildingUuid/floorUuid/") This field supports partial search. All the records containing the filter value will be returned Examples: `siteHierarchyId=/globalUuid/areaUuid/buildingUuid/floorUuid/` (single siteHierarchyId requested) `siteHierarchyId=/globalUuid/areaUuid/buildingUuid1/floorUuid1/&siteHierarchyId=/globalUuid/areaUuid/buildingUuid1/floorUuid2/` (multiple siteHierarchyId requested)' required: false style: form explode: true schema: type: array items: type: string - name: siteId in: query description: 'The site UUID without the top level hierarchy. (Ex."floorUuid") Examples: `siteId=floorUuid` (single siteId requested) `siteId=floorUuid1&siteId=floorUuid2` (multiple siteId requested)' required: false style: form explode: true schema: type: array items: type: string - name: ipv4Address in: query description: "IPv4 Address of the network entity either network device or client\nThis field supports wildcard (`*`) character-based search. \nEx: `*1.1*` or `1.1*` or `*1.1`\n\nExamples:\n\n`ipv4Address=1.1.1.1` (single ipv4Address requested)\n\n`ipv4Address=1.1.1.1&ipv4Address=2.2.2.2` (multiple ipv4Address requested)\n" required: false style: form explode: true schema: type: array items: type: string format: ipv4 - name: ipv6Address in: query description: 'IPv6 Address of the network entity either network device or client This field supports wildcard (`*`) character-based search. Ex: `*2001:db8*` or `2001:db8*` or `*2001:db8` Examples: `ipv6Address=2001:db8:0:0:0:0:2:1` (single ipv6Address requested) `ipv6Address=2001:db8:0:0:0:0:2:1&ipv6Address=2001:db8:85a3:8d3:1319:8a2e:370:7348` (multiple ipv6Address requested) ' required: false style: form explode: true schema: type: array items: type: string format: ipv6 - name: macAddress in: query description: "The macAddress of the network device or client\nThis field supports wildcard (`*`) character-based search. \nEx: `*AB:AB:AB*` or `AB:AB:AB*` or `*AB:AB:AB`\nExamples:\n\n`macAddress=AB:AB:AB:CD:CD:CD` (single macAddress requested)\n\n`macAddress=AB:AB:AB:CD:CD:DC&macAddress=AB:AB:AB:CD:CD:FE` (multiple macAddress requested)\n" required: false style: form explode: true schema: type: array items: type: string - name: wlcName in: query description: 'Wireless Controller name that reports the wireless client. This field supports wildcard (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search. Ex: `*wlc-25*` or `wlc-25*` or `*wlc-25` Examples: `wlcName=wlc-25` (single wlcName requested) `wlcName=wlc-25&wlc-34` (multiple wlcName requested) ' required: false style: form explode: true schema: type: array items: type: string - name: connectedNetworkDeviceName in: query description: "Name of the neighbor network device that client is connected to.\nThis field supports wildcard (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search.\nEx: `*ap-25*` or `ap-25*` or `*ap-25`\n\nExamples:\n\n`connectedNetworkDeviceName=ap-25` (single connectedNetworkDeviceName requested)\n\n`connectedNetworkDeviceName=ap-25&ap-34` (multiple connectedNetworkDeviceName requested) \n" required: false style: form explode: true schema: type: array items: type: string - name: ssid in: query description: "SSID is the name of wireless network to which client connects to. It is also referred to as WLAN ID - Wireless Local Area Network Identifier.\nThis field supports wildcard (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search. \nEx: `*Alpha*` or `Alpha*` or `*Alpha`\n\nExamples:\n\n`ssid=Alpha` (single ssid requested)\n\n`ssid=Alpha&ssid=Guest` (multiple ssid requested)\n" required: false style: form explode: true schema: type: array items: type: string - name: band in: query description: 'WiFi frequency band that client or Access Point operates. Band value is represented in Giga Hertz - GHz Examples: `band=5GHZ` (single band requested) `band=2.4GHZ&band=6GHZ` (multiple band requested) ' required: false style: form explode: true schema: type: array items: type: string enum: - 2.4GHZ - 5GHZ - 6GHZ - name: view in: query description: 'Client related Views Refer to ClientView schema for list of views supported Examples: `view=Wireless` (single view requested) `view=WirelessHealth&view=WirelessTraffic` (multiple view requested) ' required: false style: form explode: true schema: type: array items: type: string - name: attribute in: query description: 'List of attributes related to resource that can be requested to only be part of the response along with the required attributes. Refer to ClientAttribute schema for list of attributes supported Examples: `attribute=band` (single attribute requested) `attribute=band&attribute=ssid&attribute=overallScore` (multiple attribute requested)' required: false style: form explode: true schema: type: array items: type: string - name: X-CALLER-ID in: header description: 'Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It''s an optional header parameter that can be added to an API request. ' required: false schema: type: string default: unknown example: ui:client360 responses: '200': $ref: '#/components/responses/ClientsResponseModel' '400': $ref: '#/components/responses/400' '500': $ref: '#/components/responses/500' 1XX: $ref: '#/components/responses/1XX' 2XX: $ref: '#/components/responses/2XX' 3XX: $ref: '#/components/responses/3XX' 4XX: $ref: '#/components/responses/4XX' 5XX: $ref: '#/components/responses/5XX' default: $ref: '#/components/responses/defaultError' /dna/data/api/v1/clients/{id}: get: tags: - clients summary: Retrieves specific client information matching the MAC address. description: Retrieves specific client information matching the MAC address. If startTime and endTime are not provided, the API defaults to the last 24 hours. operationId: readClientById parameters: - name: id in: path description: "id is the client mac address. It can be specified is any notational conventions \n01:23:45:67:89:AB or 01-23-45-67-89-AB or 0123.4567.89AB and is case insensitive\n" required: true schema: pattern: ^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$|^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$ type: string - name: startTime in: query description: 'Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. ' schema: type: integer format: int64 example: 1705348800000 - name: endTime in: query description: 'End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. ' required: false schema: type: integer format: int64 example: 1705435200000 - name: view in: query description: 'Client related Views Refer to ClientView schema for list of views supported Examples: `view=Wireless` (single view requested) `view=WirelessHealth&view=WirelessTraffic` (multiple view requested) ' required: false style: form explode: true schema: type: array items: type: string - name: attribute in: query description: 'List of attributes related to resource that can be requested to only be part of the response along with the required attributes. Refer to ClientAttribute schema for list of attributes supported Examples: `attribute=band` (single attribute requested) `attribute=band&attribute=ssid&attribute=overallScore` (multiple attribute requested)' required: false style: form explode: true schema: type: array items: type: string - name: X-CALLER-ID in: header description: 'Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It''s an optional header parameter that can be added to an API request. ' required: false schema: type: string default: unknown example: ui:client360 responses: '200': $ref: '#/components/responses/ClientResponseModel' '400': $ref: '#/components/responses/400' '404': $ref: '#/components/responses/404' '500': $ref: '#/components/responses/500' 1XX: $ref: '#/components/responses/1XX' 2XX: $ref: '#/components/responses/2XX' 3XX: $ref: '#/components/responses/3XX' 4XX: $ref: '#/components/responses/4XX' 5XX: $ref: '#/components/responses/5XX' default: $ref: '#/components/responses/defaultError' /dna/data/api/v1/clients/count: get: tags: - clients summary: Retrieves the total count of clients by applying basic filtering description: Retrieves the number of clients by applying basic filtering. If startTime and endTime are not provided, the API defaults to the last 24 hours. operationId: readClientsCount parameters: - name: startTime in: query description: 'Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. ' schema: type: integer format: int64 example: 1705348800000 - name: endTime in: query description: 'End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. ' required: false schema: type: integer format: int64 example: 1705435200000 - name: type in: query description: 'The client device type whether client is connected to network through Wired or Wireless medium. ' required: false schema: type: string enum: - Wired - Wireless example: Wireless - name: osType in: query description: "Client device operating system type.\nThis field supports wildcard (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search. \nEx: `*iOS*` or `iOS*` or `*iOS`\nExamples:\n\n`osType=iOS` (single osType requested)\n\n`osType=iOS&osType=Android` (multiple osType requested)\n" required: false style: form explode: true schema: type: array items: type: string - name: osVersion in: query description: "Client device operating system version\nThis field supports wildcard (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search. \nEx: `*14.3*` or `14.3*` or `*14.3`\nExamples:\n\n`osVersion=14.3` (single osVersion requested)\n\n`osVersion=14.3&osVersion=10.1` (multiple osVersion requested)\n" required: false style: form explode: true schema: type: array items: type: string - name: siteHierarchy in: query description: 'The full hierarchical breakdown of the site tree starting from Global site name and ending with the specific site name. The Root site is named "Global" (Ex. "Global/AreaName/BuildingName/FloorName") This field supports partial search. All the records containing the filter value will be returned Examples: `siteHierarchy=Global/AreaName/BuildingName/FloorName` (single siteHierarchy requested) `siteHierarchy=Global/AreaName/BuildingName1/FloorName1&siteHierarchy=Global/AreaName/BuildingName1/FloorName2` (multiple siteHierarchy requested)' required: false style: form explode: true schema: type: array items: type: string - name: siteHierarchyId in: query description: 'The full hierarchy breakdown of the site tree in id form starting from Global site UUID and ending with the specific site UUID. (Ex. "/globalUuid/areaUuid/buildingUuid/floorUuid/") This field supports partial search. All the records containing the filter value will be returned Examples: `siteHierarchyId=/globalUuid/areaUuid/buildingUuid/floorUuid/` (single siteHierarchyId requested) `siteHierarchyId=/globalUuid/areaUuid/buildingUuid1/floorUuid1/&siteHierarchyId=/globalUuid/areaUuid/buildingUuid1/floorUuid2/` (multiple siteHierarchyId requested)' required: false style: form explode: true schema: type: array items: type: string - name: siteId in: query description: 'The site UUID without the top level hierarchy. (Ex."floorUuid") Examples: `siteId=floorUuid` (single siteId requested) `siteId=floorUuid1&siteId=floorUuid2` (multiple siteId requested)' required: false style: form explode: true schema: type: array items: type: string - name: ipv4Address in: query description: "IPv4 Address of the network entity either network device or client\nThis field supports wildcard (`*`) character-based search. \nEx: `*1.1*` or `1.1*` or `*1.1`\n\nExamples:\n\n`ipv4Address=1.1.1.1` (single ipv4Address requested)\n\n`ipv4Address=1.1.1.1&ipv4Address=2.2.2.2` (multiple ipv4Address requested)\n" required: false style: form explode: true schema: type: array items: type: string format: ipv4 - name: ipv6Address in: query description: 'IPv6 Address of the network entity either network device or client This field supports wildcard (`*`) character-based search. Ex: `*2001:db8*` or `2001:db8*` or `*2001:db8` Examples: `ipv6Address=2001:db8:0:0:0:0:2:1` (single ipv6Address requested) `ipv6Address=2001:db8:0:0:0:0:2:1&ipv6Address=2001:db8:85a3:8d3:1319:8a2e:370:7348` (multiple ipv6Address requested) ' required: false style: form explode: true schema: type: array items: type: string format: ipv6 - name: macAddress in: query description: "The macAddress of the network device or client\nThis field supports wildcard (`*`) character-based search. \nEx: `*AB:AB:AB*` or `AB:AB:AB*` or `*AB:AB:AB`\nExamples:\n\n`macAddress=AB:AB:AB:CD:CD:CD` (single macAddress requested)\n\n`macAddress=AB:AB:AB:CD:CD:DC&macAddress=AB:AB:AB:CD:CD:FE` (multiple macAddress requested)\n" required: false style: form explode: true schema: type: array items: type: string - name: wlcName in: query description: 'Wireless Controller name that reports the wireless client. This field supports wildcard (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search. Ex: `*wlc-25*` or `wlc-25*` or `*wlc-25` Examples: `wlcName=wlc-25` (single wlcName requested) `wlcName=wlc-25&wlc-34` (multiple wlcName requested) ' required: false style: form explode: true schema: type: array items: type: string - name: connectedNetworkDeviceName in: query description: "Name of the neighbor network device that client is connected to.\nThis field supports wildcard (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search.\nEx: `*ap-25*` or `ap-25*` or `*ap-25`\n\nExamples:\n\n`connectedNetworkDeviceName=ap-25` (single connectedNetworkDeviceName requested)\n\n`connectedNetworkDeviceName=ap-25&ap-34` (multiple connectedNetworkDeviceName requested) \n" required: false style: form explode: true schema: type: array items: type: string - name: ssid in: query description: "SSID is the name of wireless network to which client connects to. It is also referred to as WLAN ID - Wireless Local Area Network Identifier.\nThis field supports wildcard (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search. \nEx: `*Alpha*` or `Alpha*` or `*Alpha`\n\nExamples:\n\n`ssid=Alpha` (single ssid requested)\n\n`ssid=Alpha&ssid=Guest` (multiple ssid requested)\n" required: false style: form explode: true schema: type: array items: type: string - name: band in: query description: 'WiFi frequency band that client or Access Point operates. Band value is represented in Giga Hertz - GHz Examples: `band=5GHZ` (single band requested) `band=2.4GHZ&band=6GHZ` (multiple band requested) ' required: false style: form explode: true schema: type: array items: type: string enum: - 2.4GHZ - 5GHZ - 6GHZ - name: X-CALLER-ID in: header description: 'Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It''s an optional header parameter that can be added to an API request. ' required: false schema: type: string default: unknown example: ui:client360 responses: '200': $ref: '#/components/responses/CountIntegerResponse' '400': $ref: '#/components/responses/400' '500': $ref: '#/components/responses/500' 1XX: $ref: '#/components/responses/1XX' 2XX: $ref: '#/components/responses/2XX' 3XX: $ref: '#/components/responses/3XX' 4XX: $ref: '#/components/responses/4XX' 5XX: $ref: '#/components/responses/5XX' default: $ref: '#/components/responses/defaultError' /dna/data/api/v1/clients/query: post: tags: - clients summary: Retrieves the list of clients by applying complex filters while also supporting aggregate attributes. description: "Retrieves the list of clients by applying complex filters while also supporting aggregate attributes. If startTime and endTime are not provided, the API defaults to the last 24 hours.\n\n**The input payload contains the following fields,**\n|Field Name | Description |\n| --- | --- |\n| `startTime` | The start time indicates when the API begins retrieving data related to the resource. It must be specified in the UNIX epoch time format, measured in milliseconds. This value is inclusive, and if left unspecified, the default is 1 day before the endTime. |\n| `endTime` | The end time indicates the upper limit until which the API retrieves data related to the resource. It must be defined in the UNIX epoch time format, measured in milliseconds. This value is inclusive, and if left unspecified, the default is the latest available data. |\n| `views` | A collection of attributes classified as \"view\" associated with the resource, which can be requested to be included in the response alongside the required attributes. Each view comprises a predetermined set of attributes. Refer to `ClientView` for the supported views |\n| `attributes` | A list of attributes associated with the resource, which can be requested to be included in the response alongside the required attributes. Refer to `ClientAttribute` model for the supported attributes |\n| `aggregateAttributes` | This specifies the attribute name and the function to be applied during data querying. The aggregate function is then applied to data within the specified start and end times. Refer to `ClientAggregateField` model for the supported aggregate attributes |\n|`filters`| This is used to specify one or more conditions for filtering the queried data. Refer to `ClientFilterField` model for the supported filters |\n|`page`| It includes the **limit, offset, and sortBy** fields. *limit* denotes the number of records to retrieve per page, *offset* signifies the initial data position, and *sortBy* is used to sort the response based on the sortBy fields. It contains the attribute name, order, and optional function for sorting by the aggregated field. Refer to `ClientSortByField` model for the supported sortBy names.|\n**How the filtering behavior works**\nThe `filters` field in each post body can be used in various ways:\nEach filter in the list of filters will be applied simultaneously. For instance, the following example would request filtering to retrieve clients with an RSSI value greater than -50 dBm and a osType of either iOS or Android.\n``` \"filters\": [\n {\n \"key\": \"rssi\",\n \"operator\": \"gt\",\n \"value\": -50\n },\n {\n \"key\": \"osType\",\n \"operator\": \"in\",\n \"value\": [\n \"iOS\",\n \"Android\"\n ]\n }\n]\n```\n\nEach filter object can utilize its logical operator differently to offer nested filtering functionality.\nIn the example below, you can observe a logical `OR` filter being applied using the nested filtering functionality:\nThe main filter object doesn't have its `key`, `value`, or `operator` fields populated. Only the `logicalOperator` field is populated to indicate that the filters within the nested filters list are to be logically combined.\n``` \"filters\": [\n {\n \"logicalOperator\": \"or\",\n \"filters\": [\n {\n \"key\": \"vlanId\",\n \"operator\": \"eq\",\n \"value\": \"187\"\n },\n {\n \"key\": \"siteHierarchy\",\n \"operator\": \"in\",\n \"value\": [\"Global/San Jose\", \"Global/SFO\"]\n }\n ]\n }\n] ```" operationId: queryClients parameters: - name: X-CALLER-ID in: header description: 'Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It''s an optional header parameter that can be added to an API request. ' required: false schema: type: string default: unknown example: ui:client360 requestBody: $ref: '#/components/requestBodies/ClientsQueryRequest' responses: '200': $ref: '#/components/responses/ClientsWithAggregateResponseModel' '400': $ref: '#/components/responses/400' '500': $ref: '#/components/responses/500' 1XX: $ref: '#/components/responses/1XX' 2XX: $ref: '#/components/responses/2XX' 3XX: $ref: '#/components/responses/3XX' 4XX: $ref: '#/components/responses/4XX' 5XX: $ref: '#/components/responses/5XX' default: $ref: '#/components/responses/defaultError' /dna/data/api/v1/clients/query/count: post: tags: - clients summary: Retrieves the number of clients by applying complex filters. description: "Retrieves the number of clients by applying complex filters. If startTime and endTime are not provided, the API defaults to the last 24 hours.\n\n**The input payload contains the following fields,**\n|Field Name | Description |\n| --- | --- |\n| `startTime` | The start time indicates when the API begins retrieving data related to the resource. It must be specified in the UNIX epoch time format, measured in milliseconds. This value is inclusive, and if left unspecified, the default is 1 day before the endTime. |\n| `endTime` | The end time indicates the upper limit until which the API retrieves data related to the resource. It must be defined in the UNIX epoch time format, measured in milliseconds. This value is inclusive, and if left unspecified, the default is the latest available data. |\n|`filters`| This is used to specify one or more conditions for filtering the queried data. Refer to `ClientFilterField` model for the supported filters |\n**How the filtering behavior works**\nThe `filters` field in each post body can be used in various ways:\nEach filter in the list of filters will be applied simultaneously. For instance, the following example would request filtering to retrieve clients with an RSSI value greater than -50 dBm and a osType of either iOS or Android.\n``` \"filters\": [\n {\n \"key\": \"rssi\",\n \"operator\": \"gt\",\n \"value\": -50\n },\n {\n \"key\": \"osType\",\n \"operator\": \"in\",\n \"value\": [\n \"iOS\",\n \"Android\"\n ]\n }\n]\n```\n\nEach filter object can utilize its logical operator differently to offer nested filtering functionality.\nIn the example below, you can observe a logical `OR` filter being applied using the nested filtering functionality:\nThe main filter object doesn't have its `key`, `value`, or `operator` fields populated. Only the `logicalOperator` field is populated to indicate that the filters within the nested filters list are to be logically combined.\n``` \"filters\": [\n {\n \"logicalOperator\": \"or\",\n \"filters\": [\n {\n \"key\": \"vlanId\",\n \"operator\": \"eq\",\n \"value\": \"187\"\n },\n {\n \"key\": \"siteHierarchy\",\n \"operator\": \"in\",\n \"value\": [\"Global/San Jose\", \"Global/SFO\"]\n }\n ]\n }\n] ```" operationId: queryClientsCount parameters: - name: X-CALLER-ID in: header description: 'Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It''s an optional header parameter that can be added to an API request. ' required: false schema: type: string default: unknown example: ui:client360 requestBody: $ref: '#/components/requestBodies/ClientsQueryCountRequest' responses: '200': $ref: '#/components/responses/CountIntegerResponse' '400': $ref: '#/components/responses/400' '500': $ref: '#/components/responses/500' 1XX: $ref: '#/components/responses/1XX' 2XX: $ref: '#/components/responses/2XX' 3XX: $ref: '#/components/responses/3XX' 4XX: $ref: '#/components/responses/4XX' 5XX: $ref: '#/components/responses/5XX' default: $ref: '#/components/responses/defaultError' /dna/data/api/v1/clients/{id}/trendAnalytics: post: tags: - clients summary: Retrieves specific client information over a specified period of time. description: 'Retrieves the time series information of a specific client by applying complex filters, aggregate functions, and grouping. The data will be grouped based on the specified trend time interval. If startTime and endTime are not provided, the API defaults to the last 24 hours. **The input payload contains the following fields,** |Field Name | Description | | --- | --- | | `startTime` | The start time indicates when the API begins retrieving data related to the resource. It must be specified in the UNIX epoch time format, measured in milliseconds. This value is inclusive, and if left unspecified, the default is 1 day before the endTime. | | `endTime` | The end time indicates the upper limit until which the API retrieves data related to the resource. It must be defined in the UNIX epoch time format, measured in milliseconds. This value is inclusive, and if left unspecified, the default is the latest available data. | | `trendInterval` | The time window for aggregating metrics. This is a mandatory request field. Possible values include *5 minutes, 10 minutes, 1 hour, 1 day, or 7 days*. If the start and end time range exceeds 1 day, the trendInterval defaults to 1 hour.| | `groupBy` | Specifies the attributes for grouping the data. Refer to `ClientGroupByField` model for the supported grouping attributes| | `attributes` | A list of attributes associated with the resource, which can be requested to be included in the response alongside the required attributes. Refer to `ClientAttribute` model for the supported attributes | | `aggregateAttributes` | This specifies the attribute name and the function to be applied during data querying. The aggregate function is then applied to data within the specified start and end times. Refer to `ClientAggregateField` model for the supported aggregate attributes | |`filters`| This is used to specify one or more conditions for filtering the queried data. Refer to `ClientFilterField` model for the supported filters | |`page`| It includes the **limit, cursor, and timeSortOrder** fields. *limit* denotes the number of records to retrieve per page, *cursor* signifies the initial data position, and *timeSortOrder* is used sort the response based on the timestamp either in ascending or descending order. |' operationId: clientTrendAnalyticsById parameters: - name: id in: path description: "id is the client mac address. It can be specified in one of the notational conventions \n01:23:45:67:89:AB or 01-23-45-67-89-AB or 0123.4567.89AB and is case insensitive\n" required: true schema: pattern: ^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$|^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$ type: string - name: X-CALLER-ID in: header description: 'Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It''s an optional header parameter that can be added to an API request. ' required: false schema: type: string default: unknown example: ui:client360 requestBody: $ref: '#/components/requestBodies/ClientTrendQueryRequest' responses: '200': $ref: '#/components/responses/ClientTrendResponse' '400': $ref: '#/components/responses/400' '404': $ref: '#/components/responses/404' '500': $ref: '#/components/responses/500' 1XX: $ref: '#/components/responses/1XX' 2XX: $ref: '#/components/responses/2XX' 3XX: $ref: '#/components/responses/3XX' 4XX: $ref: '#/components/responses/4XX' 5XX: $ref: '#/components/responses/5XX' default: $ref: '#/components/responses/defaultError' /dna/data/api/v1/clients/summaryAnalytics: post: tags: - clients summary: Retrieves summary analytics data related to clients. description: 'Retrieves summary analytics data related to clients while applying complex filtering, aggregate functions, and grouping. This API facilitates obtaining consolidated insights into the performance and status of the clients. If startTime and endTime are not provided, the API defaults to the last 24 hours. Refer to `ClientFailureReasonDescriptionMap` for possible failure reason codes and their descriptions. **The input payload contains the following fields,** |Field Name | Description | | --- | --- | | `startTime` | The start time indicates when the API begins retrieving data related to the resource. It must be specified in the UNIX epoch time format, measured in milliseconds. This value is inclusive, and if left unspecified, the default is 1 day before the endTime. | | `endTime` | The end time indicates the upper limit until which the API retrieves data related to the resource. It must be defined in the UNIX epoch time format, measured in milliseconds. This value is inclusive, and if left unspecified, the default is the latest available data. | | `groupBy` | Specifies the attributes for grouping the data. Refer to `ClientGroupByField` model for the supported grouping attributes. | | `attributes` | A list of attributes associated with the resource, which can be requested to be included in the response alongside the required attributes. Refer to `ClientAttribute` model for the supported attributes | | `aggregateAttributes` | This specifies the attribute name and the function to be applied during data querying. The aggregate function is then applied to data within the specified start and end times. Refer to `ClientAggregateField` model for the supported aggregate attributes | |`filters`| This is used to specify one or more conditions for filtering the queried data. Refer to `ClientFilterField` model for the supported filters | |`page`| It includes the **limit, cursor, and sortBy** fields. *limit* denotes the number of records to retrieve per page, *cursor* signifies the initial data position, and *sortBy* is used to sort the response based on the sortBy fields. It contains the attribute name, order, and optional function for sorting by the aggregated field. Refer to `ClientSortByField` model for the supported sortBy names.|' operationId: queryClientsSummaryAnalytics parameters: - name: X-CALLER-ID in: header description: 'Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It''s an optional header parameter that can be added to an API request. ' required: false schema: type: string default: unknown example: ui:client360 requestBody: $ref: '#/components/requestBodies/ClientsSummaryRequest' responses: '200': $ref: '#/components/responses/ClientsSummaryResponse' '400': $ref: '#/components/responses/400' '500': $ref: '#/components/responses/500' 1XX: $ref: '#/components/responses/1XX' 2XX: $ref: '#/components/responses/2XX' 3XX: $ref: '#/components/responses/3XX' 4XX: $ref: '#/components/responses/4XX' 5XX: $ref: '#/components/responses/5XX' default: $ref: '#/components/responses/defaultError' /dna/data/api/v1/clients/topNAnalytics: post: tags: - clients summary: Retrieves the Top-N analytics data related to clients. description: 'Retrieves the top N analytics data related to clients based on the provided input data. This API facilitates obtaining insights into the top-performing or most impacted clients. If startTime and endTime are not provided, the API defaults to the last 24 hours. Refer to `ClientFailureReasonDescriptionMap` for possible failure reason codes and their descriptions. **The input payload contains the following fields,** |Field Name | Description | | --- | --- | | `startTime` | The start time indicates when the API begins retrieving data related to the resource. It must be specified in the UNIX epoch time format, measured in milliseconds. This value is inclusive, and if left unspecified, the default is 1 day before the endTime. | | `endTime` | The end time indicates the upper limit until which the API retrieves data related to the resource. It must be defined in the UNIX epoch time format, measured in milliseconds. This value is inclusive, and if left unspecified, the default is the latest available data. | | `topN` | The number of top records to retrieve. This is a required request field.| | `groupBy` | Specifies the attributes for grouping the data. Refer to `ClientGroupByField` model for the supported grouping attributes. This is a required request field. | | `attributes` | A list of attributes associated with the resource, which can be requested to be included in the response alongside the required attributes. Refer to `ClientAttribute` model for the supported attributes | | `aggregateAttributes` | This specifies the attribute name and the function to be applied during data querying. The aggregate function is then applied to data within the specified start and end times. Refer to `ClientAggregateField` model for the supported aggregate attributes | |`filters`| This is used to specify one or more conditions for filtering the queried data. Refer to `ClientFilterField` model for the supported filters | |`page`| It includes the **limit, cursor, and sortBy** fields. *limit* denotes the number of records to retrieve per page, *cursor* signifies the initial data position, and *sortBy* is used to sort the response based on the sortBy fields. It contains the attribute name, order, and optional function for sorting by the aggregated field. Refer to `ClientSortByField` model for the supported sortBy names.|' operationId: queryClientsTopNAnalytics parameters: - name: X-CALLER-ID in: header description: 'Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It''s an optional header parameter that can be added to an API request. ' required: false schema: type: string default: unknown example: ui:client360 requestBody: $ref: '#/components/requestBodies/ClientsTopNRequest' responses: '200': $ref: '#/components/responses/ClientsTopNResponse' '400': $ref: '#/components/responses/400' '500': $ref: '#/components/responses/500' 1XX: $ref: '#/components/responses/1XX' 2XX: $ref: '#/components/responses/2XX' 3XX: $ref: '#/components/responses/3XX' 4XX: $ref: '#/components/responses/4XX' 5XX: $ref: '#/components/responses/5XX' default: $ref: '#/components/responses/defaultError' /dna/data/api/v1/clients/trendAnalytics: post: tags: - clients summary: Retrieves the Trend analytics data related to clients. description: 'Retrieves the trend analytics of client data for the specified time range. The data will be grouped based on the given trend time interval. This API facilitates obtaining consolidated insights into the performance and status of the clients over the specified start and end time. If startTime and endTime are not provided, the API defaults to the last 24 hours. Refer to `ClientFailureReasonDescriptionMap` for possible failure reason codes and their descriptions. **The input payload contains the following fields,** |Field Name | Description | | --- | --- | | `startTime` | The start time indicates when the API begins retrieving data related to the resource. It must be specified in the UNIX epoch time format, measured in milliseconds. This value is inclusive, and if left unspecified, the default is 1 day before the endTime.| | `endTime` | The end time indicates the upper limit until which the API retrieves data related to the resource. It must be defined in the UNIX epoch time format, measured in milliseconds. This value is inclusive, and if left unspecified, the default is the latest available data. | | `trendInterval` | The time window for aggregating metrics. This is a mandatory request field. Possible values include *5 minutes, 10 minutes, 1 hour, 1 day, or 7 days*.| | `groupBy` | Specifies the attributes for grouping the data. Refer to `ClientGroupByField` model for the supported grouping attributes| | `attributes` | A list of attributes associated with the resource, which can be requested to be included in the response alongside the required attributes. Refer to `ClientAttribute` model for the supported attributes | | `aggregateAttributes` | This specifies the attribute name and the function to be applied during data querying. The aggregate function is then applied to data within the specified start and end times. Refer to `ClientAggregateField` model for the supported aggregate attributes | |`filters`| This is used to specify one or more conditions for filtering the queried data. Refer to `ClientFilterField` model for the supported filters | |`page`| It includes the **limit, cursor, and timeSortOrder** fields. *limit* denotes the number of records to retrieve per page, *cursor* signifies the initial data position, and *timeSortOrder* is used sort the response based on the timestamp either in ascending or descending order. |' operationId: queryClientsTrendAnalytics parameters: - name: X-CALLER-ID in: header description: 'Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It''s an optional header parameter that can be added to an API request. ' required: false schema: type: string default: unknown example: ui:client360 requestBody: $ref: '#/components/requestBodies/ClientTrendQueryRequest' responses: '200': $ref: '#/components/responses/ClientTrendResponse' '400': $ref: '#/components/responses/400' '500': $ref: '#/components/responses/500' 1XX: $ref: '#/components/responses/1XX' 2XX: $ref: '#/components/responses/2XX' 3XX: $ref: '#/components/responses/3XX' 4XX: $ref: '#/components/responses/4XX' 5XX: $ref: '#/components/responses/5XX' default: $ref: '#/components/responses/defaultError' components: schemas: ClientsQueryCountRequest: type: object properties: startTime: $ref: '#/components/schemas/startTime' endTime: $ref: '#/components/schemas/endTime' filters: $ref: '#/components/schemas/ClientFilters' description: 'Request payload used for complex query count API. ' connectedDeviceName: type: string description: Name of the neighbor network device that client or network device is connected to example: Local-Switch ClientsSummaryResponse: type: object properties: response: $ref: '#/components/schemas/ClientsSummaryGroupsResponse' page: $ref: '#/components/schemas/PaginationWithAggregate' version: type: string description: The version of the response example: '1.0' ClientAttribute: type: string description: Attributes related to clients resource that can be requested to only be part of the response along with the required attributes. enum: - macAddress - type - name - username - ipv4Address - ipv6Addresses - vendor - osType - osVersion - deviceType - formFactor - siteHierarchy - siteHierarchyId - siteId - lastUpdatedTime - connectionStatus - overallScore - onboardingScore - connectedScore - linkErrorPercentageThreshold - rssiThreshold - snrThreshold - isRssiIncluded - isSnrIncluded - txBytes - rxBytes - usage - rxRate - txRate - rxRetries - rxRetryPercentage - dnsRequestCount - dnsResponseCount - rxLinkErrorPercentage - txLinkErrorPercentage - connectedNetworkDeviceId - connectedNetworkDeviceName - connectedNetworkDeviceManagementIp - connectedNetworkDeviceMac - interfaceName - interfaceSpeed - duplexMode - vnId - l2Vn - l3Vn - vlanId - securityGroupTag - linkSpeed - roamSpeed - sessionDuration - band - ssid - authType - wlcName - wlcId - apMac - apMode - radioId - channel - protocol - protocolCapability - upnId - upnName - upnOwner - upnDuid - rssi - snr - dataRate - isIosAnalyticsCapable - isFabricClient - bridgeVMMode - avgRunDuration - maxRunDuration - avgAssocDuration - maxAssocDuration - avgAuthDuration - maxAuthDuration - avgDhcpDuration - maxDhcpDuration - aaaServerIp - dhcpServerIp - authDoneTime - assocDoneTime - dhcpDoneTime - roamingTime - failedRoamingCount - successfulRoamingCount - totalRoamingAttempts - assocFailureReason - aaaFailureReason - dhcpFailureReason - otherFailureReason - latestFailureReason - trustScore - assocFailureReasonDescription - aaaFailureReasonDescription - dhcpFailureReasonDescription ClientResponseModel: type: object properties: response: $ref: '#/components/schemas/Client' version: type: string description: The version of the response example: '1.0' description: A single Client response model ProtocolCapability: type: string description: Highest protocol supported by the wireless client example: 802.11ax enum: - legacy - 802.11n - 802.11ac - 802.11ax - 802.11ax6 - 802.11be - unclassified ClientWithAggregateResponse: type: object properties: aggregateAttributes: $ref: '#/components/schemas/ClientAggregateAttributesResponse' allOf: - $ref: '#/components/schemas/Client' ClientAggregateAttribute: type: object properties: name: $ref: '#/components/schemas/ClientAggregateField' function: $ref: '#/components/schemas/Function' description: 'Field name and list of aggregate functions to be applied when querying the data. ' Channel: type: string description: Specific WiFi frequency that client uses to send or receive data from Access Point example: '100' ClientView: type: string enum: - Wired - WiredHealth - WiredTraffic - WiredConnectedNetworkDevice - WiredConnection - Wireless - WirelessHealth - WirelessTraffic - WirelessConnectedNetworkDevice - WirelessConnection - Detail - Onboarding - Latency WiredConnectionDetail: type: object properties: vnId: $ref: '#/components/schemas/vnId' l2Vn: $ref: '#/components/schemas/L2Vn' l3Vn: $ref: '#/components/schemas/L3Vn' securityGroupTag: type: string description: Each security group in a Cisco TrustSec domain is assigned a unique 16 bit tag called the Security Group Tag (SGT). The SGT is a single label indicating the privileges of the source within the entire network. It is in turn between network hops allowing any intermediary devices (switches, routers) to enforce polices based on the identity tag example: '133' linkSpeed: type: integer description: The negotiated speed in bits per second of the link between Wired client and connected network device format: int64 example: 1000000000 bridgeVMMode: type: string description: Is Bridge VM Mode supported by the client description: Connection attributes specific for wired clients Function: type: string description: Type of aggregate function to apply on the field when querying data example: sum enum: - sum - min - max - avg - count - latest - distinctCount - median ErrorResponse: title: Error Response type: object properties: response: type: array description: The error response object items: $ref: '#/components/schemas/ErrorObject' version: type: string description: The version of the response example: '1.0' description: Contains information explaining the error that occured processing this request. example: response: - errorCode: 2600 message: Error message detail: Error details externalDocs: description: Error Codes - Cisco DevNet url: https://developer.cisco.com/docs/dna-center/#!api-quick-start/error-codes siteHierarchy: type: string description: The full hierarchy breakdown of the site tree in name form starting from Global site name and ending with the specific site site. 'Global' is the Root name of the site hierarchy tree. Site name including the hierarchy where the network device or client is located. For clients site is derived based on site assigned to network device where the client is connected to. For Wireless client its the connected Access Point site and for Wired client its the connected switch site. For network device its the site assigned to it. example: Global/AreaName/BuildingName/FloorName PaginationTrend: type: object properties: limit: minimum: 1 type: integer description: Number of records to fetch in a page example: 100 default: 100 cursor: type: string description: It's an opaque string field that indicates the next record in the requested collection. If no records remain, the API returns a response with a count of zero. The default value is an empty string, and the initial value must be an empty string. The cursor value is populated by the API in the response page block. If the user wants more records, the cursor in the subsequent request must be updated with the value from the previous response. example: '{~modificationtime_histo=1.7115912E12}' default: '' count: type: integer description: Number of records returned after applying applicable filtering. Field is ignored for request and updated by API in the response example: 100 timeSortOrder: type: string description: Sort order. 'asc' for ascending and 'desc' for descending enum: - asc - desc L2Vn: type: string description: L2 Virtual network name assigned to wired client example: INFRA-VN ChannelWidth: type: string description: Is the channel bandwidth used by the radio for WiFi communication. example: '40' ApEthernetMac: type: string description: Ethernet Mac Address of the Access Point the wireless client is connected to example: AA:BB:CC:DD:FF:00 WlcName: type: string description: Wireless Controller name that reports the wireless client example: wnbu-sjc24-00a-ewlc-prod2.cisco.com AnalyticsAttributeResponse: type: object properties: name: type: string description: Name of the attribute requested for analytics API. value: type: object description: This is the value of the attribute requested for analytics API. WirelessHealthKpi: type: object properties: rssiThreshold: type: integer description: Threshold value in dBm for RSSI KPI used when calculating Wireless Client connectivity score. example: -72 snrThreshold: type: integer description: Threshold value in dB for SNR KPI used when calculating Wireless Client connectivity score. example: 9 dataRateThreshold: type: integer description: Threshold value in Mbps for Data Rate KPI used when calculating Wireless Client connectivity score. example: 450 retriesThreshold: type: integer description: Threshold value in percentage for Retries KPI used when calculating Wireless Client connectivity score. example: 5 isRssiIncluded: type: boolean description: Is the RSSI KPI included in calculating the Wireless Client connectivity health score. example: true isSnrIncluded: type: boolean description: Is the SNR KPI included in calculating the Wireless Client connectivity health score. example: true isDataRateIncluded: type: boolean description: Is the Data Rate KPI included in calculating the Wireless Client connectivity health score. example: true isRetriesIncluded: type: boolean description: Is the Retries KPI included in calculating the Wireless Client connectivity health score. example: true MacAddress: pattern: ^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$|^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$ type: string description: Mac Address of the Client readOnly: true example: AA:BB:CC:DD:EE:FF WirelessLatencyStats: type: object properties: video: type: integer description: Video traffic WiFi latency measured in milliseconds (ms) example: 7 voice: type: integer description: Voice traffic WiFi latency measured in milliseconds (ms) example: 7 bestEffort: type: integer description: Best Effort traffic WiFi latency measured in milliseconds (ms) example: 7 background: type: integer description: Background traffic WiFi latency measured in milliseconds (ms) example: 7 description: Wireless latency is measured by the time it takes for a packet to be successfully transmitted from an AP to the client connectedInterfaceName: type: string description: Neighbor network device interface where wired client or network device is connected to example: GigabitEthernet2/1/3 IPv6Address: title: IPv6 Address type: string format: ipv6 example: 2001:db8:3c4d:15::1a2f:1a2b IPv4Address: title: IPv4 Address type: string format: ipv4 example: 250.162.252.170 OnboardingDetail: type: object properties: avgRunDuration: type: integer description: Average duration value taken by wireless client to move to 'RUN' state for all onboarding attempts. It is measured in milliseconds (ms) example: 1500 maxRunDuration: type: integer description: Maximum duration value taken by wireless client to move to 'RUN' state for all onboarding attempts. It is measured in milliseconds (ms) example: 4500 avgAssocDuration: type: integer description: Average duration value taken by wireless client to move to 'ASSOC' state for all onboarding attempts. It is measured in milliseconds (ms) example: 100 maxAssocDuration: type: integer description: Maximum duration value taken by wireless client to move to 'ASSOC' state for all onboarding attempts. It is measured in milliseconds (ms) example: 500 avgAuthDuration: type: integer description: Average duration value taken by wireless client to move to 'AUTH' state for all onboarding attempts. It is measured in milliseconds (ms) example: 50 maxAuthDuration: type: integer description: Maximum duration value taken by wireless client to move to 'AUTH' state for all onboarding attempts. It is measured in milliseconds (ms) example: 200 avgDhcpDuration: type: integer description: Average duration value taken by wireless client to move to 'DHCP' state for all onboarding attempts. It is measured in milliseconds (ms) example: 250 maxDhcpDuration: type: integer description: Maximum duration value taken by wireless client to move to 'DHCP' state for all onboarding attempts. It is measured in milliseconds (ms) example: 750 maxRoamingDuration: type: integer description: Maximum duration value taken by wireless client to move to finish Romaing state for all onboarding attempts. It is measured in milliseconds (ms) example: 750 aaaServerIp: type: string description: AAA server IP address used by wireless client to verify if the client has permission to onboard the network example: 192.168.4.5 dhcpServerIp: type: string description: DHCP server IP address used by wireless client to get the network details to help client connect to network example: 172.68.2.3 onboardingTime: type: integer description: Time at which wireless client started onboarding process to connect to network. It is specified in UNIX epochtime in milliseconds. If wireless client goes through multiple onboarding attempts this field will be the first Onboarding attempt timestamp. format: int64 example: 1707237517322 authDoneTime: type: integer description: Time at which wireless client finished Authentication phase of onboarding to network. It is specified in UNIX epochtime in milliseconds. If wireless client goes through multiple onboarding attempts this field will be the latest Autentication attempt timestamp. format: int64 example: 1707237517322 assocDoneTime: type: integer description: Time at which wireless client finished Association phase of onboarding to network. It is specified in UNIX epochtime in milliseconds. If wireless client goes through multiple onboarding attempts this field will be the latest Association attempt timestamp. format: int64 example: 1707237517322 dhcpDoneTime: type: integer description: Time at which wireless client finished DHCP (accquiring network details) phase of onboarding to network. It is specified in UNIX epochtime in milliseconds. If wireless client goes through multiple onboarding attempts this field will be the latest DHCP attempt timestamp. format: int64 example: 1707237517322 roamingTime: type: integer description: Time at which wireless client finished Roaming phase of onboarding to network. It is specified in UNIX epochtime in milliseconds. If wireless client goes through multiple onboarding attempts this field will be the latest ROAM attempt timestamp. format: int64 example: 1707237517322 failedRoamingCount: type: integer description: Number of Roaming attempts failed by wireless client example: 2 successfulRoamingCount: type: integer description: Number of Roaming attempts successful by wireless client example: 3 totalRoamingAttempts: type: integer description: Number of Roaming attempts successful and failed by wireless client example: 5 assocFailureReason: type: string description: Latest Association failure reason. example: cl_POOR_CHANNEL_CONDITIONS aaaFailureReason: type: string description: Latest AAA Server related Authentication failure reason. example: AUTH_AAA_NO_RESPONSE dhcpFailureReason: type: string description: Latest DHCP Server related IP Association failure reason. example: cl_REASON_DHCP_FAIL_LEASE_EXPIRED otherFailureReason: type: string description: Latest any other failure reason. example: Client Connect Timeout latestFailureReason: type: string description: Latest failure reason. example: aaaRootCause assocFailureReasonDescription: type: string description: Latest Association failure reason description. example: Poor Channel Conditions aaaFailureReasonDescription: type: string description: Latest AAA Server related Authentication failure reason description. example: No Response from AAA Server dhcpFailureReasonDescription: type: string description: Latest DHCP Server related IP Association failure reason description. example: DHCP Renew Failure - No Response upon Request WiredHealthKpi: type: object properties: linkErrorPercentageThreshold: type: number description: Threshold value in percentage for link error KPI used when calculating Wired Client connectivity score. example: 1 isLinkErrorIncluded: type: boolean description: Is the link error KPI included in calculating the Wired Client connectivity health score. example: true discardsThreshold: type: number description: Threshold value in percentage for Discards KPI used when calculating Wired Client connectivity score. example: 1 isDiscardsIncluded: type: boolean description: Is the Discards KPI included in calculating the Wired Client connectivity health score. example: true utilizationThreshold: type: number description: Threshold value in percentage for Utilization KPI used when calculating Wired Client connectivity score. example: 1 isUtilizationIncluded: type: boolean description: Is the Utilization KPI included in calculating the Wired Client connectivity health score. example: true ClientAggregateAttributes: type: array example: - name: rssi function: min - name: rssi function: max - name: rssi function: avg - name: usage function: sum items: $ref: '#/components/schemas/ClientAggregateAttribute' ClientsWithAggregateResponseModel: type: object properties: response: type: array items: $ref: '#/components/schemas/ClientWithAggregateResponse' page: $ref: '#/components/schemas/PaginationWithAggregate' version: type: string description: The version of the response example: '1.0' description: Collection of Clients response model Client: type: object properties: health: allOf: - $ref: '#/components/schemas/CommonHealthKpi' - $ref: '#/components/schemas/WiredHealthKpi' - $ref: '#/components/schemas/WirelessHealthKpi' traffic: allOf: - $ref: '#/components/schemas/CommonTrafficStats' - $ref: '#/components/schemas/WiredTrafficStats' - $ref: '#/components/schemas/WirelessTrafficStats' connectedNetworkDevice: allOf: - $ref: '#/components/schemas/CommonConnectedNetworkDeviceDetail' - $ref: '#/components/schemas/WiredConnectedNetworkDeviceDetail' connection: allOf: - $ref: '#/components/schemas/CommonConnectionDetail' - $ref: '#/components/schemas/WiredConnectionDetail' - $ref: '#/components/schemas/WirelessConnectionDetail' onboarding: $ref: '#/components/schemas/OnboardingDetail' latency: $ref: '#/components/schemas/WirelessLatencyStats' description: Assurance Network Client details allOf: - $ref: '#/components/schemas/ClientBasic' - $ref: '#/components/schemas/CommonDetail' siteHierarchyId: type: string description: The full hierarchy breakdown of the site tree in id form starting from Global site UUID and ending with the specific site UUID. example: /31e57cb2-06af-4c5c-87d1-16af536095d2/54d3f243-509e-436d-98-ebe01daf80db/f52fbe48-fcc9-4551-947b-e144e20c0311/50c01c29-b09e-49-b6ce-2e7d3395f3a3/ ClientsTopNResponse: type: object properties: response: type: array description: Successfully return list of Clients TopN Analytics data items: $ref: '#/components/schemas/ClientsGroupResponse' page: $ref: '#/components/schemas/PaginationWithAggregate' version: type: string description: The version of the response example: '1.0' CommonHealthKpi: type: object properties: overallScore: type: integer description: 'Overall Health Score of the client. The Individual Client Health score is the sum of the Client Onboarding score and the Client Connectivity score. The client health score ranges from 1 to 10, with a score of 0 for inactive clients. It is calculated as follows: `Wired Client`: Link to first switch is up, authentication and authorization is successful and IP address is received. Client score is 10. `Wireless Client`: Client joined the network and has good connection in terms of the RSSI and SNR KPIs.' example: 10 onboardingScore: type: integer description: 'The Client Onboarding score indicates the experience of a client device while connecting to the network. If a client connects to the network successfully, the score is 4. If a client failed to connect to the network, the score is 1. If a client is idle, the score is 0. The Client Onboarding score is calculated as follows: `Wired Client`: Link to the first switch is up, authentication and authorization is successful, and IP address is received. `Wireless Client`: Client Onboarding score range is from 1 to 4. When the client connects to the network successfully, the score is 4. If the client failed to connect to the network, the score is 1.' example: 4 connectedScore: type: integer description: "The Client Connectivity score indicates the experience of the client device after the device is connected to the network. The score is calculated as follows:\n`Wired Client`: Connectivity score can be 2 or 6. Link errors determine the Connectivity score and the resulting Overall Health score, as shown below:\n\n If a client onboards successfully but has link errors, the Connectivity score is 2 and the Overall Health score is 6.\n\n If the client onboards successfully and there are no link errors between the client and the first-hop switch, the Connectivity score is 6 and the Overall Health score is 10.\n\n`Wireless Client`: Connectivity score can be 0, 4, or 10. The RSSI and SNR range determines the Connectivity score and the resulting Overall Health score is calculated as the weighted average of the RSSI-driven Connectivity score and the SNR-driven Connectivity score." example: 6 SortByObj: type: object properties: name: type: string description: Attributes related to clients resource that can be used to sort the response. enum: - macAddress - type - name - username - ipv4Address - vendor - osType - osVersion - deviceType - formFactor - siteHierarchy - siteId - lastUpdatedTime - connectionStatus - overallScore - onboardingScore - connectedScore - txBytes - rxBytes - usage - rxRate - txRate - rxRetries - rxRetryPercentage - dnsRequestCount - dnsResponseCount - rxLinkErrorPercentage - txLinkErrorPercentage - connectedNetworkDeviceName - connectedNetworkDeviceManagementIp - connectedNetworkDeviceId - connectedNetworkDeviceMac - interfaceName - interfaceSpeed - duplexMode - vnId - l2Vn - l3Vn - vlanId - securityGroupTag - linkSpeed - roamSpeed - sessionDuration - band - ssid - authType - wlcName - apMac - radioId - channel - protocol - protocolCapability - upnId - upnName - upnOwner - upnDuid - rssi - snr - dataRate - isIosAnalyticsCapable - bridgeVMMode - avgRunDuration - maxRunDuration - avgAssocDuration - maxAssocDuration - avgAuthDuration - maxAuthDuration - avgDhcpDuration - maxDhcpDuration - aaaServerIp - dhcpServerIp - authDoneTime - assocDoneTime - dhcpDoneTime - roamingTime - failedRoamingCount - successfulRoamingCount - totalRoamingAttempts - assocFailureReason - aaaFailureReason - dhcpFailureReason - otherFailureReason - latestFailureReason - trustScore function: type: string description: Type of aggregate function to apply on the field when querying data enum: - min - max - avg - count - latest - sum - distinctCount - median order: type: string description: Sort order. 'asc' for ascending and 'desc' for descending enum: - asc - desc description: 'This is a unified sortBy model for attributes and aggregate attributes request. If function is specified then API will sort the colllection on aggregated attribute. If function is not specified API will sort the collection on attribute. ' CommonConnectedNetworkDeviceDetail: type: object properties: connectedNetworkDeviceId: $ref: '#/components/schemas/connectedDeviceId' connectedNetworkDeviceName: $ref: '#/components/schemas/connectedDeviceName' connectedNetworkDeviceManagementIp: type: string description: Management IP address of the network device where the client is connected example: 3.3.3.3 connectedNetworkDeviceMac: type: string description: Mac address of the network device where the client is connected example: FF:DD:EE:CC:BB:AA connectedNetworkDeviceType: type: string description: The type of the connected device the client is connected to enum: - Access Point - Switch description: Connected network device attributes common for wired and wireless clients ClientFilterObj: type: object properties: key: $ref: '#/components/schemas/ClientFilterField' operator: $ref: '#/components/schemas/Operator' logicalOperator: $ref: '#/components/schemas/LogicalOperator' value: type: object description: "Field value(s) to filter the data set. Array of values is used for \"in\" or \"out\" operator. Values will be of whatever type the specific field being filtered is defined with.\n\nFor other operators, filter value is of whatever type the specific field being filtered is defined with.\n\nIn the case of an \"and\" or \"or\" operator, this values array will be ignored, and the values arrays in each of the *nested filters* will be used.\nThe data type of a value, or each item inside the value in case it is a list, must match the type defined in the Client response model \n" filters: type: array description: 'Nested array of filters in case of AND/OR based filters. Only one level of nesting will be supported. Structure of nested filter is the same as parent with all operators supported except AND or OR. ' items: $ref: '#/components/schemas/ClientFilterObj' ClientViews: type: array description: "View is predefined set of attributes supported by the API. The attributes related to view only will be part of the API response along with required fields. If multiple views are requested response will contain attributes from requested views. If no views are specified all the attributes will be returned\nClient Views are broadly categorized into Wired and Wireless.\n`Wired` includes attributes related to a wired client and `Wireless` includes attributes related to a wireless client\nThere are specific views for Wired and Wireless category that user can request the data for\n\n| View Name | Included Attributes |\n| --- | --- |\n| `Wired` | id, macAddress, type, name, userId, username, ipv4Address, ipv6Addresses, vendor, osType, osVersion, formFactor, deviceType, siteHierarchy, siteHierarchyId, siteId, lastUpdatedTime, connectionStatus, tracked, isPrivateMacAddress, overallScore, onboardingScore, connectedScore, linkErrorPercentageThreshold, islinkErrorIncluded, txBytes, rxBytes, usage, rxPackets, txPackets, rxRate, txRate, rxLinkErrorPercentage, txLinkErrorPercentage, connectedNetworkDeviceId, connectedNetworkDeviceName, connectedNetworkDeviceManagementIp, connectedNetworkDeviceMac, interfaceName, interfaceSpeed, duplexMode, connectedNetworkDeviceType, vnId, l2Vn, l3Vn, vlanId, securityGroupTag, linkSpeed, sessionDuration, bridgeVMMode, isFabricClient |\n| `WiredConnection` | id, macAddress, type, vnId, l2Vn, l3Vn, securityGroupTag, linkSpeed, sessionDuration, bridgeVMMode, isFabricClient |\n| `WiredTraffic` | id, macAddress, type, txBytes, rxBytes, usage, rxPackets, txPackets, rxRate, txRate, rxLinkErrorPercentage, txLinkErrorPercentage |\n| `WiredHealth` | id, macAddress, type, overallScore, onboardingScore, connectedScore, linkErrorPercentageThreshold, islinkErrorIncluded |\n| `WiredConnectedNetworkDevice` | id, macAddress, type, connectedNetworkDeviceId, connectedNetworkDeviceName, connectedNetworkDeviceManagementIp, connectedNetworkDeviceMac, interfaceName, interfaceSpeed, duplexMode, connectedNetworkDeviceType |\n| `Wireless` | id, macAddress, type, name, userId, username, ipv4Address, ipv6Addresses, vendor, osType, osVersion, formFactor, deviceType, siteHierarchy, siteHierarchyId, siteId, lastUpdatedTime, connectionStatus, tracked, isPrivateMacAddress, overallScore, onboardingScore, connectedScore, rssiThreshold, snrThreshold, isRssiIncluded, isSnrIncluded, txBytes, rxBytes, usage, rxPackets, txPackets, rxRate, txRate, rxRetries, rxRetryPercentage, txDrops, txDropPercentage, dnsRequestCount, dnsResponseCount, connectedNetworkDeviceId, connectedNetworkDeviceName, connectedNetworkDeviceManagementIp, connectedNetworkDeviceMac, connectedNetworkDeviceType, band, ssid, vlanId, authType, wlcName, wlcId, apMac, apEthernetMac, radioId, channel, channelWidth, protocol, protocolCapability, upnId, upnName, upnOwner, upnDuid, rssi, snr, dataRate, sessionDuration, isIosAnalyticsCapable, isFabricClient, avgRunDuration, maxRunDuration, avgAssocDuration, maxAssocDuration, avgRunDuration, maxRunDuration, avgAssocDuration, maxAssocDuration, avgAuthDuration, maxAuthDuration, avgDhcpDuration, maxDhcpDuration, maxRoamingDuration, aaaServerIp, dhcpServerIp, authDoneTime, assocDoneTime, dhcpDoneTime, roamingTime, failedRoamingCount, successfulRoamingCount, successfulRoamingCount, assocFailureReason, aaaFailureReason, dhcpFailureReason, otherFailureReason, latestFailureReason, video, voice, bestEffort, background |\n| `WirelessConnection` | id, macAddress, type, band, ssid, vlanId, authType, wlcName, wlcId, apMac, apEthernetMac, radioId, channel , channelWidth, protocol, protocolCapability, upnId, upnName, upnOwner, upnDuid, rssi, snr, dataRate, sessionDuration, isIosAnalyticsCapable, isFabricClient |\n| `WirelessTraffic` | id, macAddress, type, txBytes, rxBytes, usage, rxPackets, txPackets, rxRate, txRate, rxRetries, rxRetryPercentage, txDrops, txDropPercentage, dnsRequestCount, dnsResponseCount |\n| `WirelessHealth` | id, macAddress, type, overallScore, onboardingScore, connectedScore, rssiThreshold, snrThreshold, isRssiIncluded, isSnrIncluded |\n| `WirelessConnectedNetworkDevice` | id, macAddress, type, connectedNetworkDeviceId, connectedNetworkDeviceName, connectedNetworkDeviceManagementIp, connectedNetworkDeviceMac, connectedNetworkDeviceType |\n| `Detail` | id, macAddress, type, name, userId, username, ipv4Address, ipv6Addresses, vendor, osType, osVersion, formFactor, deviceType, siteHierarchy, siteHierarchyId, siteId, lastUpdatedTime, connectionStatus, tracked, isPrivateMacAddress, overallScore |\n \n| `Onboarding` | id, macAddress, type, avgRunDuration, maxRunDuration, avgAssocDuration, maxAssocDuration, avgAuthDuration, maxAuthDuration, avgDhcpDuration, maxDhcpDuration, maxRoamingDuration, aaaServerIp, dhcpServerIp, authDoneTime, assocDoneTime, dhcpDoneTime, roamingTime, failedRoamingCount, successfulRoamingCount, successfulRoamingCount, assocFailureReason, aaaFailureReason, dhcpFailureReason, otherFailureReason, latestFailureReason |\n| `Latency` | id, macAddress, type, video, voice, bestEffort, background |\nExamples:\nviews=Wired (single view requested)\nviews=Detail,Wireless Connection,Wireless Health (multiple views requested)" example: - Wireless items: $ref: '#/components/schemas/ClientView' CommonConnectionDetail: type: object properties: vlanId: $ref: '#/components/schemas/vlanId' sessionDuration: type: integer description: The amount of time in milliseconds the client was connected to network format: int64 example: 12345678 description: Client Connection attributes common for wired and wireless clients PaginationWithAggregate: type: object properties: limit: maximum: 500 minimum: 1 type: integer description: Number of records to fetch in a page example: 100 default: 100 offset: minimum: 1 type: integer description: Starting offset of data to fetch and returned example: 5 default: 1 cursor: type: string description: It's an opaque string field that indicates the next record in the requested collection. If no records remain, the API returns a response with a count of zero. The default value is an empty string, and the initial value must be an empty string. The cursor value is populated by the API in the response page block. If the user wants more records, the cursor in the subsequent request must be updated with the value from the previous response. example: '{apMac_terms=AA:BB:CC:DD:EE:FF, frequency_terms=5.0}' count: type: integer description: Total number of records related to the resource after applying applicable filtering. Field is ignored for request and updated by API in the response example: 100 sortBy: type: array example: - name: overallScore order: asc - name: rssi function: min order: asc - name: usage function: sum order: desc items: $ref: '#/components/schemas/SortByObj' CommonTrafficStats: type: object properties: txBytes: type: integer description: Amount of data sent by the client measured in bytes. format: int64 example: 406695572 rxBytes: type: integer description: Amount of data received by the client measured in bytes. format: int64 example: 2753889933 usage: type: integer description: Amount of data send and received by the client measured in bytes. format: int64 example: 3160585505 rxPackets: type: integer description: Number of packets received by the Client format: int64 example: 3163 txPackets: type: integer description: Number of packets sent by the Client format: int64 example: 5647 rxRate: type: number description: Number of bytes per second traffic received by the Client example: 1951.56 txRate: type: number description: Number of bytes per second traffic sent by the Client example: 60182 description: Traffic statistics common for wired and wireless clients ErrorObject: type: object properties: errorCode: type: integer description: Application specific error code returned by the server message: type: string description: Brief message about the error condition detail: type: string description: A more detailed explanation of the error condition the parameter and its value, that caused the condition and why it caused it. description: Error object containing error code and information about the error CommonDetail: type: object properties: name: $ref: '#/components/schemas/name' userId: type: string description: User id of the client using this device. Multiple clientdevices can be assigned to single user. This field will tell theunique identifer of the user using this device. example: jdoe username: type: string description: Name of the user to which the client is assigned example: 12-34-56-AB-CD-EF ipv4Address: $ref: '#/components/schemas/IPv4Address' ipv6Addresses: type: array description: IPv6 addresses of the client items: $ref: '#/components/schemas/IPv6Address' vendor: type: string description: Vendor name of the client device example: Apple osType: type: string description: Device operating system type example: iOS osVersion: type: string description: Device operating system version example: 17.1.2 formFactor: type: string description: Device Form Factor like Phone, Tablet etc example: Phone trustScore: type: number description: Trust Score is AI Endpoint Analytics trust level based on various anomaly protection on the device. example: 3 deviceType: type: string description: Device type like Apple-Device, Intel-Device etc example: Apple-Device siteHierarchy: $ref: '#/components/schemas/siteHierarchy' siteHierarchyId: $ref: '#/components/schemas/siteHierarchyId' siteId: type: string description: Leaf level site uuid of the network device to which the client is connected to example: 4049312a-e65d-4054-a8b7-dd5fd4b08cb8 lastUpdatedTime: type: integer description: Last known time when the client was updated. It is specified in UNIX epochtime format in milliseconds format: int64 example: 16994442370000 connectionStatus: type: string description: Client connection status. 'Connecting' state is applicable only for Wireless client. Other state are applicable for both wired and wireless clients example: connected enum: - connected - disconnected - connecting - unknown tracked: type: string description: Field to indicate if client is tracked or not by the controller based on client tracking rules enum: - 'Yes' - 'No' isPrivateMacAddress: type: boolean description: Is the client is connected to network using unique private network address enabled on the client example: false description: Client detail information common for wired and wireless RadioId: type: integer description: Radio slot Id of the Access Point where the wireless client is connected example: 2 vlanId: type: string description: VLAN identifier assigned to wired or wireless client example: '596' WirelessTrafficStats: type: object properties: rxRetries: type: integer description: Number of packets retransmitted by Access Point to Wireless client format: int64 example: 1652 rxRetryPercentage: type: number description: Percentage of packets retransmitted by Access Point to wireless client (%) example: 2.5 txDrops: type: integer description: Number of packets that are dropped by wireless client before sending to Access Point format: int64 example: 100 txDropPercentage: type: number description: Percentage of packets that are dropped by wireless client before sending to Access Point (%) example: 1 dnsRequestCount: type: integer description: The number of DNS requests sent by the client example: 112 dnsResponseCount: type: integer description: The number of DNS responses received by the client example: 112 description: Traffic statistics specific for wireless client name: type: string description: Host name of the network entity such as Client or Network Device ClientGroupByField: type: string description: Supported groupBy attributes related to clients enum: - siteId - connectedNetworkDeviceId - ssid - band - protocol - protocolCapability - apMac - wlcName - type - aaaServerIp - dhcpServerIp - deviceType - osType - osVersion - aaaFailureReason - assocFailureReason - dhcpFailureReason - latestFailureReason ClientTrendQueryRequest: required: - trendInterval type: object properties: startTime: $ref: '#/components/schemas/startTime' endTime: $ref: '#/components/schemas/endTime' trendInterval: $ref: '#/components/schemas/trendInterval' groupBy: $ref: '#/components/schemas/ClientGroupByAttributes' attributes: $ref: '#/components/schemas/ClientAttributes' filters: $ref: '#/components/schemas/ClientFilters' aggregateAttributes: $ref: '#/components/schemas/ClientAggregateAttributes' page: $ref: '#/components/schemas/PaginationTrend' description: 'Request payload used for complex trend query API. It contains | ''trend'' ''attributes'' - To provide the list of fields that user is interested in the response. | ''filters'' - To provide list of complex filters with combination of AND filters and OR filters to be applied on the API resource | ''aggregateAttributes'' - To provide list of fields and corresponding aggregation functions to run. ' ClientTrendResponse: type: object properties: response: type: array items: $ref: '#/components/schemas/ClientsTrendGroupsResponse' page: $ref: '#/components/schemas/PaginationTrend' version: type: string description: The version of the response example: '1.0' WirelessConnectionDetail: type: object properties: band: type: string description: WiFi frequency band that client or Access Point operates. Band value is represented in Giga Hertz - GHz example: 5GHZ enum: - 2.4GHZ - 5GHZ - 6GHZ ssid: $ref: '#/components/schemas/Ssid' authType: type: string description: Authenciation type used by wireless client to connect to Access Point example: WPA2+802.1x/CCKM wlcName: $ref: '#/components/schemas/WlcName' wlcId: $ref: '#/components/schemas/WlcId' apMac: $ref: '#/components/schemas/ApMac' apEthernetMac: $ref: '#/components/schemas/ApEthernetMac' apMode: $ref: '#/components/schemas/ApMode' radioId: $ref: '#/components/schemas/RadioId' channel: $ref: '#/components/schemas/Channel' channelWidth: $ref: '#/components/schemas/ChannelWidth' protocol: $ref: '#/components/schemas/Protocol' protocolCapability: $ref: '#/components/schemas/ProtocolCapability' upnId: type: string description: User Private Network Id upnName: type: string description: User Private Network Name upnOwner: type: string description: User Private Network Owner upnDuid: type: string description: User Private Network Duid rssi: type: integer description: Received Signal Strength Indicator (RSSI) is the measure of how well the wireless client can hear the signal from Access Point. Measurement in dBm example: -52 snr: type: integer description: Signal-to-Noise ratio (SNR) is the powerratio between signal strength and noise level.Measurement in decibels (dB). example: 41 dataRate: type: integer description: Speed at which the data is transmitted by the Wireless client. This is the theoritical maximum speed the client can send the data. Measurement in bits per second (bps) format: int64 example: 865 isIosAnalyticsCapable: type: boolean description: Is the wireless client capabale of sending additional KPIs to wireless controller for in depth monitoring example: true isFabricClient: type: boolean description: Is the Client connected to a fabric network example: false description: Connection attributes specific for wireless clients ClientsResponseModel: type: object properties: response: type: array items: $ref: '#/components/schemas/Client' page: $ref: '#/components/schemas/PaginationWithAggregate' version: type: string description: The version of the response example: '1.0' description: Collection of Clients response model CountIntegerResponse: title: Count Integer Response type: object properties: response: $ref: '#/components/schemas/CountIntegerResponse_response' version: type: string description: The version of the response example: '1.0' description: Reports CountIntegerResponse_response: type: object properties: count: type: integer description: The total number of records related to the resource format: int64 example: 1000 ClientGroupByAttributes: type: array example: - overallScore - connectedDeviceName items: $ref: '#/components/schemas/ClientGroupByField' ClientsTopNRequest: required: - groupBy - topN type: object properties: startTime: $ref: '#/components/schemas/startTime' endTime: $ref: '#/components/schemas/endTime' topN: $ref: '#/components/schemas/topN' groupBy: $ref: '#/components/schemas/ClientGroupByAttributes' attributes: $ref: '#/components/schemas/ClientAttributes' filters: $ref: '#/components/schemas/ClientFilters' aggregateAttributes: $ref: '#/components/schemas/ClientAggregateAttributes' page: $ref: '#/components/schemas/PaginationWithAggregate' description: 'Request payload used for Top-N query API. It contains ' ClientsGroupResponse: type: object properties: id: type: string description: This is the group key. Unique value to identify the group. It is concatination of groupBy attributes attributes: $ref: '#/components/schemas/AnalyticsAttributesResponse' aggregateAttributes: $ref: '#/components/schemas/ClientAggregateAttributesResponse' ClientBasic: type: object properties: id: type: string description: Unique ID of the Client. It is the Mac Address of the clien. example: AA:BB:CC:DD:EE:FF macAddress: $ref: '#/components/schemas/MacAddress' type: type: string description: The client device type whether client is connected to network through Wired or Wireless medium. example: Wireless enum: - Wired - Wireless description: Basic information about the client WlcId: type: string description: UUID of the Wireless Controller that reports the wireless client example: 9bbc92ad-b0e8-4638-95f6-c9bec7046dc8 ClientAggregateAttributesResponse: type: array items: $ref: '#/components/schemas/ClientAggregateAttributeResponse' ClientFilters: maxItems: 10 type: array description: 'List of filters to apply when querying the data Filtering on numerical fields (integer, number,etc.) will support the numerical operators: [eq, lt, gt, lte, gte] Filtering on text fields (string), will support the string operators: [eq, in, notIn, like] For the list of supported fields, please refer to the ClientFilterField model model. ' example: - key: rssi operator: gt value: -50 - key: osType operator: in value: - iOS - Android - logicalOperator: or filters: - key: vlanId operator: eq value: '187' - key: siteHierarchy operator: in value: - Global/San Jose - Global/SFO items: $ref: '#/components/schemas/ClientFilterObj' trendInterval: type: string description: "The time window to aggregate the metrics. \nInterval can be 5 minutes or 10 minutes or 1 hour or 1 day or 7 days\n" example: 5MIN default: 5MIN enum: - 5MIN - 10MIN - 1HR - 1DAY - 7DAY Ssid: type: string description: SSID is the name of wireless network to which clientconnects to. It is also referred to as WLAN ID - Wireless Local Area Network Identifier example: alpha ClientAggregateField: type: string description: 'Supported aggregated attributes related to clients | Aggregate Function | Supported Aggregate Fields | | --- | --- | | `min` | overallScore, onboardingScore, connectedScore, txBytes, rxBytes, usage, rxRate, txRate, rxLinkErrorPercentage, txLinkErrorPercentage, rxRetries, rxRetryPercentage, dnsRequestCount, dnsResponseCount, rxLinkErrorPercentage, txLinkErrorPercentage, interfaceSpeed, roamSpeed, sessionDuration, rssi, snr, dataRate, avgRunDuration, maxRunDuration, avgAssocDuration, maxAssocDuration, avgAuthDuration, maxAuthDuration, avgDhcpDuration, maxDhcpDuration, maxRoamingDuration, onboardingTime, authDoneTime, assocDoneTime, dhcpDoneTime, roamingTime, failedRoamingCount, successfulRoamingCount, totalRoamingAttempts | | `max` | overallScore, onboardingScore, connectedScore, txBytes, rxBytes, usage, rxRate, txRate, rxLinkErrorPercentage, txLinkErrorPercentage, rxRetries, rxRetryPercentage, dnsRequestCount, dnsResponseCount, rxLinkErrorPercentage, txLinkErrorPercentage, interfaceSpeed, roamSpeed, sessionDuration, rssi, snr, dataRate, avgRunDuration, maxRunDuration, avgAssocDuration, maxAssocDuration, avgAuthDuration, maxAuthDuration, avgDhcpDuration, maxDhcpDuration, maxRoamingDuration, onboardingTime, authDoneTime, assocDoneTime, dhcpDoneTime, roamingTime, failedRoamingCount, successfulRoamingCount, totalRoamingAttempts | | `avg` | overallScore, onboardingScore, connectedScore, txBytes, rxBytes, usage, rxRate, txRate, rxLinkErrorPercentage, txLinkErrorPercentage, rxRetries, rxRetryPercentage, dnsRequestCount, dnsResponseCount, rxLinkErrorPercentage, txLinkErrorPercentage, interfaceSpeed, roamSpeed, sessionDuration, rssi, snr, dataRate, avgRunDuration, maxRunDuration, avgAssocDuration, maxAssocDuration, avgAuthDuration, maxAuthDuration, avgDhcpDuration, maxDhcpDuration, maxRoamingDuration, failedRoamingCount, successfulRoamingCount, totalRoamingAttempts | | `median` | overallScore, onboardingScore, connectedScore, dataRate, rssi, snr | | `sum` | txBytes, rxBytes, usage, dnsRequestCount, dnsResponseCount, sessionDuration, failedRoamingCount, successfulRoamingCount, totalRoamingAttempts | | `count` | macAddress, band, ssid, authType, wlcName, apMac, protocol, protocolCapability, aaaServerIp, dhcpServerIp |' enum: - macAddress - overallScore - onboardingScore - connectedScore - txBytes - rxBytes - usage - rxRate - txRate - rxRetries - rxRetryPercentage - dnsRequestCount - dnsResponseCount - rxLinkErrorPercentage - txLinkErrorPercentage - interfaceSpeed - roamSpeed - sessionDuration - band - ssid - authType - wlcName - apMac - protocol - protocolCapability - rssi - snr - dataRate - avgRunDuration - maxRunDuration - avgAssocDuration - maxAssocDuration - avgAuthDuration - maxAuthDuration - avgDhcpDuration - maxDhcpDuration - maxRoamingDuration - aaaServerIp - dhcpServerIp - onboardingTime - authDoneTime - assocDoneTime - dhcpDoneTime - roamingTime - failedRoamingCount - successfulRoamingCount - totalRoamingAttempts vnId: type: string description: Virtual network identifier assigned to wired client example: '8999' WiredTrafficStats: type: object properties: rxLinkErrorPercentage: type: number description: Percentage of packets received by wired client that have errors (%) example: 0.5 txLinkErrorPercentage: type: number description: Percentage of packets sent by wired client that have errors (%) example: 0.5 inDiscards: type: number description: Percentage of incoming traffic discarded by wired client example: 20 outDiscards: type: number description: Percentage of outgoing traffic discarded by wired client example: 20 inUtilization: type: number description: Percentage of incoming interface bandwidth utilization example: 20 outUtilization: type: number description: Percentage of outgoing interface bandwidth utilization example: 20 description: Traffic statistics specific for wired client connectedDeviceId: type: string description: UUID of the neighbor network device that client or network device is connected to format: uuid example: 0f538975-3085-40f2-9d25-7ad0047eeda5 ClientsSummaryRequest: type: object properties: startTime: $ref: '#/components/schemas/startTime' endTime: $ref: '#/components/schemas/endTime' groupBy: $ref: '#/components/schemas/ClientGroupByAttributes' attributes: $ref: '#/components/schemas/ClientAttributes' filters: $ref: '#/components/schemas/ClientFilters' aggregateAttributes: $ref: '#/components/schemas/ClientAggregateAttributes' page: $ref: '#/components/schemas/PaginationWithAggregate' description: "Request payload used for summary query API. It contains \n" WiredConnectedNetworkDeviceDetail: type: object properties: interfaceName: $ref: '#/components/schemas/connectedInterfaceName' interfaceSpeed: type: integer description: Port speed in bits per second on the connected device where the wired client is connected format: int64 example: 100000000 duplexMode: type: string description: Duplex mode of the interface on the connected device where the wired client is connected enum: - Half Duplex - Full Duplex description: Connected network device attributes specific for wired clients ApMac: type: string description: Access Point's base radio mac addresss where the wireless client is connected format: mac example: AA:11:22:33:44:00 L3Vn: type: string description: L3 Virtual network name assigned to wired client example: DATA-VN Protocol: type: string description: 802.11 protocol type used by wireless client to connect to Access Point example: 802.11ac enum: - 802.11b - 802.11a - 802.11g - 802.11n - 802.11ac - 802.11ax - 802.11ax6 - 802.11be - unclassified Operator: type: string description: Type of filter operator to use for querying data | in and out operator takes multiple values and applies the filters enum: - in - neq - lt - gt - lte - gte - eq - notIn - like ClientFilterField: type: string description: Supported filter attributes related to clients enum: - macAddress - type - name - username - ipv4Address - ipv6Address - osType - osVersion - deviceType - vendor - formFactor - siteHierarchy - siteHierarchyId - siteId - lastUpdatedTime - connectionStatus - overallScore - onboardingScore - connectedScore - rssiThreshold - snrThreshold - isRssiIncluded - isSnrIncluded - txBytes - rxBytes - usage - rxRate - txRate - rxRetries - rxRetryPercentage - dnsRequestCount - dnsResponseCount - rxLinkErrorPercentage - txLinkErrorPercentage - roamSpeed - connectedNetworkDeviceId - connectedNetworkDeviceName - connectedNetworkDeviceManagementIp - connectedNetworkDeviceMac - interfaceName - interfaceSpeed - duplexMode - vnId - l2Vn - l3Vn - vlanId - securityGroupTag - linkSpeed - sessionDuration - band - ssid - authType - wlcName - wlcId - apMac - apMode - radioId - channel - protocol - protocolCapability - upnId - upnName - upnOwner - upnDuid - rssi - snr - dataRate - isIosAnalyticsCapable - avgRunDuration - maxRunDuration - avgAssocDuration - maxAssocDuration - avgAuthDuration - maxAuthDuration - avgDhcpDuration - maxDhcpDuration - maxRoamingDuration - onboardingTime - authDoneTime - assocDoneTime - dhcpDoneTime - roamingTime - aaaServerIp - dhcpServerIp - assocFailureReason - aaaFailureReason - dhcpFailureReason - otherFailureReason - latestFailureReason - trustScore ApMode: type: string description: Access Point operating mode example: Local enum: - Local - Monitor - FlexConnect - Rogue Detector - Sniffer - Bridge - SE-Connect - Flex+Bridge - Sensor startTime: type: integer description: Start time from which the API queries the dataset related to the resource. It must be specified in terms of milliseconds since UNIX epoch. Value is inclusive. format: int64 example: 1705348800000 LogicalOperator: type: string description: 'Operator to use when attempting to apply a logical conjunction of more than 1 filter Logical operations include: ''and'', ''or''. ' enum: - and - or ClientsTrendGroupsResponse: type: object properties: timestamp: type: integer description: For trend API timestamp is the default groupBy attribute. format: int64 attributes: $ref: '#/components/schemas/AnalyticsAttributesResponse' aggregateAttributes: $ref: '#/components/schemas/ClientAggregateAttributesResponse' groups: type: array description: 'Additional groups and their respective attributes are included under each group. The attributes belonging to each group are appended to the attributes list. ' items: $ref: '#/components/schemas/ClientsGroupResponse' description: 'The aggregate trend response includes timestamp, attributes, aggregateAttributes, and group attributes. The attributes aggregateAttributes and groups are mutually exclusive. If a user requests trends without groupBy attributes, the response includes timestamp, attributes, and aggregateAttributes. However, if a user requests trends with groupBy attributes, the response includes timestamp, and the groups array contains attributes and aggregatedAttributes for each array element. ' ClientsQueryRequest: type: object properties: startTime: $ref: '#/components/schemas/startTime' endTime: $ref: '#/components/schemas/endTime' views: $ref: '#/components/schemas/ClientViews' attributes: $ref: '#/components/schemas/ClientAttributes' filters: $ref: '#/components/schemas/ClientFilters' aggregateAttributes: $ref: '#/components/schemas/ClientAggregateAttributes' page: $ref: '#/components/schemas/PaginationWithAggregate' description: 'Request payload used for complex query API. ' topN: maximum: 100 minimum: 5 type: integer description: Number of records to retrieve default: 5 enum: - 5 - 10 - 50 - 100 ClientsSummaryGroupsResponse: type: object properties: attributes: $ref: '#/components/schemas/AnalyticsAttributesResponse' aggregateAttributes: $ref: '#/components/schemas/ClientAggregateAttributesResponse' groups: type: array description: 'Additional groups and respective attributes under the group. The attributes comprising of each group are added to attributes list. ' items: $ref: '#/components/schemas/ClientsGroupResponse' description: "Clients Summary response contains attributes, aggregateAttributes and groups\nattributes, aggregatedAttributes and groups are mutually exclusive.\nIf user requests for summary without groupBy attributes then response includes attributes, aggregateAttributes\nIf user requests for summary with groupBy attributes then response then includes groups array contain attributes, aggregatedAttributes for each array element \n" AnalyticsAttributesResponse: type: array items: $ref: '#/components/schemas/AnalyticsAttributeResponse' ClientAggregateAttributeResponse: type: object properties: name: type: string description: Name of the requested aggregate attribute function: type: string description: Aggregate function requested for the attribute value: type: object description: This is the aggregate value of the attribute after applying the function on the dataset endTime: type: integer description: End time to which the API queries the dataset related to the resource. It must be specified in terms of milliseconds since UNIX epoch. Value is inclusive. format: int64 example: 1705435200000 ClientAttributes: type: array example: - overallScore - connectedDeviceName items: $ref: '#/components/schemas/ClientAttribute' responses: ClientsWithAggregateResponseModel: description: Collection of Clients Response model on success with aggregate attributes content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ClientsWithAggregateResponseModel' examples: clientsWithAggregateResponse: $ref: '#/components/examples/clientsWithAggregateResponse' '400': description: The client made a request that the server could not understand (for example, the request syntax is incorrect). content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: The client made a request for a resource that does not exist. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 1XX: description: Informational Responses - The server received the request and sent an informational response. ClientTrendResponse: description: Collection of trend responses with Clients Response model on success with aggregate attributes and groupBy content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ClientTrendResponse' examples: clientTrendResponseWithoutGroupBy: $ref: '#/components/examples/clientTrendResponseWithoutGroupBy' clientTrendResponseWithGroupBy: $ref: '#/components/examples/clientTrendResponseWithGroupBy' ClientsTopNResponse: description: Collection of trend responses with Clients Response model on success with aggregate attributes and groupBy content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ClientsTopNResponse' examples: clientTopNResponseWithAggregates: $ref: '#/components/examples/clientTopNResponseWithAggregates' clientTopNResponseWithoutAggregates: $ref: '#/components/examples/clientTopNResponseWithoutAggregates' ClientResponseModel: description: Successfully returned the specific client information content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ClientResponseModel' examples: clientResponse: $ref: '#/components/examples/clientResponse' 4XX: description: Client Error Responses - The client request caused the error. 5XX: description: Server Error Responses - The server failed to fulfill the request. '500': description: The server could not fulfill the request due to internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' ClientsResponseModel: description: Collection of Clients Response model on success content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ClientsResponseModel' examples: clientsResponse: $ref: '#/components/examples/clientsResponse' defaultError: description: Unexpected Error 3XX: description: Redirection Messages - The client must take additional action to complete the request. ClientsSummaryResponse: description: Collection of trend responses with Clients Response model on success with aggregate attributes and groupBy content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ClientsSummaryResponse' examples: clientSummaryResponseWithoutGroupBy: $ref: '#/components/examples/clientSummaryResponseWithoutGroupBy' clientSummaryResponseWithGroupBy: $ref: '#/components/examples/clientSummaryResponseWithGroupBy' CountIntegerResponse: description: Reponse object containing total count of the records after applying requested filters content: application/json: schema: $ref: '#/components/schemas/CountIntegerResponse' 2XX: description: Successful Responses - The server received the client request, understood it, and accepted it. requestBodies: ClientsQueryRequest: description: Payload to query clients with complex filters and aggregates content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ClientsQueryRequest' examples: clientsQueryRequest: $ref: '#/components/examples/clientsQueryRequest' required: true ClientsTopNRequest: description: Payload to query Clients Top-N Analytics data content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ClientsTopNRequest' examples: clientTopNRequestWithAggregates: $ref: '#/components/examples/clientTopNRequestWithAggregates' clientTopNRequestWithoutAggregates: $ref: '#/components/examples/clientTopNRequestWithoutAggregates' required: true ClientsSummaryRequest: description: Payload to query Clients Summary Analytics data content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ClientsSummaryRequest' examples: clientSummaryRequestWithoutGroupBy: $ref: '#/components/examples/clientSummaryRequestWithoutGroupBy' clientSummaryRequestWithGroupBy: $ref: '#/components/examples/clientSummaryRequestWithGroupBy' required: true ClientsQueryCountRequest: description: Payload to query count of clients with complex filters content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ClientsQueryCountRequest' required: true ClientTrendQueryRequest: description: Payload to query trend data for a client content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ClientTrendQueryRequest' examples: clientTrendRequestWithoutGroupBy: $ref: '#/components/examples/clientTrendRequestWithoutGroupBy' clientTrendRequestWithGroupBy: $ref: '#/components/examples/clientTrendRequestWithGroupBy' required: true examples: clientsResponse: summary: All Clients Response value: response: - id: AA:BB:CC:DD:EE:FF macAddress: AA:BB:CC:DD:EE:FF type: Wireless name: Johns-Macbook userId: jdoe username: 12-34-56-AB-CD-EF ipv4Address: 250.162.252.170 ipv6Addresses: - 2001:db8:3c4d:15::1a2f:1a2b vendor: Apple osType: iOS osVersion: 17.1.2 formFactor: Phone deviceType: Apple-Device siteHierarchy: Global/AreaName/BuildingName/FloorName siteHierarchyId: /31e57cb2-06af-4c5c-87d1-16af536095d2/54d3f243-509e-436d-98-ebe01daf80db/f52fbe48-fcc9-4551-947b-e144e20c0311/50c01c29-b09e-49-b6ce-2e7d3395f3a3/ siteId: 4049312a-e65d-4054-a8b7-dd5fd4b08cb8 lastUpdatedTime: 16994442370000 connectionStatus: connected tracked: 'Yes' isPrivateMacAddress: false health: overallScore: 10 onboardingScore: 4 connectedScore: 6 linkErrorPercentageThreshold: 1 isLinkErrorIncluded: true rssiThreshold: -72 snrThreshold: 9 isRssiIncluded: true isSnrIncluded: true traffic: txBytes: 406695572 rxBytes: 2753889933 usage: 3160585505 rxPackets: 3163 txPackets: 5647 rxRate: 1951.56 txRate: 60182 rxLinkErrorPercentage: 0.5 txLinkErrorPercentage: 0.5 rxRetries: 1652 rxRetryPercentage: 2.5 txDrops: 100 txDropPercentage: 1 dnsRequestCount: 112 dnsResponseCount: 112 connectedNetworkDevice: connectedNetworkDeviceId: 0f538975-3085-40f2-9d25-7ad0047eeda5 connectedNetworkDeviceName: Local-Switch connectedNetworkDeviceManagementIp: 3.3.3.3 connectedNetworkDeviceMac: FF:DD:EE:CC:BB:AA connectedNetworkDeviceType: Access Point interfaceName: GigabitEthernet2/1/3 interfaceSpeed: 100000000 duplexMode: Half Duplex connection: vlanId: '596' sessionDuration: 12345678 vnId: '8999' l2Vn: INFRA-VN l3Vn: DATA-VN securityGroupTag: '133' linkSpeed: 1000000000 bridgeVMMode: string band: 5GHZ ssid: alpha authType: WPA2+802.1x/CCKM wlcName: wnbu-sjc24-00a-ewlc-prod2.cisco.com wlcId: 9bbc92ad-b0e8-4638-95f6-c9bec7046dc8 apMac: AA:11:22:33:44:00 apEthernetMac: AA:BB:CC:DD:FF:00 apMode: Local radioId: 2 channel: '100' channelWidth: '40' protocol: 802.11ac protocolCapability: 802.11ax upnId: string upnName: string upnOwner: string upnDuid: string rssi: -52 snr: 41 dataRate: 865 isIosAnalyticsCapable: true isFabricClient: false onboarding: avgRunDuration: 1500 maxRunDuration: 4500 avgAssocDuration: 100 maxAssocDuration: 500 avgAuthDuration: 50 maxAuthDuration: 200 avgDhcpDuration: 250 maxDhcpDuration: 750 maxRoamingDuration: 750 aaaServerIp: 192.168.4.5 dhcpServerIp: 172.68.2.3 onboardingTime: 1707237517322 authDoneTime: 1707237517322 assocDoneTime: 1707237517322 dhcpDoneTime: 1707237517322 roamingTime: 1707237517322 failedRoamingCount: 2 successfulRoamingCount: 3 totalRoamingAttempts: 5 assocFailureReason: Poor Channel Conditions aaaFailureReason: No Response from AAA Server dhcpFailureReason: 'Authentication Failure due to Exclusion: IP Theft' otherFailureReason: Client Connect Timeout latestFailureReason: Client Connect Timeout latency: video: 7 voice: 7 bestEffort: 7 background: 7 page: limit: 100 offset: 5 count: 100 sortBy: - name: overallScore order: asc version: '1.0' clientSummaryRequestWithGroupBy: summary: Client Summary Request with GroupBy value: startTime: 1705348800000 endTime: 1705348800000 groupBy: - overallScore - connectedDeviceName attributes: - band - ssid filters: - key: rssi operator: gt value: -50 - key: osType operator: in value: - iOS - Android - logicalOperator: or filters: - key: vlanId operator: eq value: '187' - key: siteHierarchy operator: in value: - Global/San Jose - Global/SFO aggregateAttributes: - name: rssi function: min - name: rssi function: max - name: rssi function: avg - name: usage function: sum page: limit: 100 cursor: '' sortBy: - name: overallScore order: asc - name: rssi function: min order: asc - name: usage function: sum order: desc clientTrendResponseWithoutGroupBy: summary: Client Trend Response without GroupBy value: response: - timestamp: 1707759900000 attributes: - name: band value: 5 - name: ssid value: alpha aggregateAttributes: - name: rssi function: min value: -80 - name: rssi function: max value: -30 - name: rssi function: avg value: -50 - name: usage function: sum value: 1234567890 - timestamp: 1707760200000 attributes: - name: band value: 5 - name: ssid value: alpha - name: overallScore value: 8 - name: connectedNetworkDeviceName value: SJC24_AP1 aggregateAttributes: - name: rssi function: min value: -70 - name: rssi function: max value: -40 - name: rssi function: avg value: -60 - name: usage function: sum value: 1234567890 page: limit: 100 cursor: '' count: 100 timeSortOrder: desc version: '1.0' clientSummaryResponseWithoutGroupBy: summary: Client Summary Response without GroupBy value: response: attributes: - name: band value: 5GHz - name: ssid value: alpha aggregateAttributes: - name: rssi function: min value: -80 - name: rssi function: max value: -30 - name: rssi function: avg value: -50 - name: usage function: sum value: 1234567890 page: limit: 100 cursor: '' count: 100 sortBy: - name: overallScore order: asc - name: rssi function: min order: asc - name: usage function: sum order: desc version: '1.0' clientSummaryRequestWithoutGroupBy: summary: Client Summary Request without GroupBy value: startTime: 1705348800000 endTime: 1705348800000 attributes: - band - ssid filters: - key: rssi operator: gt value: -50 - key: osType operator: in value: - iOS - Android - logicalOperator: or filters: - key: vlanId operator: eq value: '187' - key: siteHierarchy operator: in value: - Global/San Jose - Global/SFO aggregateAttributes: - name: rssi function: min - name: rssi function: max - name: rssi function: avg - name: usage function: sum page: limit: 100 cursor: '' sortBy: - name: overallScore order: asc - name: rssi function: min order: asc - name: usage function: sum order: desc clientTopNResponseWithAggregates: summary: Client TopN Response with aggregates value: response: - id: overallScore=8_connectedNetworkDeviceName=SJC24_AP1 attributes: - name: band value: 5 - name: ssid value: alpha - name: overallScore value: 8 - name: connectedNetworkDeviceName value: SJC24_AP1 aggregateAttributes: - name: rssi function: min value: -80 - name: rssi function: max value: -30 - name: rssi function: avg value: -50 - name: usage function: sum value: 1234567890 - id: overallScore=10_name=SJC24_AP1 attributes: - name: band value: 5 - name: ssid value: blizzard - name: overallScore value: 10 - name: connectedNetworkDeviceName value: SJC24_AP1 aggregateAttributes: - name: rssi function: min value: -90 - name: rssi function: max value: -20 - name: rssi function: avg value: -60 - name: usage function: sum value: 98765423 page: limit: 100 cursor: '' count: 100 sortBy: - name: overallScore order: asc - name: rssi function: min order: asc - name: usage function: sum order: desc version: '1.0' clientTrendRequestWithoutGroupBy: summary: Client Trend Request without GroupBy value: startTime: 1709110800000 endTime: 1709197200000 trendInterval: 5MIN attributes: - band - ssid filters: - key: rssi operator: gt value: -50 - key: osType operator: in value: - iOS - Android - logicalOperator: or filters: - key: vlanId operator: eq value: '187' - key: siteHierarchy operator: in value: - Global/San Jose - Global/SFO aggregateAttributes: - name: rssi function: min - name: rssi function: max - name: rssi function: avg - name: usage function: sum page: limit: 100 cursor: '' timeSortOrder: desc clientsWithAggregateResponse: summary: All Clients Response value: response: - id: AA:BB:CC:DD:EE:FF macAddress: AA:BB:CC:DD:EE:FF type: Wireless name: Johns-Macbook userId: jdoe username: 12-34-56-AB-CD-EF ipv4Address: 250.162.252.170 ipv6Addresses: - 2001:db8:3c4d:15::1a2f:1a2b vendor: Apple osType: iOS osVersion: 17.1.2 formFactor: Phone deviceType: Apple-Device siteHierarchy: Global/AreaName/BuildingName/FloorName siteHierarchyId: /31e57cb2-06af-4c5c-87d1-16af536095d2/54d3f243-509e-436d-98-ebe01daf80db/f52fbe48-fcc9-4551-947b-e144e20c0311/50c01c29-b09e-49-b6ce-2e7d3395f3a3/ siteId: 4049312a-e65d-4054-a8b7-dd5fd4b08cb8 lastUpdatedTime: 16994442370000 connectionStatus: connected tracked: 'Yes' isPrivateMacAddress: false health: overallScore: 10 onboardingScore: 4 connectedScore: 6 linkErrorPercentageThreshold: 1 isLinkErrorIncluded: true rssiThreshold: -72 snrThreshold: 9 isRssiIncluded: true isSnrIncluded: true traffic: txBytes: 406695572 rxBytes: 2753889933 usage: 3160585505 rxPackets: 3163 txPackets: 5647 rxRate: 1951.56 txRate: 60182 rxLinkErrorPercentage: 0.5 txLinkErrorPercentage: 0.5 rxRetries: 1652 rxRetryPercentage: 2.5 txDrops: 100 txDropPercentage: 1 dnsRequestCount: 112 dnsResponseCount: 112 connectedNetworkDevice: connectedNetworkDeviceId: 0f538975-3085-40f2-9d25-7ad0047eeda5 connectedNetworkDeviceName: Local-Switch connectedNetworkDeviceManagementIp: 3.3.3.3 connectedNetworkDeviceMac: FF:DD:EE:CC:BB:AA connectedNetworkDeviceType: Access Point interfaceName: GigabitEthernet2/1/3 interfaceSpeed: 100000000 duplexMode: Half Duplex connection: vlanId: '596' sessionDuration: 12345678 vnId: '8999' l2Vn: INFRA-VN l3Vn: DATA-VN securityGroupTag: '133' linkSpeed: 1000000000 bridgeVMMode: string band: 5GHZ ssid: alpha authType: WPA2+802.1x/CCKM wlcName: wnbu-sjc24-00a-ewlc-prod2.cisco.com wlcId: 9bbc92ad-b0e8-4638-95f6-c9bec7046dc8 apMac: AA:11:22:33:44:00 apEthernetMac: AA:BB:CC:DD:FF:00 apMode: Local radioId: 2 channel: '100' channelWidth: '40' protocol: 802.11ac protocolCapability: 802.11ax upnId: string upnName: string upnOwner: string upnDuid: string rssi: -52 snr: 41 dataRate: 865 isIosAnalyticsCapable: true isFabricClient: false onboarding: avgRunDuration: 1500 maxRunDuration: 4500 avgAssocDuration: 100 maxAssocDuration: 500 avgAuthDuration: 50 maxAuthDuration: 200 avgDhcpDuration: 250 maxDhcpDuration: 750 maxRoamingDuration: 750 aaaServerIp: 192.168.4.5 dhcpServerIp: 172.68.2.3 onboardingTime: 1707237517322 authDoneTime: 1707237517322 assocDoneTime: 1707237517322 dhcpDoneTime: 1707237517322 roamingTime: 1707237517322 failedRoamingCount: 2 successfulRoamingCount: 3 totalRoamingAttempts: 5 assocFailureReason: Poor Channel Conditions aaaFailureReason: No Response from AAA Server dhcpFailureReason: 'Authentication Failure due to Exclusion: IP Theft' otherFailureReason: Client Connect Timeout latestFailureReason: Client Connect Timeout latency: video: 7 voice: 7 bestEffort: 7 background: 7 aggregateAttributes: - name: rssi function: min value: -80 - name: rssi function: max value: -30 - name: rssi function: avg value: -50 - name: usage function: sum value: 1234567890 page: limit: 100 offset: 5 count: 100 sortBy: - name: overallScore order: asc - name: rssi function: min order: asc - name: usage function: sum order: desc version: '1.0' clientSummaryResponseWithGroupBy: summary: Client Summary Response with GroupBy value: response: groups: - id: overallScore=8_connectedNetworkDeviceName=SJC24_AP1 attributes: - name: band value: 5 - name: ssid value: alpha - name: overallScore value: 8 - name: connectedNetworkDeviceName value: SJC24_AP1 aggregateAttributes: - name: rssi function: min value: -80 - name: rssi function: max value: -30 - name: rssi function: avg value: -50 - name: usage function: sum value: 1234567890 - id: overallScore=10_name=SJC24_AP1 attributes: - name: band value: 5 - name: ssid value: blizzard - name: overallScore value: 10 - name: connectedNetworkDeviceName value: SJC24_AP1 aggregateAttributes: - name: rssi function: min value: -90 - name: rssi function: max value: -20 - name: rssi function: avg value: -60 - name: usage function: sum value: 98765423 page: limit: 100 cursor: '' count: 100 sortBy: - name: overallScore order: asc - name: rssi function: min order: asc - name: usage function: sum order: desc version: '1.0' clientTopNResponseWithoutAggregates: summary: Client TopN Response with out aggregates value: response: - id: overallScore=8_connectedNetworkDeviceName=SJC24_AP1 attributes: - name: band value: 5 - name: ssid value: alpha - name: overallScore value: 8 - name: connectedNetworkDeviceName value: SJC24_AP1 - id: overallScore=10_name=SJC24_AP1 attributes: - name: band value: 5 - name: ssid value: blizzard - name: overallScore value: 10 - name: connectedNetworkDeviceName value: SJC24_AP1 page: limit: 100 cursor: '' count: 100 sortBy: - name: overallScore order: asc version: '1.0' clientTrendResponseWithGroupBy: summary: Client Trend Response with GroupBy value: response: - timestamp: 1707759900000 groups: - id: overallScore=8_connectedNetworkDeviceName=SJC24_AP1 attributes: - name: band value: 5 - name: ssid value: alpha - name: overallScore value: 8 - name: connectedNetworkDeviceName value: SJC24_AP1 aggregateAttributes: - name: rssi function: min value: -80 - name: rssi function: max value: -30 - name: rssi function: avg value: -50 - name: usage function: sum value: 1234567890 - id: overallScore=10_name=SJC24_AP1 attributes: - name: band value: 5 - name: ssid value: blizzard - name: overallScore value: 10 - name: connectedNetworkDeviceName value: SJC24_AP1 aggregateAttributes: - name: rssi function: min value: -90 - name: rssi function: max value: -20 - name: rssi function: avg value: -60 - name: usage function: sum value: 98765423 - timestamp: 1707760200000 groups: - id: overallScore=8_connectedNetworkDeviceName=SJC24_AP1 attributes: - name: band value: 5 - name: ssid value: alpha - name: overallScore value: 8 - name: connectedNetworkDeviceName value: SJC24_AP1 aggregateAttributes: - name: rssi function: min value: -70 - name: rssi function: max value: -40 - name: rssi function: avg value: -60 - name: usage function: sum value: 1234567890 - id: overallScore=10_connectedNetworkDeviceName=SJC24_AP1 attributes: - name: band value: 6 - name: ssid value: blizzard - name: overallScore value: 10 - name: connectedNetworkDeviceName value: SJC24_AP1 aggregateAttributes: - name: rssi function: min value: -100 - name: rssi function: max value: -10 - name: rssi function: avg value: -70 - name: usage function: sum value: 654378 page: limit: 100 cursor: '' count: 100 timeSortOrder: desc version: '1.0' clientTopNRequestWithAggregates: summary: Client TopN Request with aggregates value: startTime: 1705348800000 endTime: 1705348800000 topN: 5 groupBy: - overallScore - connectedDeviceName attributes: - band - ssid filters: - key: rssi operator: gt value: -50 - key: osType operator: in value: - iOS - Android - logicalOperator: or filters: - key: vlanId operator: eq value: '187' - key: siteHierarchy operator: in value: - Global/San Jose - Global/SFO aggregateAttributes: - name: rssi function: min - name: rssi function: max - name: rssi function: avg - name: usage function: sum page: limit: 100 cursor: '' sortBy: - name: overallScore order: asc - name: rssi function: min order: asc - name: usage function: sum order: desc clientTrendRequestWithGroupBy: summary: Client Trend Request with GroupBy value: startTime: 1709110800000 endTime: 1709197200000 trendInterval: 5MIN groupBy: - overallScore - name attributes: - band - ssid filters: - key: rssi operator: gt value: -50 - key: osType operator: in value: - iOS - Android - logicalOperator: or filters: - key: vlanId operator: eq value: '187' - key: siteHierarchy operator: in value: - Global/San Jose - Global/SFO aggregateAttributes: - name: rssi function: min - name: rssi function: max - name: rssi function: avg - name: usage function: sum page: limit: 100 cursor: '' timeSortOrder: desc clientTopNRequestWithoutAggregates: summary: Client TopN Request without aggregates value: startTime: 1705348800000 endTime: 1705348800000 topN: 5 groupBy: - overallScore - connectedDeviceName attributes: - band - ssid filters: - key: rssi operator: gt value: -50 - key: osType operator: in value: - iOS - Android - logicalOperator: or filters: - key: vlanId operator: eq value: '187' - key: siteHierarchy operator: in value: - Global/San Jose - Global/SFO page: limit: 100 curosr: '{~modificationtime_histo=1.7115912E12}' sortBy: - name: overallScore order: asc clientsQueryRequest: summary: Request to get clients based on complex filters value: startTime: 1705348800000 endTime: 1705348800000 views: - Wireless attributes: - band - ssid filters: - key: rssi operator: gt value: -50 - key: osType operator: in value: - iOS - Android - logicalOperator: or filters: - key: vlanId operator: eq value: '187' - key: siteHierarchy operator: in value: - Global/San Jose - Global/SFO aggregateAttributes: - name: rssi function: min - name: rssi function: max - name: rssi function: avg - name: usage function: sum page: limit: 100 offset: 5 sortBy: - name: overallScore order: asc - name: rssi function: min order: asc - name: usage function: sum order: desc clientResponse: summary: Client Response value: response: id: AA:BB:CC:DD:EE:FF macAddress: AA:BB:CC:DD:EE:FF type: Wireless name: Johns-Macbook userId: jdoe username: 12-34-56-AB-CD-EF ipv4Address: 250.162.252.170 ipv6Addresses: - 2001:db8:3c4d:15::1a2f:1a2b vendor: Apple osType: iOS osVersion: 17.1.2 formFactor: Phone deviceType: Apple-Device siteHierarchy: Global/AreaName/BuildingName/FloorName siteHierarchyId: /31e57cb2-06af-4c5c-87d1-16af536095d2/54d3f243-509e-436d-98-ebe01daf80db/f52fbe48-fcc9-4551-947b-e144e20c0311/50c01c29-b09e-49-b6ce-2e7d3395f3a3/ siteId: 4049312a-e65d-4054-a8b7-dd5fd4b08cb8 lastUpdatedTime: 16994442370000 connectionStatus: connected tracked: 'Yes' isPrivateMacAddress: false health: overallScore: 10 onboardingScore: 4 connectedScore: 6 linkErrorPercentageThreshold: 1 isLinkErrorIncluded: true rssiThreshold: -72 snrThreshold: 9 isRssiIncluded: true isSnrIncluded: true traffic: txBytes: 406695572 rxBytes: 2753889933 usage: 3160585505 rxPackets: 3163 txPackets: 5647 rxRate: 1951.56 txRate: 60182 rxLinkErrorPercentage: 0.5 txLinkErrorPercentage: 0.5 rxRetries: 1652 rxRetryPercentage: 2.5 txDrops: 100 txDropPercentage: 1 dnsRequestCount: 112 dnsResponseCount: 112 connectedNetworkDevice: connectedNetworkDeviceId: 0f538975-3085-40f2-9d25-7ad0047eeda5 connectedNetworkDeviceName: Local-Switch connectedNetworkDeviceManagementIp: 3.3.3.3 connectedNetworkDeviceMac: FF:DD:EE:CC:BB:AA connectedNetworkDeviceType: Access Point interfaceName: GigabitEthernet2/1/3 interfaceSpeed: 100000000 duplexMode: Half Duplex connection: vlanId: '596' sessionDuration: 12345678 vnId: '8999' l2Vn: INFRA-VN l3Vn: DATA-VN securityGroupTag: '133' linkSpeed: 1000000000 bridgeVMMode: string band: 5GHZ ssid: alpha authType: WPA2+802.1x/CCKM wlcName: wnbu-sjc24-00a-ewlc-prod2.cisco.com wlcId: 9bbc92ad-b0e8-4638-95f6-c9bec7046dc8 apMac: AA:11:22:33:44:00 apEthernetMac: AA:BB:CC:DD:FF:00 apMode: Local radioId: 2 channel: '100' channelWidth: '40' protocol: 802.11ac protocolCapability: 802.11ax upnId: string upnName: string upnOwner: string upnDuid: string rssi: -52 snr: 41 dataRate: 865 isIosAnalyticsCapable: true isFabricClient: false onboarding: avgRunDuration: 1500 maxRunDuration: 4500 avgAssocDuration: 100 maxAssocDuration: 500 avgAuthDuration: 50 maxAuthDuration: 200 avgDhcpDuration: 250 maxDhcpDuration: 750 maxRoamingDuration: 750 aaaServerIp: 192.168.4.5 dhcpServerIp: 172.68.2.3 onboardingTime: 1707237517322 authDoneTime: 1707237517322 assocDoneTime: 1707237517322 dhcpDoneTime: 1707237517322 roamingTime: 1707237517322 failedRoamingCount: 2 successfulRoamingCount: 3 totalRoamingAttempts: 5 assocFailureReason: Poor Channel Conditions aaaFailureReason: No Response from AAA Server dhcpFailureReason: 'Authentication Failure due to Exclusion: IP Theft' otherFailureReason: Client Connect Timeout latestFailureReason: Client Connect Timeout latency: video: 7 voice: 7 bestEffort: 7 background: 7 version: '1.0' externalDocs: description: Catalyst Center Developer API resources url: https://developer.cisco.com/dnacenter/