Analytics API Calls

Analaytics API calls are used to retrieve analytics data for incidents, services, business services, teams and users. They are an extension to the Incidents API. This documentation contains the schema for making the calls. The calls are subjected to the permissions your organization account has. If your organization does not have the right permissions, then a permission error will be thrown. The same applies for some of the optional fields of the calls.

If this is your first time using the Incidents API, then please refer to the Incidents API Basic Pointers to get started.

Incident Analytics

Get analytics for incidents for a specific period of time.

/analytics/incidents
POST

  • start_date: (string) Date to get the analytics from. Date format: YYYY-MM-DD
  • end_date: (string) Date to get the analytics till. Date format: YYYY-MM-DD
  • timezone: (string) Timezone to assess date and time data with. Example: UTC, US/Eastern, Europe/Madrid

  • urgency_level: (list) List of urgency levels to filter by. TaskCall splits the urgency of an incident into 5 categories. Each category is identified on the API as a number between 1 and 5 with the severity increasing with larger numbers. The urgency levels are mapped as follows: 1: Minor, 2: Low, 3: Medium, 4: High, 5: Critical .
  • policies: (list) Escalation policies (list of IDs) to filter by.
  • services: (list) Services (list of IDs) to filter by.
  • teams: (list) Teams (list of IDs) to filter by.
  • tags: (list) Tags to filter by.
JSON response
 {
"period": ["07/01", "07/02", "07/03", "07/04", "07/05", "07/06", "07/07"],
"incident_count": [0, 3, 0, 0, 9, 0, 3],
"acknowledgement_time": [0, 4.59, 0, 0, 12.42, 0, 2.44],
"resolution_time": [0, 4.59, 0, 0, 90.39, 0, 7.41],
"total_incident_count": [15, 1400.0],
"mean_acknowledgement_time": [8.86, -92.48],
"mean_resolution_time": [56.63, -51.91],
"escalation_count": [0, -100.0],
"incidents": [{
   "organization_instance_id": 877,
   "task_title": "Security Check",
   "service_name": "Ops System Monitor",
   "urgency_level": 5,
   "instance_timestamp": "2022-07-07T14:02:05.298113",
   "resolved_on": "2022-07-07T14:06:57.815282",
   "duration": 4.87528615,
   "resolved_by": "Adam Hoffman Smith",
   "escalation_count": 0
}]
}
User Performance Summary Analytics

Get the performance summary of users. Summary of all users of the organization will be retrieved unless filtered by tags.

/analytics/users/summary
POST

  • start_date: (string) Date to get the analytics from. Date format: YYYY-MM-DD
  • end_date: (string) Date to get the analytics till. Date format: YYYY-MM-DD

  • tags: (list) Tags to filter by.
JSON response
 [{
   "display_name": "Adam Hoffman Smith",
   "preferred_username": "adsmi",
   "timezone": "Europe/Madrid",
   "incident_count": 14,
   "acknowledged_incident_count": 14,
   "acknowledgement_time": 1.83,
   "resolved_incident_count": 12,
   "resolution_time": 61.74,
   "responsiveness": 100.0,
   "effectiveness": 85.71
},
{
   "display_name": "Ashley Haining",
   "preferred_username": "ashai",
   "timezone": "Europe/Madrid",
   "incident_count": 5,
   "acknowledged_incident_count": 0,
   "acknowledgement_time": 0,
   "resolved_incident_count": 0,
   "resolution_time": 0,
   "responsiveness": 0.0,
   "effectiveness": 0.0
},
{
   "display_name": "Ramesh Agarwal",
   "preferred_username": "antora",
   "timezone": "America/Los_Angeles",
   "incident_count": 0,
   "acknowledged_incident_count": 0,
   "acknowledgement_time": 0,
   "resolved_incident_count": 0,
   "resolution_time": 0,
   "responsiveness": 0,
   "effectiveness": 0
}]
Individual User Analytics

