---
title: "Enable action policies in bulk by ID"
method: POST
path: "/api/alerting/v2/action_policies/_bulk_enable"
tags: ["alerting-v2"]
---

# Enable action policies in bulk by ID

`POST /api/alerting/v2/action_policies/_bulk_enable`

## Request

- Base URL: `https://localhost:5601`
- URL: `https://localhost:5601/api/alerting/v2/action_policies/_bulk_enable`
- Auth: one of:
  - API key in header `Authorization`
  - HTTP basic

**Spaces method and path for this operation:**

<div><span class="operation-verb post">post</span>&nbsp;<span class="operation-path">/s/{space_id}/api/alerting/v2/action_policies/_bulk_enable</span></div>

Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.

[Required authorization] Route required privileges: manage_alerting-v2-action-policies.

## Headers

- `kbn-xsrf` string, required

## Request body

- KibanaHTTPAPIsAlertingBulkByIdsRequest
  - `ids` string[], required: Explicit list of IDs to operate on. Each id can appear at most once.

## Response `200`

Returns the result of the bulk enable operation.

- KibanaHTTPAPIsAlertingBulkOperationResponse: Result of an executed bulk operation.
  - `affected_count` integer, required: Number of resources the operation successfully touched.
  - `errors` object[], required: Errors encountered during the operation.
    - `error` object, required
      - `code` string, required: Stable error code you can branch on, for example `INVALID_SCHEDULE` or `RULE_ALREADY_EXISTS`.
      - `details` object: Optional structured context whose keys depend on `code`. Identifier keys such as `rule_id`, `action_policy_id` and `group_hash` are stable, permanent public identifiers. On a 400 request-validation error, `details.source` (`params`, `query`, or `body`) names the failing part and is the only guaranteed key. The sibling `details.errors` may change. Do not branch on it.
      - `message` string, required: A readable explanation of the error. The wording can change without notice. Do not parse this field.
    - `id` string, required: The identifier of the resource that failed.

## Other responses

- `400`: Indicates an invalid schema or parameters.
- `401`: Indicates the request was not authenticated.
- `403`: Indicates the user does not have the required privileges, or the current license does not support action policies. Creating, updating, upserting, and enabling action policies requires an active Enterprise license. Reading, disabling, snoozing, deleting, and rotating the API key of an existing policy do not, so existing policies can still be maintained after a license lapses.
- `500`: Indicates an unexpected server-side error.
- `503`: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.

## Changes

> 266 revisions in range; 110 not diffed.

- **2026-08-17** `e9badbb5da99`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/elastic/apis/kibana-apis/changes/api/alerting/v2/action_policies/_bulk_enable/post.md)

---

[API](https://skmtc.dev/elastic/apis/kibana-apis.md) - [All operations](https://skmtc.dev/elastic/apis/kibana-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/elastic/apis/kibana-apis/revisions/b87131d80c52?raw)
