{"type":"api","title":"Retrieve timeseries count of alerts for devices","meta":{"id":"/apps/pubhub/media/crosswork-network-controller-7-1/f445c17e25a1120e8fbde4bd413083d0fd88b2b3/280afeb1-5ea4-33e3-8618-f92d3ecedf8f","info":{"contact":{"email":"support@cisco.com","name":"Crosswork Team, Cisco"},"description":"Health Insights(HI) is a software system that provides smart KPI monitoring and remediation for service provider networks. This document contains details of the HI RESTful APIs that can be used to manage KPIs, enable/disable KPIs on groups or devices, query KPIs and device alerts, remediate alerting KPIs etc.","license":{"name":"Cisco Software License Agreement","url":"https://www.cisco.com/public/sw-license-agreement.html"},"title":"Crosswork Health Insights API","version":"7.1.0"},"security":[{"bearerAuth":[]}],"x-parser-conf":{"overview":{"markdownPath":"reference/CAHI/health_insights_overview.md"}},"openapi":"3.0.1","servers":[{"url":"https://{server_ip}:30603/crosswork/hi/v1","description":"Generated server url"}],"securitySchemes":{"bearerAuth":{"description":"token","in":"header","name":"Authorization","type":"apiKey"}}},"spec":{"description":"Used by bar charts on pulse UI. Response is returned as an array of AlertSummaryTS format. The API currently supports retrieving all alerts for specified kpis and devices and can be filtered by alert level(s) and time duration. If no devices or kpis are passed in, the api will aggregate all alerts in the time interval irrespective of specific devices or kpis. The api also accepts a groupby argument where the grouping time interval should be specified as required. Pagination is supported by specifying limit and offset in the POST request arguments. If no filter parameters are passed in to the query endpoints, the API will return alert count by applying the default limit of 50 and default time interval of 1h.","operationId":"GetAlertsSeriesLevelsDevice","requestBody":{"content":{"application/json":{"schema":{"description":"Description for pulseAlertsSeriesLevelsDevReq","example":{"devices":["RouterSFO"],"groupby":"30m","kpis":["pulse_cpu_threshold"],"levels":[""],"limit":"20","offset":"0","time_ago":"0m","time_interval":"6h"},"properties":{"devices":{"description":"devices","items":{"type":"string"},"title":"Optional comma separated list of devices for which alerts are being requested\nIf nothing is passed alerts for all devices are returned","type":"array"},"groupby":{"description":"groupby","title":"Specifies the group by time interval when the user needs an aggregated count of alerts per interval in a time series format\ne.g. if groupBy = \"30m\" and time_interval = 12h, , the api will aggregate alerts per 30 mins during the 12h period\ngroupBy canbe passed only when Series is passed as true","type":"string"},"kpis":{"description":"kpis","items":{"type":"string"},"title":"Optional comma separated list of KPI Ids(kpi_id) to filter the alerts","type":"array"},"levels":{"description":"levels","items":{"type":"string"},"title":"Optional comma separated list of alert levels to filter the alerts\nValid values include CRITICAL,WARNING,INFO,OK","type":"array"},"limit":{"description":"limit","title":"Specifies limit on number of devices to return in a single request\ne.g if limit = 4 then the api will return alerts for 4 devices\nDefault is 50","type":"string"},"offset":{"description":"offset","title":"For pagination, specify the offset while fetching records.\ne.g.: if limit is 10, then in the first API call offset will be 0, in the 2nd call offset=10, 3rd call offset=20 etc","type":"string"},"start_time":{"description":"startTime is the timestamp returned by the api to be used in subsequent calls for pagination\nIn all subsequent calls to this api, the starttime should be sent back in the request parameters\nIn a time series DB where data is continuously being written, the startTime helps preserve the data set of a query by fixing the starttime of the data so that during pagination, data is returned from the same data set that was returned in the first API call.","type":"string"},"time_ago":{"description":"time_ago","title":"Optional start time of the Time period in terms of minutes(m) or hours(h)\ne.g if time_ago = 4 then the api wil consider alerts that came in prior to alst 4hours\nDefault is now","type":"string"},"time_interval":{"description":"time_interval","title":"Specifies the length of the time period in terms of hours or minutes\ne.g. if timeInterval = 12h, the query will aggregate all alerts for past 12 hours and so on\nDefault is 1h","type":"string"}},"title":"AlertsSeriesLevelsDevReq defines the parameters used in POST request to get time series of count of alerts by levels per time interval\nfor devices. Used by bar charts on pulse UI","type":"object","$$ref":"#/components/schemas/pulseAlertsSeriesLevelsDevReq"}}},"description":"Used by bar charts on pulse UI. Response is returned as an array of AlertSummaryTS format. The API currently supports retrieving all alerts for specified kpis and devices and can be filtered by alert level(s) and time duration. If no devices or kpis are passed in, the api will aggregate all alerts in the time interval irrespective of specific devices or kpis. The api also accepts a groupby argument where the grouping time interval should be specified as required. Pagination is supported by specifying limit and offset in the POST request arguments. If no filter parameters are passed in to the query endpoints, the API will return alert count by applying the default limit of 50 and default time interval of 1h.","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"Description for pulseAlertsSeriesResp","example":{"devices":["RouterSFO"],"kpis":["pulse_cpu_threshold"],"levels":[""],"limit":"20","offset":"0","time_ago":"0m","time_interval":"1d"},"properties":{"series":{"description":"series","items":{"description":"Description for pulseAlertSummaryTS","properties":{"alerts":{"description":"alerts","items":{"description":"Description for pulseTimeCount","properties":{"alert":{"description":"alert","format":"int64","title":"alert is a count of alerts at the corresponding time","type":"array"},"time":{"description":"time","format":"uint64","title":"time is the timestamp corresponding to alerts","type":"array"}},"title":"TimeCount is a time series that contains count of alerts by time","type":"object","$$ref":"#/components/schemas/pulseTimeCount"},"title":"alerts is a count of alerts by time","type":"array"},"level":{"description":"level","title":"level is the level of an alert","type":"array"}},"title":"AlertSummaryTS is a time series that contains count of alerts by time for each alert level","type":"object","$$ref":"#/components/schemas/pulseAlertSummaryTS"},"title":"series contains time series of alert summary by levels","type":"array"}},"type":"object","$$ref":"#/components/schemas/pulseAlertsSeriesResp"}}},"description":"A successful response."},"400":{"content":{},"description":"Bad Request"}},"summary":"Retrieve timeseries count of alerts for devices.","tags":["Alerts"],"x-codegen-request-body-name":"body","__originalOperationId":"GetAlertsSeriesLevelsDevice","security":[{"bearerAuth":[]}],"method":"post","path":"/alerts/series/levels/devices"}}