Get the detailed performance metrics of a user.

/analytics/users/individual
POST

  • preferred_username: (string) Preferred username of the user.
  • start_date: (string) Date to get the analytics from. Date format: YYYY-MM-DD
  • end_date: (string) Date to get the analytics till. Date format: YYYY-MM-DD

  • tags: (list) Tags to filter by.
JSON response
 {
"display_name": "Adam Hoffman Smith",
"preferred_username": "adsmi",
"timezone": "Europe/Madrid",
"incident_count": 14,
"acknowledged_incident_count": 14,
"acknowledgement_time": 1.83,
"resolved_incident_count": 12,
"resolution_time": 61.74,
"responsiveness": 100.0,
"effectiveness": 85.71,
"fatigue_metrics": {
   "regular_incident_count": [6, 1, 0],
   "fatigued_incident_count": [0, 0, 0],
   "interruption_hours": [32.4, "ideal"],
   "rest_hours": [530.39, "ideal"]
}, "effectiveness_metrics": {
   "data": [
     [0, 0],
     [1, 0],
     [2, 0],
     [3, 0],
     [4, 0],
     [5, 0],
     [6, 0],
     [7, 0],
     [8, 0],
     [9, 0.0],
     [10, 0],
     [11, 100.0],
     [12, 100.0],
     [13, 100.0],
     [14, 50.0],
     [15, 100.0],
     [16, 100.0],
     [17, 0],
     [18, 0],
     [19, 0],
     [20, 100.0],
     [21, 0],
     [22, 0],
     [23, 0]
   ],
   "effectiveness": [85.71, "far_below_ideal"]
},
"escalation_policy_workload": [["Ops Fatal", 100.0]]
}
Service Analytics

Get analytics of services for a specific period of time.

/analytics/services
POST

  • start_date: (string) Date to get the analytics from. Date format: YYYY-MM-DD
  • end_date: (string) Date to get the analytics till. Date format: YYYY-MM-DD
  • timezone: (string) Timezone to assess date and time data with. Example: UTC, US/Eastern, Europe/Madrid

  • services: (list) Services (list of IDs) to filter by.
  • teams: (list) Teams (list of IDs) to filter by.
  • tags: (list) Tags to filter by.
JSON response
 {
"critical_urgency_incidents": {
   "incident_count": 1,
   "response_time": 4.88,
   "mean_resolution_time": 4.88,
   "longest_resolution_time": 4.88,
   "trend": [19, 32, 23, 28, 18, 16]
},
"high_urgency_incidents": {
   "incident_count": 0,
   "response_time": 0.0,
   "mean_resolution_time": 0,
   "longest_resolution_time": 0,
   "trend": [2, 5, 3, 9, 2, 0]
},
"longest_incidents": [{
   "organization_instance_id": 877,
   "task_title": "Security Check",
   "service_name": "Ops System Monitor",
   "duration": 4.87528615
}],
"loudest_services": [
   {
     "service_name": "Ops Contact Service",
     "count": 9
   },
   {
     "service_name": "Ops System Monitor",
     "count": 3
   }
],
"business_impact": [
   {
     "service_name": "Ops System Monitor",
     "count": 3,
     "business_services": ["HedgeServ EOD Positions"]
   }
],
"longest_business_impact": [
   {
     "organization_instance_id": 878,
     "task_title": "Secure Check Digital Hands",
     "created_on": "2022-07-07T18:46:13.671551",
     "urgency_level": 1,
     "service_name": "Ops System Monitor",
     "business_service_name": "HedgeServ EOD Positions",
     "duration": 5.25
   },
   {
     "organization_instance_id": 877,
     "task_title": "Security Check",
     "created_on": "2022-07-07T14:02:05.298113",
     "urgency_level": 5,
     "service_name": "Ops System Monitor",
     "business_service_name": "HedgeServ EOD Positions",
     "duration": 4.17
   },
   {
     "organization_instance_id": 876,
     "task_title": "Workflow Security Check",
     "created_on": "2022-07-07T13:55:50.010459",
     "urgency_level": 1,
     "service_name": "Ops System Monitor",
     "business_service_name": "HedgeServ EOD Positions",
     "duration": 3.68
   }
]
}
Business Impact Analytics

