Cisco Catalyst Center Site Health Summaries API

Operations related to retrieving overall health information for Catalyst Center Sites

OpenAPI Specification

cisco-catalyst-center-sitehealthsummaries-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: OpenAPI Spec for Assurance Site Health Summaries API
  description: "### OpenAPI specification defined for the purpose of providing visibility into the overall health data of specific sites or groupings of sites present in Catalyst Center\n\n**Relevant Concepts**\n\n| Term | Description |\n| --- | --- |\n| `Good` | Health scores which fall within the [inclusive] range of 8 - 10 |\n| `Access` | Network devices that belong to the access layer [1st of 3 layers in Network Hierarchy]. These generally include: Wireless Controllers, APs, and Switches |\n| `Distribution` | Network devices that belong to the distribution layer [2nd of 3 layers in Network Hierarchy]. These generally include: Routers and Switches layer [2nd of 3 layers in Network Hierarchy]. These generally include: Routers and Switches |\n|`Core` | Network devices that belong to the core layer [3rd of 3 layers in Network Hierarchy]. These generally include: Switches |\n|`Wireless` | Network devices that make up the wireless network. These generally include: Wireless Controllers and APs. |\n| `Wired` | Network devices that make up the wired network. These generally include: Switches and Routers. |\n| `Clients` | Devices which are connected to the network. These can be either wired or wireless. |\n| `Site` | A geographical location where devices are added |\n\n**API Support Documentation**\n\n**Views**\n\nSpecified 'views' can be requested for non-count APIs. Each view corresponds to different sets of data. \n\n'views' an optional parameter which can be passed to get one or more of the specific health data summaries associated with sites.\n\n'views' is also an optional field in the post request bodies.\n\n| View | Response Data |\n| --- | --- |\n| `site` | id, siteHierarchy, siteHierarchyId, siteType, latitude, longitude |\n| `network` | id, networkDeviceCount, networkDeviceGoodHealthCount,wirelessDeviceCount, wirelessDeviceGoodHealthCount, accessDeviceCount, accessDeviceGoodHealthCount, coreDeviceCount, coreDeviceGoodHealthCount, distributionDeviceCount, distributionDeviceGoodHealthCount, routerDeviceCount, routerDeviceGoodHealthCount, apDeviceCount, apDeviceGoodHealthCount, wlcDeviceCount, wlcDeviceGoodHealthCount, switchDeviceCount, switchDeviceGoodHealthCount, networkDeviceGoodHealthPercentage, accessDeviceGoodHealthPercentage, coreDeviceGoodHealthPercentage, distributionDeviceGoodHealthPercentage, routerDeviceGoodHealthPercentage, apDeviceGoodHealthPercentage, wlcDeviceGoodHealthPercentage, switchDeviceGoodHealthPercentage, wirelessDeviceGoodHealthPercentage |\n| `client` | id, clientCount, clientGoodHealthCount, wiredClientCount, wirelessClientCount, wiredClientGoodHealthCount, wirelessClientGoodHealthCount, clientGoodHealthPercentage, wiredClientGoodHealthPercentage, wirelessClientGoodHealthPercentage, clientDataUsage |\n| `issue` | id, p1IssueCount, p2IssueCount, p3IssueCount, p4IssueCount, issueCount |\n\n  When this query parameter is not added the default summaries are:  \n  \n  [`site`,`client`,`network`,`issue`]\n  \n  **Examples**:\n  \n  1. Query Param:\n  \n    ?view=client (single view requested)\n  \n    ?view=client&view=network&view=issue (multiple views requested)\n  \n  2. Post body:\n  \n    views=[\"client\",\"network\",\"issue\"]\n  \n### **Attributes** ###\n\nSpecified 'attributes' can be requested for non-count APIs. Each attribute requested will be part of the API response.\n\n**Supported Attributes:**\n`id`, `siteHierarchy`, `siteHierarchyId`, `siteType`, `latitude`, `longitude`, `networkDeviceCount`, `networkDeviceGoodHealthCount`,`wirelessDeviceCount`, `wirelessDeviceGoodHealthCount`, `accessDeviceCount`, `accessDeviceGoodHealthCount`, `coreDeviceCount`, `coreDeviceGoodHealthCount`, `distributionDeviceCount`, `distributionDeviceGoodHealthCount`, `routerDeviceCount`, `routerDeviceGoodHealthCount`, `apDeviceCount`, `apDeviceGoodHealthCount`, `wlcDeviceCount`, `wlcDeviceGoodHealthCount`, `switchDeviceCount`, `switchDeviceGoodHealthCount`, `networkDeviceGoodHealthPercentage`, `accessDeviceGoodHealthPercentage`, `coreDeviceGoodHealthPercentage`, `distributionDeviceGoodHealthPercentage`, `routerDeviceGoodHealthPercentage`, `apDeviceGoodHealthPercentage`, `wlcDeviceGoodHealthPercentage`, `switchDeviceGoodHealthPercentage`, `wirelessDeviceGoodHealthPercentage`, `clientCount`, `wiredClientCount`, `clientGoodHealthCount`, `wirelessClientCount`, `wiredClientGoodHealthCount`, `wirelessClientGoodHealthCount`, `clientGoodHealthPercentage`, `wiredClientGoodHealthPercentage`, `wirelessClientGoodHealthPercentage`, `clientDataUsage`, `p1IssueCount`, `p2IssueCount`, `p3IssueCount`, `p4IssueCount`, `issueCount`\n**Supported Analytics Attributes:**\n`networkDeviceCount`,`networkDeviceGoodHealthCount`,`wirelessDeviceCount`, `wirelessDeviceGoodHealthCount`, `accessDeviceCount`, `accessDeviceGoodHealthCount`, `coreDeviceCount`, `coreDeviceGoodHealthCount`, `distributionDeviceCount`, `distributionDeviceGoodHealthCount`, `routerDeviceCount`, `routerDeviceGoodHealthCount`, `apDeviceCount`, `apDeviceGoodHealthCount`, `wlcDeviceCount`, `wlcDeviceGoodHealthCount`, `switchDeviceCount`, `switchDeviceGoodHealthCount`, `networkDeviceGoodHealthPercentage`, `accessDeviceGoodHealthPercentage`, `coreDeviceGoodHealthPercentage`, `distributionDeviceGoodHealthPercentage`, `routerDeviceGoodHealthPercentage`, `apDeviceGoodHealthPercentage`, `wlcDeviceGoodHealthPercentage`, `switchDeviceGoodHealthPercentage`, `wirelessDeviceGoodHealthPercentage`, `clientCount`, `wiredClientCount`, `clientGoodHealthCount`, `wirelessClientCount`, `wiredClientGoodHealthCount`, `wirelessClientGoodHealthCount`, `clientGoodHealthPercentage`, `wiredClientGoodHealthPercentage`, `wirelessClientGoodHealthPercentage`, `clientDataUsage`, `p1IssueCount`, `p2IssueCount`, `p3IssueCount`, `p4IssueCount`, `issueCount`\n\nIf length of attribute list is too long, when using the query parameter for GET requests, please use `view` param instead.\n\n  Examples:\n  \n  1. query param:\n  \n    ?attribute=siteHierarchy (single attribute requested)\n  \n    ?attribute=siteHierarchy&attribute=clientCount (multiple attributes requested)\n  \n  2. post body:\n  \n    attributes=[\"siteHierarchy\",\"clientCount\"]\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: 2.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/dna/data/api/v1
