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.
- 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: .
- 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.
{
"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.
- 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.
[{
"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.
- 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.
{
"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.
- 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.
{
"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.
- 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.
{
"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.
- 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: .
{
"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}
}
}