Get the impact analytics on business services from incidents.

/analytics/business-impact
POST

  • start_date: (string) Date to get the analytics from. Date format: YYYY-MM-DD
  • end_date: (string) Date to get the analytics till. Date format: YYYY-MM-DD
  • timezone: (string) Timezone to assess date and time data with. Example: UTC, US/Eastern, Europe/Madrid

  • teams: (list) Teams (list of IDs) to filter by.
  • tags: (list) Tags to filter by.
  • business_cost: (int) Cost to the business per hour of outage.
  • labor_cost: (int) Cost of labor per hour.
JSON response
 {
"incidents": {"total": 9, "trend": [4, 4, 6, 3, 1, 9]},
"downtime": {
   "total": 477.62,
   "trend": [541.65, 542.87, 639.12, 1.05, 117.77, 477.62]
},
"business_impact": {"total": 0, "trend": [2, 3, 3, 0, 1, 0]},
"business_impact_downtime": {
   "total": 0.0,
   "trend": [69.55, 269.31, 417.68, 0.0, 117.77, 0.0],
},
"business_cost": 0,
"labor_cost": 398,
"total_cost": 398,
"most_impacted_business_services": [],
"loudest_services": [
   {
     "service_name": "Ops Contact Service",
     "count": 9,
     "duration": 477.61581161666663,
     "downtime": 0,
     "labor_cost": 398,
     "business_cost": 0,
     "teams": ["Test Team"]
   }
],
"costliest_incidents": []
}
Team Analytics

Get team specific analytics.

/analytics/teams
POST

  • start_date: (string) Date to get the analytics from. Date format: YYYY-MM-DD
  • end_date: (string) Date to get the analytics till. Date format: YYYY-MM-DD
  • timezone: (string) Timezone to assess date and time data with. Example: UTC, US/Eastern, Europe/Madrid

  • teams: (list) Teams (list of IDs) to filter by.
  • tags: (list) Tags to filter by.
  • urgency_level: (list) List of urgency levels to filter by. TaskCall splits the urgency of an incident into 5 categories. Each category is identified on the API as a number between 1 and 5 with the severity increasing with larger numbers. The urgency levels are mapped as follows: 1: Minor, 2: Low, 3: Medium, 4: High, 5: Critical .
JSON response
 {
"incidents": {
   "daily": {
     "labels": ["07/01", "07/02", "07/03", "07/04", "07/05", "07/06", "07/07"],
     "data": [0, 3, 0, 0, 6, 0, 0],
   },
   "aggregate": {"labels": ["Test Team"], "data": [0.0], "average": 0.0}
},
"response_time": {
   "daily": {
     "labels": ["07/01", "07/02", "07/03", "07/04", "07/05", "07/06", "07/07"],
     "data": [0, 0.22974470055555554, 0, 0, 7.730518826388889, 0, 0],
   },
   "aggregate": {"labels": ["Test Team"], "data": [0.0], "average": 0.0}
},
"interruption_hours": {
   "daily": {
     "labels": ["07/01", "07/02", "07/03", "07/04", "07/05", "07/06", "07/07"],
     "data": [0, 0, 0, 0, 0, 0, 0],
   },
   "aggregate": {"labels": ["Test Team"], "data": [0.0], "average": 0.0}
},
"escalation_count": {
   "daily": {
     "labels": ["07/01", "07/02", "07/03", "07/04", "07/05", "07/06", "07/07"],
     "data": [0, 0, 0, 0, 0, 0, 0],
   },
   "aggregate": {"labels": ["Test Team"], "data": [0.0], "average": 0.0}
}
}
On this page