tags:
- name: siteHealthSummaries
  description: Operations related to retrieving overall health information for Catalyst Center Sites
  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:
  /siteHealthSummaries:
    get:
      tags:
      - siteHealthSummaries
      summary: Read list of site health summaries.
      description: 'Get a paginated list of site health summaries. Use the available query parameters to identify a subset of sites you want health summaries for.

        This API provides the latest health data from a given `endTime`

        If data is not ready for the provided endTime, the request will fail, and the error message will indicate the recommended endTime to use to retrieve a complete data set.

        This behavior may occur if the provided endTime=currentTime, since we are not a real time system.

        When `endTime` is not provided, the API returns the latest data.

        This API also provides issue data. The `startTime` query param can be used to specify the beginning point of time range to retrieve the active issue counts in. When this param is not provided, the default `startTime` will be 24 hours before endTime.

        Valid values for `sortBy` param in this API are limited to the attributes provided in the `site` view.

        Default sortBy is ''siteHierarchy'' in order ''asc'' (ascending)

        '
      operationId: readSiteHealthSummaries
      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: intent
      - 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: 20
          minimum: 1
          type: integer
          default: 10
      - 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: 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 wildcard asterisk (`*`) character search support. E.g. `*/San*, */San, /San*`


          Examples:


          `?siteHierarchy=Global/AreaName/BuildingName/FloorName` (single siteHierarchy requested)


          `?siteHierarchy=Global/AreaName/BuildingName/FloorName&siteHierarchy=Global/AreaName2/BuildingName2/FloorName2` (multiple siteHierarchies 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 wildcard asterisk (`*`) character search support. E.g. `*uuid*, *uuid, uuid*`


          Examples:


          `?siteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid `(single siteHierarchyId requested)


          `?siteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid&siteHierarchyId=globalUuid/areaUuid2/buildingUuid2/floorUuid2` (multiple siteHierarchyIds requested)

          '
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: siteType
        in: query
        description: 'The type of the site. A site can be an area, building, or floor.


          Default when not provided will be `[floor,building,area]`


          Examples:


          `?siteType=area` (single siteType requested)


          `?siteType=area&siteType=building&siteType=floor` (multiple siteTypes requested)

          '
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
          default: floor,building,area
      - name: id
        in: query
        description: 'The list of entity Uuids. (Ex."6bef213c-19ca-4170-8375-b694e251101c")

          Examples: id=6bef213c-19ca-4170-8375-b694e251101c (single entity uuid requested)

          id=6bef213c-19ca-4170-8375-b694e251101c&id=32219612-819e-4b5e-a96b-cf22aca13dd9&id=2541e9a7-b80d-4955-8aa2-79b233318ba0 (multiple entity uuid with ''&'' separator)

          '
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: view
        in: query
        description: "The specific summary view being requested. This is an optional parameter which can be passed to get one or more of the specific health data summaries associated with sites.\n\n### Response data proviced by each view:  \n\n1. **site**\n[id, siteHierarchy, siteHierarchyId, siteType, latitude, longitude]  \n\n2. **network**\n[id, networkDeviceCount, networkDeviceGoodHealthCount,wirelessDeviceCount, wirelessDeviceGoodHealthCount, accessDeviceCount, accessDeviceGoodHealthCount, coreDeviceCount, coreDeviceGoodHealthCount, distributionDeviceCount, distributionDeviceGoodHealthCount, routerDeviceCount, routerDeviceGoodHealthCount, apDeviceCount, apDeviceGoodHealthCount, wlcDeviceCount, wlcDeviceGoodHealthCount, switchDeviceCount, switchDeviceGoodHealthCount, networkDeviceGoodHealthPercentage, accessDeviceGoodHealthPercentage, coreDeviceGoodHealthPercentage, distributionDeviceGoodHealthPercentage, routerDeviceGoodHealthPercentage, apDeviceGoodHealthPercentage, wlcDeviceGoodHealthPercentage, switchDeviceGoodHealthPercentage, wirelessDeviceGoodHealthPercentage]  \n\n3. **client**\n[id, clientCount, clientGoodHealthCount, wiredClientCount, wirelessClientCount, wiredClientGoodHealthCount, wirelessClientGoodHealthCount, clientGoodHealthPercentage, wiredClientGoodHealthPercentage, wirelessClientGoodHealthPercentage, clientDataUsage]  \n\n4. **issue**\n[id, p1IssueCount, p2IssueCount, p3IssueCount, p4IssueCount, issueCount]  \n\nWhen this query parameter is not added the default summaries are:  \n\n**[site,client,network,issue]**\n\nExamples:\n\nview=client (single view requested)\n\nview=client&view=network&view=issue (multiple views requested)\n"
        required: false
        style: form
        explode: true
        schema:
          maxItems: 5
          minItems: 1
          type: array
          items:
            type: string
          default: site,client,network,issue
      - name: attribute
        in: query
        description: 'Supported Attributes:


          [id, siteHierarchy, siteHierarchyId, siteType, latitude, longitude, networkDeviceCount, networkDeviceGoodHealthCount,wirelessDeviceCount, wirelessDeviceGoodHealthCount, accessDeviceCount, accessDeviceGoodHealthCount, coreDeviceCount, coreDeviceGoodHealthCount, distributionDeviceCount, distributionDeviceGoodHealthCount, routerDeviceCount, routerDeviceGoodHealthCount, apDeviceCount, apDeviceGoodHealthCount, wlcDeviceCount, wlcDeviceGoodHealthCount, switchDeviceCount, switchDeviceGoodHealthCount, networkDeviceGoodHealthPercentage, accessDeviceGoodHealthPercentage, coreDeviceGoodHealthPercentage, distributionDeviceGoodHealthPercentage, routerDeviceGoodHealthPercentage, apDeviceGoodHealthPercentage, wlcDeviceGoodHealthPercentage, switchDeviceGoodHealthPercentage, wirelessDeviceGoodHealthPercentage, clientCount, clientGoodHealthCount, wiredClientCount, wirelessClientCount, wiredClientGoodHealthCount, wirelessClientGoodHealthCount, clientGoodHealthPercentage, wiredClientGoodHealthPercentage, wirelessClientGoodHealthPercentage, clientDataUsage, p1IssueCount, p2IssueCount, p3IssueCount, p4IssueCount, issueCount]


          If length of attribute list is too long, please use ''view'' param instead.


          Examples:


          attribute=siteHierarchy (single attribute requested)


          attribute=siteHierarchy&attribute=clientCount (multiple attributes requested)

          '
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: Site health summaries response model
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/siteHealthSummaries'
        '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'
        '500':
          description: The server could not fulfill the request due to internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        1XX:
          description: Informational Responses - The server received the request and sent an informational response.
        2XX:
          description: Successful Responses - The server received the client request, understood it, and accepted it.
        3XX:
          description: Redirection Messages - The client must take additional action to complete the request.
        4XX:
          description: Client Error Responses - The client request caused the error.
        5XX:
          description: Server Error Responses - The server failed to fulfill the request.
        default:
          description: Unexpected Error
  /siteHealthSummaries/{id}:
    get:
      tags:
      - siteHealthSummaries
      summary: Read site health summary data by site id.
      description: 'Get a health summary for a specific site by providing the unique site id in the url path.

        This API provides the latest health data from a given `endTime`

        If data is not ready for the provided endTime, the request will fail, and the error message will indicate the recommended endTime to use to retrieve a complete data set.

        This behavior may occur if the provided endTime=currentTime, since we are not a real time system.

        When `endTime` is not provided, the API returns the latest data.

        This API also provides issue data. The `startTime` query param can be used to specify the beginning point of time range to retrieve the active issue counts in. When this param is not provided, the default `startTime` will be 24 hours before endTime.

        '
      operationId: readSiteHealthSummaryById
      parameters:
      - name: id
        in: path
        description: unique site uuid
        required: true
        style: simple
        explode: false
        schema:
          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: intent
      - 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: "The specific summary view being requested. This is an optional parameter which can be passed to get one or more of the specific health data summaries associated with sites.\n\n### Response data proviced by each view:  \n\n1. **site**\n[id, siteHierarchy, siteHierarchyId, siteType, latitude, longitude]  \n\n2. **network**\n[id, networkDeviceCount, networkDeviceGoodHealthCount,wirelessDeviceCount, wirelessDeviceGoodHealthCount, accessDeviceCount, accessDeviceGoodHealthCount, coreDeviceCount, coreDeviceGoodHealthCount, distributionDeviceCount, distributionDeviceGoodHealthCount, routerDeviceCount, routerDeviceGoodHealthCount, apDeviceCount, apDeviceGoodHealthCount, wlcDeviceCount, wlcDeviceGoodHealthCount, switchDeviceCount, switchDeviceGoodHealthCount, networkDeviceGoodHealthPercentage, accessDeviceGoodHealthPercentage, coreDeviceGoodHealthPercentage, distributionDeviceGoodHealthPercentage, routerDeviceGoodHealthPercentage, apDeviceGoodHealthPercentage, wlcDeviceGoodHealthPercentage, switchDeviceGoodHealthPercentage, wirelessDeviceGoodHealthPercentage]  \n\n3. **client**\n[id, clientCount, clientGoodHealthCount, wiredClientCount, wirelessClientCount, wiredClientGoodHealthCount, wirelessClientGoodHealthCount, clientGoodHealthPercentage, wiredClientGoodHealthPercentage, wirelessClientGoodHealthPercentage, clientDataUsage]  \n\n4. **issue**\n[id, p1IssueCount, p2IssueCount, p3IssueCount, p4IssueCount, issueCount]  \n\nWhen this query parameter is not added the default summaries are:  \n\n**[site,client,network,issue]**\n\nExamples:\n\nview=client (single view requested)\n\nview=client&view=network&view=issue (multiple views requested)\n"
        required: false
        style: form
        explode: true
        schema:
          maxItems: 5
          minItems: 1
          type: array
          items:
            type: string
          default: site,client,network,issue
      - name: attribute
        in: query
        description: 'Supported Attributes:


          [id, siteHierarchy, siteHierarchyId, siteType, latitude, longitude, networkDeviceCount, networkDeviceGoodHealthCount,wirelessDeviceCount, wirelessDeviceGoodHealthCount, accessDeviceCount, accessDeviceGoodHealthCount, coreDeviceCount, coreDeviceGoodHealthCount, distributionDeviceCount, distributionDeviceGoodHealthCount, routerDeviceCount, routerDeviceGoodHealthCount, apDeviceCount, apDeviceGoodHealthCount, wlcDeviceCount, wlcDeviceGoodHealthCount, switchDeviceCount, switchDeviceGoodHealthCount, networkDeviceGoodHealthPercentage, accessDeviceGoodHealthPercentage, coreDeviceGoodHealthPercentage, distributionDeviceGoodHealthPercentage, routerDeviceGoodHealthPercentage, apDeviceGoodHealthPercentage, wlcDeviceGoodHealthPercentage, switchDeviceGoodHealthPercentage, wirelessDeviceGoodHealthPercentage, clientCount, clientGoodHealthCount, wiredClientCount, wirelessClientCount, wiredClientGoodHealthCount, wirelessClientGoodHealthCount, clientGoodHealthPercentage, wiredClientGoodHealthPercentage, wirelessClientGoodHealthPercentage, clientDataUsage, p1IssueCount, p2IssueCount, p3IssueCount, p4IssueCount, issueCount]


          If length of attribute list is too long, please use ''view'' param instead.


          Examples:


          attribute=siteHierarchy (single attribute requested)


          attribute=siteHierarchy&attribute=clientCount (multiple attributes requested)

          '
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: 'Sites health summaries, summary response model, containing requested attributes


            *Unique identifiers may not be populated in response (ex. siteHierarchy, id, etc)*

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/siteHealthSummariesNoAggregatesWrapper'
        '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'
        '500':
          description: The server could not fulfill the request due to internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        1XX:
          description: Informational Responses - The server received the request and sent an informational response.
        2XX:
          description: Successful Responses - The server received the client request, understood it, and accepted it.
        3XX:
          description: Redirection Messages - The client must take additional action to complete the request.
        4XX:
          description: Client Error Responses - The client request caused the error.
        5XX:
          description: Server Error Responses - The server failed to fulfill the request.
        default:
          description: Unexpected Error
  /siteHealthSummaries/{id}/trendAnalytics:
    get:
      tags:
      - siteHealthSummaries
      summary: Read a trend of site health summary data by site id
      description: 'Retrieves the time series information of health and issue data for a site specified by the path parameter. 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 hour period where a complete data set exists, and a trendInterval of 1 hour.


        If a startTime or endTime is provided, both must be provided.


        A request with a startTime and endTime provided, must also include a specified trendInterval.


        If data is not ready for the provided endTime, the request will fail,

        and the error message will indicate the recommended endTime to use to retrieve

        a complete data set.


        This behavior may occur if the provided endTime=currentTime, since we

        are not a real time system.


        If the time range requested is >= 24 hours, valid trend intervals are:

        [1HR, 1DAY, 7DAY]


        By default:

        - the applied limit of records returned will be 500, and applied offset will be 1.

        - the records will be sorted in time ascending (`asc`) order


        This API is asynchronous due to the large amounts of data being processed and inherent latency associated with that.


        **The process for using this API is as follows**:


        1). Make request to API to generate intended trend data. This request can include any of the following query parameters:


        [startTime, endTime, trendInterval, limit, offset, and order]


        The request MUST include the following query parameters:


        [attribute]


        For a list of supported trend analytics attributes, see main description.


        2). The response will be a 202 HTTP code, with information regarding the generated taskId for this submitted request and the URL to poll the status of this task.


        ex. "/dna/data/api/v1/assuranceTasks/bcbb2a8c-deae-4a3e-9459-0eb1dc12c191"



        3). Once the status is completed, the response data will be retrievable using this API with a taskId query param.


        ex. /dna/data/api/v1/siteHealthSummaries/{id}/trendAnalytics?taskId=bcbb2a8c-deae-4a3e-9459-0eb1dc12c191.


        When a taskId is provided, it is the ONLY query parameter that should be provided to this API.

        '
      operationId: readSiteHealthTrendById
      parameters:
      - name: id
        in: path
        description: unique site uuid
        required: true
        style: simple
        explode: false
        schema:
          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: intent
      - 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: trendInterval
        in: query
        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"
        schema:
          type: string
          enum:
          - 5MIN
          - 10MIN
          - 1HR
          - 1DAY
          - 7DAY
      - name: limit
        in: query
        description: Maximum number of records to return
        schema:
          maximum: 500
          minimum: 1
          type: integer
          default: 500
      - 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: timeSortOrder
        in: query
        description: The sort order of a time sorted API response.
        schema:
          type: string
          default: asc
          enum:
          - asc
          - desc
      - name: attribute
        in: query
        description: 'Supported Analytics Attributes:


          [networkDeviceCount, networkDeviceGoodHealthCount,wirelessDeviceCount, wirelessDeviceGoodHealthCount, accessDeviceCount, accessDeviceGoodHealthCount, coreDeviceCount, coreDeviceGoodHealthCount, distributionDeviceCount, distributionDeviceGoodHealthCount, routerDeviceCount, routerDeviceGoodHealthCount, apDeviceCount, apDeviceGoodHealthCount, wlcDeviceCount, wlcDeviceGoodHealthCount, switchDeviceCount, switchDeviceGoodHealthCount, networkDeviceGoodHealthPercentage, accessDeviceGoodHealthPercentage, coreDeviceGoodHealthPercentage, distributionDeviceGoodHealthPercentage, routerDeviceGoodHealthPercentage, apDeviceGoodHealthPercentage, wlcDeviceGoodHealthPercentage, switchDeviceGoodHealthPercentage, wirelessDeviceGoodHealthPercentage, clientCount, clientGoodHealthCount, wiredClientCount, wirelessClientCount, wiredClientGoodHealthCount, wirelessClientGoodHealthCount, clientGoodHealthPercentage, wiredClientGoodHealthPercentage, wirelessClientGoodHealthPercentage, clientDataUsage, p1IssueCount, p2IssueCount, p3IssueCount, p4IssueCount, issueCount]


          attribute=networkDeviceCount (single attribute requested)


          attribute=networkDeviceCount&attribute=clientCount (multiple attributes requested)

          '
        style: form
        explode: true
        schema:
          minItems: 1
          type: array
          items:
            type: string
      - name: taskId
        in: query
        description: 'used to retrieve asynchronously processed & stored data. When this parameter is used, the rest of the request params will be ignored.

          '
        schema:
          type: string
      responses:
        '200':
          description: Site health summaries trend response model. This is the response model when the 'taskId' query 

# --- truncated at 32 KB (90 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cisco-catalyst-center/refs/heads/main/openapi/cisco-catalyst-center-sitehealthsummaries-api-openapi.yml