> ## Documentation Index
> Fetch the complete documentation index at: https://docs.molesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Act on incidents in bulk

> Acknowledge, resolve, snooze, reassign, or re-rate several incidents in one request.

```http theme={null}
POST /api/v1/alerts/incidents/bulk
```

Does one action to each incident in `ids`, one incident at a time: an incident that cannot be handled
does not stop the others. `action` names what to do, with the fields it needs beside it:

| `action` | Fields | Does what |
| - | - | - |
| `acknowledge` | None | As [Acknowledge an incident](https://docs.molesignal.com/en-US/api/alerting/ack-incident.md). |
| `resolve` | None | As [Resolve an incident](https://docs.molesignal.com/en-US/api/alerting/resolve-incident.md). |
| `snooze` | `duration_secs` | As [Snooze an incident](https://docs.molesignal.com/en-US/api/alerting/snooze-incident.md). |
| `reassign` | `to`, the body of [Reassign an incident](https://docs.molesignal.com/en-US/api/alerting/reassign-incident.md) | As that call. |
| `set_severity` | `severity` | As [Set an incident's severity](https://docs.molesignal.com/en-US/api/alerting/set-incident-severity.md). |

The call requires `alerts.incidents.acknowledge`, and each incident is checked as the single calls check it.
Merging is not a bulk action; use [Merge incidents](https://docs.molesignal.com/en-US/api/alerting/merge-incidents.md).

**Body**

| Field | Type | Required | Notes |
| - | - | - | - |
| `ids` | array | Yes | 1 to 100 incident IDs; repeated IDs count once. |
| `action` | string | Yes | `acknowledge`, `resolve`, `snooze`, `reassign`, or `set_severity`. |

```bash cURL theme={null}
curl -X POST http://localhost:5080/api/v1/alerts/incidents/bulk \
  -H "authorization: Bearer $MS_TOKEN" \
  -H "content-type: application/json" \
  -d '{"ids": ["<incident-id>", "<another-incident-id>"], "action": "snooze", "duration_secs": 3600}'
```

The response has one result per incident: `id`, and `error` when it was not handled, for example because it recovered or because `duration_secs` is out of range.

```json 200 theme={null}
{
  "results": [
    {
      "id": "3KEDNEyqouYJeBDTLTMTBui7XHW"
    },
    {
      "id": "3KEDQ4mJ8sLp2Xv6Nc1Rt9bYwHe",
      "error": "this incident is no longer active"
    }
  ]
}
```

**Errors**

| Status | Cause |
| - | - |
| `400` | `ids` is empty or has more than 100 incidents. |
| `403` | The token lacks `alerts.incidents.acknowledge`. |
| `422` | `action` is missing or unknown, or a field it needs is missing. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.