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

# List action items across all Incident Reviews

`GET https://api.pagerduty.com/incidents/reviews/action_items`

List the action items across every Incident Review on the account, oldest first by creation time.

Only action items on Incident Reviews the caller can see are returned. Each action item's `incident_id` identifies the Incident Review it belongs to.

This endpoint uses cursor pagination. Omit `cursor` for the first page, then pass the `next_cursor` from the previous response until it is `null`.

Scoped OAuth requires: `incident_reviews.read`

## Authorization

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

## Query parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `limit` | integer |  | The number of results per page. Default: `25`. Minimum: 1. Maximum: 100. |
| `cursor` | string |  | Optional parameter used to request the "next" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set. |
| `assignee` | array of string |  | Only return action items assigned to one of these Users. Repeat the parameter to pass more than one. |
| `assignee_not` | array of string |  | Exclude action items assigned to any of these Users. Repeat the parameter to pass more than one. |
| `assignee_not_empty` | boolean |  | When `true`, only return action items that are assigned to a User. |
| `status` | array of string |  | Only return action items with one of these statuses, for example `complete` or `incomplete`. Repeat the parameter to pass more than one. |
| `status_not` | array of string |  | Exclude action items with any of these statuses. Repeat the parameter to pass more than one. |
| `status_not_empty` | boolean |  | When `true`, only return action items that have a status set. |
| `created_since` | string (date-time) |  | Only return results created on or after this time. |
| `created_until` | string (date-time) |  | Only return results created on or before this time. |

## 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`. |

## Response 200

A page of action items across the account's Incident Reviews.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `action_items` | array of object | yes |  |
| `action_items[].id` | string |  | The unique identifier of the action item. Read-only. |
| `action_items[].incident_id` | string |  | The ID of the Incident whose Incident Review this action item belongs to. Read-only. |
| `action_items[].name` | string |  | The name of the action item. |
| `action_items[].description` | string \| null |  | A long-form description of the action item. |
| `action_items[].status` | string |  | The status of the action item on the Incident Review. |
| `action_items[].priority` | string \| null |  | The priority of the action item. |
| `action_items[].assignee` | string \| null |  | The ID of the User the action item is assigned to, or `null` if it is unassigned. |
| `action_items[].due_at` | string \| null (date-time) |  | The time the action item is due, or `null` if no due date is set. |
| `action_items[].type` | string \| null |  | The type of external tracker the action item is linked to, or `null` if it is not linked to one. Note that unlike most PagerDuty resources, this names an external tracker rather than identifying the schema of the object. |
| `action_items[].external_url` | string |  | The URL of the action item in the external tracker. Only present when `type` is `Jira`; omitted from the response otherwise. |
| `action_items[].ai_generated` | boolean |  | Whether this action item was generated by AI. Read-only. |
| `action_items[].created_by` | string \| null |  | The ID of the User who created the action item. `null` when it was created by PagerDuty Advance rather than by a User. Read-only. |
| `action_items[].created_at` | string (date-time) |  | The time the action item was created. Read-only. |
| `action_items[].completed_at` | string \| null (date-time) |  | The time the action item was completed, or `null` if it has not been completed. Read-only. |
| `limit` | integer |  | The number of results per page requested. |
| `more` | boolean |  | Whether more action items exist after this page. |
| `next_cursor` | string \| null |  | The cursor to pass as `cursor` to fetch the next page, or `null` on the last page. |

Example: Response Example

```json
{
  "action_items": [
    {
      "id": "AGOBAMKTT5Z3RO7CR7T2ZGSMJA",
      "incident_id": "P1234ABC",
      "name": "Update runbook",
      "description": "Add failover steps to the runbook",
      "status": "incomplete",
      "priority": "high",
      "assignee": "PABC123",
      "due_at": "2026-09-15T17:00:00Z",
      "type": "Jira",
      "external_url": "https://example.atlassian.net/browse/PROJ-123",
      "ai_generated": false,
      "created_by": "PUSER123",
      "created_at": "2026-09-01T20:00:00Z",
      "completed_at": null
    }
  ],
  "limit": 25,
  "more": false,
  "next_cursor": null
}
```

## Response 400

Caller provided invalid arguments. Please review the response for error details. Retrying with the same arguments will *not* work.

### `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 401

Caller did not supply credentials or did not provide the correct credentials.
If you are using an API key, it may be invalid or your Authorization header may be malformed.

### `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 403

Caller is not authorized to view the requested resource.
While your authentication is valid, the authenticated user or token does not have permission to perform this action.

### `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).
