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

# Manage alerts

`PUT https://api.pagerduty.com/incidents/{id}/alerts`

Resolve multiple alerts or associate them with different incidents.

An incident represents a problem or an issue that needs to be addressed and resolved. An alert represents a digital signal that was emitted to PagerDuty by the monitoring systems that detected or identified the issue.

A maximum of 250 alerts may be updated at a time. If more than this number of alerts are given, the API will respond with status 413 (Request Entity Too Large).

For more information see the [API Concepts Document](https://docs.pagerduty.com/developer/api-concepts#incidents)

Scoped OAuth requires: `incidents.write`

## Authorization

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

## Path parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `id` | string | yes | The ID of the resource. |

## Query parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `limit` | integer |  | The number of results per page. |
| `offset` | integer |  | Offset to start pagination search results. |
| `total` | boolean |  | By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated. See our [Pagination Docs](https://docs.pagerduty.com/developer/pagination) for more information. Default: `false`. |

## 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`. |
| `From` | string (email) | yes | The email address of a valid user associated with the account making the request. |

## Request body (`application/json`)

| Field | Type | Required | Description |
|---|---|---|---|
| `alerts` | array of object | yes | An array of alerts, including the parameters to update for each alert. |
| `alerts[].status` | string |  | One of: `resolved`, `triggered`. |
| `alerts[].incident` | object |  |  |
| `alerts[].incident.id` | string | yes |  |
| `alerts[].incident.type` | string |  | One of: `incident_reference`. |

Example: Request Example

```json
{
  "alerts": [
    {
      "id": "PPVZH9X",
      "type": "alert",
      "status": "resolved"
    },
    {
      "id": "P8JOGX7",
      "type": "alert",
      "incident": {
        "id": "PPVZH9X",
        "type": "incident_reference"
      }
    }
  ]
}
```

## Response 200

All of the updates succeeded.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `offset` | integer |  | Echoes offset pagination property. Read-only. |
| `limit` | integer |  | Echoes limit pagination property. Read-only. |
| `more` | boolean |  | Indicates if there are additional records to return. Read-only. |
| `total` | integer \| null |  | The total number of records matching the given query. Read-only. |
| `alerts` | array of object | yes |  |
| `alerts[].id` | string |  | Read-only. |
| `alerts[].summary` | string \| null |  | A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `name`, though it is not intended to be an identifier. Read-only. |
| `alerts[].type` | string | yes | The type of object being created. One of: `alert`. Default: `alert`. |
| `alerts[].self` | string \| null (url) |  | the API show URL at which the object is accessible. Read-only. |
| `alerts[].html_url` | string \| null (url) |  | a URL at which the entity is uniquely displayed in the Web app. Read-only. |
| `alerts[].created_at` | string (date-time) |  | The date/time the alert was first triggered. Read-only. |
| `alerts[].status` | string |  | The current status of the alert. One of: `triggered`, `resolved`. |
| `alerts[].alert_key` | string |  | The alert's de-duplication key. Read-only. |
| `alerts[].service` | object |  |  |
| `alerts[].service.id` | string | yes | Read-only. |
| `alerts[].service.summary` | string \| null |  | A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `name`, though it is not intended to be an identifier. Read-only. |
| `alerts[].service.type` | string | yes | One of: `service_reference`. |
| `alerts[].service.self` | string \| null (url) |  | the API show URL at which the object is accessible. Read-only. |
| `alerts[].service.html_url` | string \| null (url) |  | a URL at which the entity is uniquely displayed in the Web app. Read-only. |
| `alerts[].first_trigger_log_entry` | object |  |  |
| `alerts[].first_trigger_log_entry.id` | string | yes | Read-only. |
| `alerts[].first_trigger_log_entry.summary` | string \| null |  | A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `name`, though it is not intended to be an identifier. Read-only. |
| `alerts[].first_trigger_log_entry.type` | string | yes | One of: `acknowledge_log_entry_reference`, `annotate_log_entry_reference`, `assign_log_entry_reference`, `escalate_log_entry_reference`, `exhaust_escalation_path_log_entry_reference`, `notify_log_entry_reference`, `reach_trigger_limit_log_entry_reference`, `repeat_escalation_path_log_entry_reference`, `resolve_log_entry_reference`, `snooze_log_entry_reference`, `trigger_log_entry_reference`, `unacknowledge_log_entry_reference`. |
| `alerts[].first_trigger_log_entry.self` | string \| null (url) |  | the API show URL at which the object is accessible. Read-only. |
| `alerts[].first_trigger_log_entry.html_url` | string \| null (url) |  | a URL at which the entity is uniquely displayed in the Web app. Read-only. |
| `alerts[].incident` | object |  |  |
| `alerts[].incident.id` | string | yes | Read-only. |
| `alerts[].incident.summary` | string \| null |  | A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `name`, though it is not intended to be an identifier. Read-only. |
| `alerts[].incident.type` | string | yes | One of: `incident_reference`. |
| `alerts[].incident.self` | string \| null (url) |  | the API show URL at which the object is accessible. Read-only. |
| `alerts[].incident.html_url` | string \| null (url) |  | a URL at which the entity is uniquely displayed in the Web app. Read-only. |
| `alerts[].suppressed` | boolean |  | Whether or not an alert is suppressed. Suppressed alerts are not created with a parent incident. Read-only. Default: `false`. |
| `alerts[].severity` | string |  | The magnitude of the problem as reported by the monitoring tool. Read-only. One of: `info`, `warning`, `error`, `critical`. |
| `alerts[].integration` | object |  |  |
| `alerts[].integration.id` | string | yes | Read-only. |
| `alerts[].integration.summary` | string \| null |  | A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `name`, though it is not intended to be an identifier. Read-only. |
| `alerts[].integration.type` | string | yes | One of: `aws_cloudwatch_inbound_integration_reference`, `cloudkick_inbound_integration_reference`, `event_transformer_api_inbound_integration_reference`, `generic_email_inbound_integration_reference`, `generic_events_api_inbound_integration_reference`, `keynote_inbound_integration_reference`, `nagios_inbound_integration_reference`, `pingdom_inbound_integration_reference`, `sql_monitor_inbound_integration_reference`, `events_api_v2_inbound_integration_reference`, `inbound_integration_reference`. |
| `alerts[].integration.self` | string \| null (url) |  | the API show URL at which the object is accessible. Read-only. |
| `alerts[].integration.html_url` | string \| null (url) |  | a URL at which the entity is uniquely displayed in the Web app. Read-only. |
| `alerts[].body` | object |  | A JSON object containing data describing the alert. Read-only. |
| `alerts[].body.type` | string |  | The type of the body. One of: `alert_body`. |
| `alerts[].body.contexts` | array of object |  | Contexts to be included with the body such as links to graphs or images. Read-only. |
| `alerts[].body.contexts[].type` | string | yes | The type of context being attached to the incident. One of: `link`, `image`. |
| `alerts[].body.contexts[].href` | string |  | The link's target url. |
| `alerts[].body.contexts[].src` | string |  | The image's source url. |
| `alerts[].body.contexts[].text` | string |  | The alternate display for an image. |
| `alerts[].body.details` | object |  | An arbitrary JSON object or string containing any data explaining the nature of the alert. Read-only. |

Example: Response Example

```json
{
  "alerts": [
    {
      "id": "PT4KHLK",
      "type": "alert",
      "summary": "The server is on fire.",
      "self": "https://api.pagerduty.com/incidents/PT4KHLK/alerts/PXPGF42",
      "html_url": "https://subdomain.pagerduty.com/alerts/PXPGF42",
      "created_at": "2015-10-06T21:30:42Z",
      "status": "resolved",
      "alert_key": "baf7cf21b1da41b4b0221008339ff357",
      "service": {
        "id": "PIJ90N7",
        "type": "service_reference",
        "summary": "My Mail Service",
        "self": "https://api.pagerduty.com/services/PIJ90N7",
        "html_url": "https://subdomain.pagerduty.com/service-directory/PIJ90N7"
      },
      "body": {
        "type": "alert_body",
        "contexts": [
          {
            "type": "link"
          }
        ],
        "details": {
          "customKey": "Server is on fire!",
          "customKey2": "Other stuff!"
        }
      },
      "incident": {
        "id": "PPVZH9X",
        "type": "incident_reference"
      },
      "suppressed": false,
      "severity": "critical"
    }
  ],
  "limit": 1,
  "offset": 0,
  "more": true
}
```

## 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 413

Caller provided a request that is too large to process.

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