openapi: 3.2.0 info: title: Intelligent Capture (ICAP) Provisioning Status API description: "APIs to manage Catalyst Center Assurance Intelligent Capture (ICAP) configurations. Catalyst Center ICAP is a suite of features for troubleshooting client onboarding issues by capturing client Wi-Fi packets and statistics for offline analysis.\n\n**Configurations supported include**\n\n|Configuration Type | Description |\n| --- | --- |\n| `ANOMALY` | This proactively monitors client onboarding issues. When an issue occurs, the AP device sends a client anomaly event, including a set of client Wi-Fi packets from the time of the event. |\n| `FULL` | This is to capture all Wi-Fi packets to and from a specific client MAC address. |\n| `ONBOARDING` | This captures client onboarding packets and client RF statistics with a 5-second granularity. |\n| `OTA` | This captures all Wi-Fi packets on a specific Wi-Fi band and channel. This feature can be used on up to two neighboring AP devices of an AP experiencing client-serving band or channel issues. |\n| `RFSTATS` | This captures both client and AP radio RF statistics with a 30-second granularity. |\n| `SPECTRUM` | This captures Wi-Fi Layer 2 signal strength and sources of interference across all supported Wi-Fi bands and channels. |\n\n**ICAP Configuration limitations**\n* The minimum duration for FULL packet capture is 30 minutes, and the maximum is 8 hours.\n* The duration for OTA packet capture is 15 minutes\n* ONBOARDING packet capture supports 16 unique client MAC addresses with up to 3 WLCs for each client MAC address. The duration of capture can be set between 30 minutes and 8 hours.\n* SPECTRUM settings can be enabled on a maximum of 10 APs. The duration of SPECTRUM data is 10 minutes.\n* RFSTATS settings \n * At AP level, the feature can be enabled on a maximum of 1000 APs\n * At WLC level, the feature can be enabled only if Catalyst Center does not have more than 1,000 managed APs.\n * Mixture of AP and WLC level configuration is not supported.\n* OTA settings\n * Can have up to 2 APs with both support radio role sniffer, but 1 AP which supports AP mode sniffer. Consult AP hardware/software documetation about packet sniffing limitations. Minimum required AP software is IOSxe 17.11. AP running AireOS is not supported. AP must be in client-serving mode prior to enabling OTA on the AP. Changing an AP from client-serving to AP mode sniffer is not supported when the AP supports radio role sniffer. Most AP platforms support radio role sniffer at radio slot 0. The radio must be admin/oper UP and in client-serving mode prior to using ICAP OTA on the AP radio. Changing 2 or more radios of 1 AP from client-serving mode to radio role sniffer is not supported. Enabling OTA is to change AP from client-serving to sniffer, which will force all clients at the radio to roam to neighboring APs. Client network service experiences will be impacted.\n \n **WARNING:** Enalbing OTA will reset AP radio (or the AP device if OTA mode is \"AP\"). This will force all clients who are associating with the AP radio to roam to other AP devices. Clients WIFI network experiences will be impacted.\n* ANOMALY Settings\n * Must be applied at the WLC level, although AP-level ANOMALY is also supported. Applying ANOMALY at the AP level is intended for troubleshooting a specific client at a specific AP. Catalyst Center does not allow applying ANOMALY at both the WLC and AP levels simultaneously. The feature can be disabled on demand.\n * Mixture of AP and WLC level configuration is not supported.\n* Applying ICAP configurations at the WLC level is to apply the configurations to all AP profiles known to the Catalyst Center. Wireless controller devices must be managed and in good health prior to use ICAP features for troubleshooting client WIFI issues.\n" 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: 1.0.0 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: status description: APIs to check the status of ICAP deployment operation. paths: /dna/intent/api/v1/icapSettings/deviceDeployments: get: tags: - status summary: Get device deployment status. description: Retrieves ICAP configuration deployment status(s) per device based on filter criteria. operationId: getDeviceDeployments parameters: - name: deployActivityId in: query description: activity from the /deploy task response required: false style: form explode: true schema: type: string format: uuid example: 98762eeb-effe-4938-9371-ccf6dc2fe15e - name: networkDeviceIds in: query description: device ids, retrievable from the id attribute in intent/api/v1/network-device required: false style: form explode: false schema: type: array items: maxItems: 500 type: string format: uuid - name: offset in: query description: The first record to show for this page; the first record is numbered 1. schema: minimum: 1 type: integer default: 1 - name: limit in: query description: The number of records to show for this page. schema: maximum: 500 minimum: 1 type: integer - name: sortBy in: query description: A property within the response to sort by. schema: type: string - name: order in: query description: Whether ascending or descending order should be used to sort the response. schema: type: string default: asc enum: - asc - desc responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DeviceDeploymentStatusListResponse' '204': description: The request was successful, however no content was returned. '206': description: The GET request included a Range Header, and the server responded with the partial content matching the range. '400': description: The client made a request that the server could not understand (for example, the request syntax is incorrect). '401': description: The client's authentication credentials included with the request are missing or invalid. '403': description: The server recognizes the authentication credentials, but the client is not authorized to perform this request. '404': description: The client made a request for a resource that does not exist. '409': description: The target resource is in a conflicted state (for example, an edit conflict where a resource is being edited by multiple users). Retrying the request later might succeed. '415': description: The client sent a request body in a format that the server does not support (for example, XML to a server that only accepts JSON). '500': description: The server could not fulfill the request. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '501': description: The server has not implemented the functionality required to fulfill the request. '503': description: The server is (temporarily) unavailable. '504': description: The server did not respond inside time restrictions and timed-out. /dna/intent/api/v1/icapSettings/deviceDeployments/count: get: tags: - status summary: Get device deployment status count. description: Returns the count of device deployment status(s) based on filter criteria operationId: getDeviceDeploymentsCount parameters: - name: deployActivityId in: query description: activity from the /deploy task response required: false style: form explode: true schema: type: string format: uuid example: 98762eeb-effe-4938-9371-ccf6dc2fe15e - name: networkDeviceIds in: query description: device ids, retrievable from the id attribute in intent/api/v1/network-device required: false style: form explode: false schema: type: array items: maxItems: 500 type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CountResponse' '204': description: The request was successful, however no content was returned. '206': description: The GET request included a Range Header, and the server responded with the partial content matching the range. '400': description: The client made a request that the server could not understand (for example, the request syntax is incorrect). '401': description: The client's authentication credentials included with the request are missing or invalid. '403': description: The server recognizes the authentication credentials, but the client is not authorized to perform this request. '404': description: The client made a request for a resource that does not exist. '409': description: The target resource is in a conflicted state (for example, an edit conflict where a resource is being edited by multiple users). Retrying the request later might succeed. '415': description: The client sent a request body in a format that the server does not support (for example, XML to a server that only accepts JSON). '500': description: The server could not fulfill the request. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '501': description: The server has not implemented the functionality required to fulfill the request. '503': description: The server is (temporarily) unavailable. '504': description: The server did not respond inside time restrictions and timed-out. components: schemas: EpochMilliseconds: minimum: 0 type: integer description: A date and time represented as ***milliseconds*** since the Unix epoch. format: int64 example: 1524880285900 externalDocs: description: Unix time - Wikipedia url: https://en.wikipedia.org/wiki/Unix_time DeviceError: type: object properties: message: type: string description: A brief message about the error example: Connection to device timedout remedy: type: string description: A brief message to suggest remedy to the failure example: Upgrade the IOS version ErrorResponse: title: Error Response type: object properties: response: $ref: '#/components/schemas/ErrorResponse_response' version: type: string description: The version of the response example: '1.0' description: Contains information explaining the error that occured processing this request. externalDocs: description: Error Codes - Cisco DevNet url: https://developer.cisco.com/docs/dna-center/#!api-quick-start/error-codes ConfigGroupName: type: string description: name of the config group that has been provisioned. example: application.telemetry DeviceDeploymentStatusList: type: array items: $ref: '#/components/schemas/DeviceDeployment' CountResponse: title: Count Response type: object properties: response: $ref: '#/components/schemas/CountResponse_response' version: type: string description: The version of the response example: '1.0' description: Reports a count, for example, a total count of records in a given resource. DeviceDeployment: required: - configGroupName - configGroupVersion - deployActivityId - networkDeviceId - status type: object properties: deployActivityId: $ref: '#/components/schemas/ActivityId' configGroupName: $ref: '#/components/schemas/ConfigGroupName' configGroupVersion: $ref: '#/components/schemas/ConfigGroupVersion' createTime: allOf: - $ref: '#/components/schemas/EpochMilliseconds' - description: create time of the device deployment status record; as measured in Unix epoch time in milliseconds - example: 1699826101192 endTime: allOf: - $ref: '#/components/schemas/EpochMilliseconds' - description: device provisioning end time; as measured in Unix epoch time in milliseconds - example: 1699826442677 error: $ref: '#/components/schemas/DeviceError' lastUpdateTime: allOf: - $ref: '#/components/schemas/EpochMilliseconds' - description: last update time of the device deployment status record; as measured in Unix epoch time in milliseconds - example: 1699826111352 networkDeviceId: $ref: '#/components/schemas/NetworkDeviceId' startTime: allOf: - $ref: '#/components/schemas/EpochMilliseconds' - description: device provisioning start time; as measured in Unix epoch time in milliseconds - example: 1699826098738 status: allOf: - $ref: '#/components/schemas/DeviceStatus' - description: provisioning status on the device - example: SUCCESS ConfigGroupVersion: type: integer description: version of the config group that has been provisioned. version increments everytime for a provisioning operation. DeviceStatus: type: string description: "Device status:\n * 'NOT_STARTED' - provisioning has not started on this device\n * 'SUCCESS' - provisioning has completed with a success\n * 'FAILED' - provisioning has completed with a failure\n * 'CONFIGURING' - provisioning is in progress\n * 'ROLLBACK_SUCCESS' - provisioning has successfully rolled back to the previous version \n * 'ROLLBACK_FAILURE' - there was a failure in rolling back to the previous version\n * 'CANCELLED' - provisioning was cancelled by the user\n * 'NOT_SUPPORTED' - provisioning cannot be done on the device as the device does not support it\n * 'PENDING' - provisioning will start soon on the device\n" enum: - NOT_STARTED - SUCCESS - FAILED - CONFIGURING - ROLLBACK_SUCCESS - ROLLBACK_FAILURE - CANCELLED - NOT_SUPPORTED - PENDING ActivityId: type: string description: activity id from intent/api/v1/activity format: uuid example: 7f422eeb-effe-4938-9371-ccf6dc2fe15e NetworkDeviceId: type: string description: Id of the device format: uuid example: efab65ed-dcbe-4857-999e-af3e477aed1a DeviceDeploymentStatusListResponse: type: object properties: response: $ref: '#/components/schemas/DeviceDeploymentStatusList' version: type: string example: '1.0' example: response: - deployActivityId: c0fc8ffc-10e1-4402-8806-910e366959b6 networkDeviceId: 4dab2492-cead-4036-83d1-2e44b2213c54 configGroupName: f:assurance-icap ait:ONBOARDING s:Global wlc:4dab2492-cead-4036-83d1-2e44b2213c54 mac:AA:AA:AA:AA:AA:01 a:Enable op:CREATE configGroupVersion: 2 status: Success startTime: 1724968922353 endTime: 1724968935093 version: '1.0' CountResponse_response: type: object properties: count: type: integer description: The reported count. ErrorResponse_response: type: object properties: errorCode: type: string description: The error code message: type: string description: A message providing more context regarding the error detail: type: string description: Detailed information regarding the error externalDocs: description: Catalyst Center Developer API resources url: https://developer.cisco.com/dnacenter/