> Documentation index for AI agents: https://docs.pagerduty.com/llms.txt

# Get raw incidents for a single responder_id

`POST https://api.pagerduty.com/analytics/raw/responders/{responder_id}/incidents`

Provides enriched incident data and metrics for a specific responder.

Example metrics include Mean Seconds to Resolve, Mean Seconds to Engage, Snoozed Seconds, and Sleep Hour Interruptions. Metric definitions can be found in our [Knowledge Base](https://support.pagerduty.com/docs/insights#incidents-list).

<!-- theme: info -->
> **Note:** Data availability reflects [pipeline processing cycles](https://support.pagerduty.com/main/docs/insights#:~:text=Data%20Update%20Schedule) and is generally within 24 hours under normal conditions.

Scoped OAuth requires: `analytics.write`

## Authorization

- **api_key** (apiKey) — `Authorization` header. The API Key with format `Token token=<API_KEY>`

## Path parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `responder_id` | string | yes | The ID of the responder. |

## Header parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `Accept` | string | yes | The `Accept` header is used as a versioning header. Default: `application/vnd.pagerduty+json;version=2`. |

## Request body (`application/json`)

Parameters and filters to apply to the dataset.

| Field | Type | Required | Description |
|---|---|---|---|
| `filters` | object |  | Filters the result, only show incidents that match the conditions passed in the filter. |
| `filters.created_at_start` | string |  | Filters the result, showing only the incidents where the creation timestamp is greater than the filter value. |
| `filters.created_at_end` | string |  | Filters the result, showing only the incidents where the creation timestamp is less than the filter value. |
| `filters.urgency` | string |  | Filters the result, showing only the incidents where urgency matches the filter value. |
| `filters.major` | boolean |  | An incident is classified as a [major incident](https://support.pagerduty.com/docs/operational-reviews#major-incidents) if it has one of the two highest priorities, or if multiple responders are added and acknowledge the incident. |
| `filters.team_ids` | array of string |  | An array of team IDs. Only incidents that are assigned to a member of these teams will be returned. Account must have the teams ability to use this parameter. |
| `filters.service_ids` | array of string |  | An array of service IDs. Only results related to these services will be returned. |
| `filters.priority_ids` | array of string |  | The priority_ids filter applied to the results. |
| `filters.priority_names` | array of string |  | The priority_names filter applied to the results. |
| `filters.incident_type_ids` | array of string |  | Filter incidents by specific incident type IDs. Only incidents matching the given IDs will be returned. |
| `starting_after` | string |  | A cursor to indicate the reference point that the results should follow. |
| `ending_before` | string |  | A cursor to indicate the reference point that the results should precede. |
| `order` | string |  | The order in which to display the results; asc for ascending, desc for descending. Defaults to `desc`. One of: `asc`, `desc`. |
| `order_by` | string |  | The column to use for ordering the results. Defaults to `incident_created_at`. One of: `incident_created_at`. |
| `limit` | integer |  | Number of results to include in each batch. Limits between 1 to 1000 are accepted. Greater than 0. Maximum: 1000. |
| `time_zone` | string |  | The time zone to use for the results. |

Example: Example Request

```json
{
  "filters": {
    "created_at_start": "2023-06-10T00:00:00-07:00",
    "created_at_end": "2023-06-11T23:59:59-07:00",
    "incident_type_ids": [
      "PIJ90N7",
      "PKL73Z2"
    ]
  },
  "responder_id": "PDUSER1",
  "limit": 100,
  "order": "asc",
  "order_by": "incident_created_at",
  "time_zone": "Etc/UTC"
}
```

## Response 200

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `first` | string |  | Cursor to identify the first object in the response. |
| `last` | string |  | Cursor to identify the last object in the response. |
| `responder_id` | string |  | The Responder ID passed into the request. |
| `limit` | integer |  | Number of results to include in the batch. |
| `order` | string |  | The order in which the results were sorted; asc for ascending, desc for descending. One of: `asc`, `desc`. |
| `order_by` | string |  | The column that was used for ordering the results. One of: `incident_created_at`. |
| `time_zone` | string |  | The time zone that the results are in. |
| `filters` | object |  | A collection of filters that were applied to the results. |
| `filters.created_at_start` | string |  | The lower boundary for the created_at range filter applied to the results. |
| `filters.created_at_end` | string |  | The upper boundary for the created_at range filter applied to the results. |
| `filters.urgency` | string |  | The urgency filter applied to the results. One of: `high`, `low`. |
| `filters.major` | boolean |  | The [major incident](https://support.pagerduty.com/docs/operational-reviews#major-incidents) filter applied to the results. |
| `filters.team_ids` | array of string |  | The team_ids filter applied to the results. |
| `filters.service_ids` | array of string |  | The service_ids filter applied to the results. |
| `filters.priority_ids` | array of string |  | The priority_ids filter applied to the results. Max items: 5. |
| `filters.priority_names` | array of string |  | The priority_names filter applied to the results. Max items: 5. |
| `filters.incident_type_ids` | array of string |  | The incident_type_ids filter applied to the results. |
| `data` | array of object |  |  |
| `data[].incident_created_at` | string |  | Timestamp of when the incident was created. |
| `data[].incident_description` | string |  | The incident description. |
| `data[].incident_id` | string |  | Incident ID. |
| `data[].incident_number` | integer |  | The PagerDuty incident number. |
| `data[].incident_priority_id` | string \| null |  | ID of the incident's priority level. |
| `data[].incident_priority_name` | string \| null |  | The user-provided short name of the priority. |
| `data[].incident_priority_order` | integer \| null |  | The numerical value used to sort priorities. Higher values are higher priority. |
| `data[].incident_urgency` | string |  | Notification level. |
| `data[].mean_time_to_acknowledge_seconds` | integer |  | Mean time from this user being assigned to an incident until this user acknowledges the incident. |
| `data[].responder_id` | string |  | ID of the responder. |
| `data[].responder_name` | string |  | Name of the responder. |
| `data[].service_id` | string |  | ID of the service that the incident triggered on. |
| `data[].service_name` | string |  | Name of the service that the incident triggered on. |
| `data[].service_team_id` | string \| null |  | ID of the team that owns the related service. |
| `data[].service_team_name` | string \| null |  | Name of the team that owns the related service. |
| `data[].total_acknowledgements` | integer |  | Total acknowledgements from the responder on the incident. |
| `data[].total_business_hour_interruptions` | integer |  | Total number of unique interruptions during business hours; 8am-6pm Mon-Fri, based on the user’s time zone. |
| `data[].total_engaged_seconds` | integer |  | Total engaged time across all responders for incidents. Engaged time is measured from the time a user engages with an incident (by acknowledging or accepting a responder request) until the incident is resolved. This may include periods in which the incidents were snoozed. |
| `data[].total_interruptions` | integer |  | Total number of unique interruptions for the responder during the incident. |
| `data[].total_manual_escalations_from` | integer |  | Total times the responder was manually escalated away from the incident. |
| `data[].total_manual_escalations_to` | integer |  | Total times the responder was manually escalated to the incident. |
| `data[].total_off_hour_interruptions` | string |  | Total number of unique interruptions during off hours; 6pm-10pm Mon-Fri and all day Sat-Sun, based on the user’s time zone. |
| `data[].total_reassignments_from` | integer |  | Total times the responder was reassigned away from the incident. |
| `data[].total_reassignments_to` | integer |  | Total times the responder was reassigned to the incident. |
| `data[].total_sleep_hour_interruptions` | integer |  | Total number of unique interruptions during sleep hours; 10pm-8am every day, based on the user’s time zone. |
| `data[].total_timeout_escalations_from` | integer |  | Total times the responder was escalated away from the incident due to timeout. |
| `data[].total_timeout_escalations_to` | integer |  | Total times the responder was escalated to the incident due to timeout. |

Example: Example Response

```json
{
  "responder_id": "PDUSER1",
  "limit": 100,
  "order": "asc",
  "order_by": "incident_created_at",
  "time_zone": "Etc/UTC",
  "data": [
    {
      "incident_created_at": "2023-06-10T22:08:35",
      "incident_description": 30,
      "incident_id": "QPDINCIDENT1",
      "incident_number": 123456,
      "incident_priority_id": "PZOZQXA",
      "incident_priority_name": "P1",
      "incident_priority_order": 67108864,
      "incident_urgency": 75,
      "mean_time_to_acknowledge_seconds": 2,
      "responder_id": "PDUSER1",
      "responder_name": "User 1",
      "service_id": "PDSERV1",
      "service_name": "Service 1",
      "service_team_id": "PDTEAM1",
      "service_team_name": "Team 1",
      "total_acknowledgements": 12,
      "total_business_hour_interruptions": 3,
      "total_engaged_seconds": 244,
      "total_interruptions": 2,
      "total_manual_escalations_from": 5,
      "total_manual_escalations_to": 1,
      "total_off_hour_interruptions": 0,
      "total_reassignments_from": 0,
      "total_reassignments_to": 0,
      "total_sleep_hour_interruptions": 0,
      "total_timeout_escalations_from": 0,
      "total_timeout_escalations_to": 0
    },
    {
      "incident_created_at": "2023-06-11T22:08:35",
      "incident_description": 30,
      "incident_id": "QPDINCIDENT2",
      "incident_number": 123456,
      "incident_priority_id": "PZOZQXA",
      "incident_priority_name": "P1",
      "incident_priority_order": 67108864,
      "incident_urgency": 75,
      "mean_time_to_acknowledge_seconds": 2,
      "responder_id": "PDUSER1",
      "responder_name": "User 1",
      "service_id": "PDSERV2",
      "service_name": "Service 2",
      "service_team_id": "PDTEAM1",
      "service_team_name": "Team 1",
      "total_acknowledgements": 12,
      "total_business_hour_interruptions": 3,
      "total_engaged_seconds": 945,
      "total_interruptions": 2,
      "total_manual_escalations_from": 5,
      "total_manual_escalations_to": 1,
      "total_off_hour_interruptions": 0,
      "total_reassignments_from": 0,
      "total_reassignments_to": 0,
      "total_sleep_hour_interruptions": 0,
      "total_timeout_escalations_from": 0,
      "total_timeout_escalations_to": 0
    }
  ]
}
```

## Response 404

The requested resource was not found.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `error` | object |  |  |
| `error.code` | integer |  | Read-only. |
| `error.message` | string |  | Error message string. Read-only. |
| `error.errors` | array of string |  | Read-only. |

## Response 429

Too many requests have been made, the rate limit has been reached.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `error` | object |  |  |
| `error.code` | integer |  | Read-only. |
| `error.message` | string |  | Error message string. Read-only. |
| `error.errors` | array of string |  | Read-only. |

## Developer Agreement

Your access to and use of the PagerDuty Developer Services is governed by the [PagerDuty Developer Agreement](https://docs.pagerduty.com/developer/pagerduty-developer-agreement).
