{"type":"model","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":"Description for pulseAlertsResp","properties":{"device_alerts":{"description":"device_alerts","items":{"description":"Description for pulseDeviceAlerts","properties":{"device_IP":{"description":"device_IP","title":"device_IP is the device IP for the specified device","type":"array"},"device_id":{"description":"device_id","title":"device_id is the device for which alerts are returned","type":"array"},"device_type":{"description":"device_type","title":"device_type is the device type for the specified device","type":"array"},"impact_score":{"description":"impact_score","format":"int64","title":"impact_score is the impact score value of the specified device\nCurrent implementation of impact_score derivation logic is as below:\nImpact Score = 4 * (# of critical alerts) + 3 * (# of major alerts) + 2 * (# of warning alerts) + 1 * (# of info alerts)","type":"array"},"summary":{"description":"summary","type":"array","properties":{"levels":{"description":"levels","items":{"description":"Description for pulseAlertView","properties":{"alert":{"description":"alert","format":"int64","title":"Count of alerts","type":"array"},"level":{"description":"level","title":"Valid alert level e.g. CRITICAL,WARNING,INFO,OK","type":"array"}},"type":"object","$$ref":"#/components/schemas/pulseAlertView"},"type":"array"}},"$$ref":"#/components/schemas/pulseAlertSummaryGroup"},"total_alerts":{"description":"total_alerts","format":"int64","title":"total_alerts is the total number of alerts for the specified device","type":"array"}},"type":"object","$$ref":"#/components/schemas/pulseDeviceAlerts"},"title":"device_alerts contains a device specific view of alerts filtered by various parameters passed to the api\nit is populated when a device view of alerts is requested for device(s) or device tag(s)","type":"array"},"kpi_alerts":{"description":"kpi_alerts","items":{"description":"Description for pulseKpiAlerts","properties":{"devices":{"description":"devices","items":{"type":"string"},"title":"devices is a list of devices that are currently alerting for the specific kpis passed in","type":"array"},"impact_score":{"description":"impact_score","format":"int64","title":"impact_score is the impact score value of the specified kpi\nCurrent implementation of impact_score derivation logic is as below:\nImpact Score = 4 * (# of critical alerts) + 3 * (# of major alerts) + 2 * (# of warning alerts) + 1 * (# of info alerts)","type":"array"},"kpi_id":{"description":"kpi_id","title":"kpi_id is the kpi for which alerts are returned","type":"array"},"kpi_name":{"description":"kpi_name","title":"kpi_name is the kpi name for the specified kpi","type":"array"},"kpi_type":{"description":"kpi_type","title":"kpi_type is the kpi type for the specified kpi","type":"array"},"summary":{"description":"summary","type":"array","properties":{"levels":{"description":"levels","items":{"description":"Description for pulseAlertView","properties":{"alert":{"description":"alert","format":"int64","title":"Count of alerts","type":"array"},"level":{"description":"level","title":"Valid alert level e.g. CRITICAL,WARNING,INFO,OK","type":"array"}},"type":"object","$$ref":"#/components/schemas/pulseAlertView"},"type":"array"}},"$$ref":"#/components/schemas/pulseAlertSummaryGroup"},"total_alerts":{"description":"total_alerts","format":"int64","title":"total_alerts is the total number of alerts for the specified device","type":"array"}},"type":"object","$$ref":"#/components/schemas/pulseKpiAlerts"},"title":"kpi_alerts contains a kpi specific view of alerts filtered by various parameters passed to the api\nit is populated when a kpi view of alerts is requested for device(s) or device tag(s)","type":"array"},"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"},"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.","format":"int64","type":"array"},"time_series":{"description":"time_series","format":"byte","pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","title":"time_series contains raw time series without any aggregation\nstring time_series = 5;\nmap \u003cstring, google.protobuf.Any\u003e time_series = 5;\ngoogle.protobuf.Value time_series = 5;\ngoogle.protobuf.Struct time_series = 5;\nbytes time_series = 5;","type":"array"}},"type":"object","title":"pulseAlertsResp"}}