openapi: 3.2.0
info:
contact:
name: Kibana Team
description: 'The Kibana REST APIs enable you to manage resources such as connectors, data views, and saved objects.
The API calls are stateless.
Each request that you make happens in isolation from other calls and must include all of the necessary information for Kibana to fulfill the
request.
API requests return JSON output, which is a format that is machine-readable and works well for automation.
To interact with Kibana APIs, use the following operations:
- GET: Fetches the information.
- PATCH: Applies partial modifications to the existing information.
- POST: Adds new information.
- PUT: Updates the existing information.
- DELETE: Removes the information.
You can prepend any Kibana API endpoint with `kbn:` and run the request in **Dev Tools → Console**.
For example:
```
GET kbn:/api/data_views
```
For more information about the console, refer to [Run API requests](https://www.elastic.co/docs/explore-analyze/query-filter/tools/console).
NOTE: Access to internal Kibana API endpoints will be restricted in Kibana version 9.0. Please move any integrations to publicly documented APIs.
## Documentation source and versions
This documentation is derived from the `main` branch of the [kibana](https://github.com/elastic/kibana) repository.
It is provided under license [Attribution-NonCommercial-NoDerivatives 4.0 International](https://creativecommons.org/licenses/by-nc-nd/4.0/).
This documentation contains work-in-progress information for future Elastic Stack releases.
'
title: Kibana Alerting V2 API
version: ''
x-doc-license:
name: Attribution-NonCommercial-NoDerivatives 4.0 International
url: https://creativecommons.org/licenses/by-nc-nd/4.0/
x-feedbackLink:
label: Feedback
url: https://github.com/elastic/docs-content/issues/new?assignees=&labels=feedback%2Ccommunity&projects=&template=api-feedback.yaml&title=%5BFeedback%5D%3A+
servers:
- url: https://{kibana_url}
variables:
kibana_url:
default: localhost:5601
security:
- apiKeyAuth: []
- basicAuth: []
tags:
- name: alerting-v2
description: 'Alerting V2 is an ES|QL-first alerting API for managing rules, alert actions, and action policies. Use these endpoints to create and manage detection rules, act on alerts, and control when and how notifications are delivered. These APIs are experimental.
'
x-displayName: Alerting V2
paths:
/api/alerting/v2/action_policies:
get:
description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/alerting/v2/action_policies
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Get a paginated list of action policies with optional filtering and sorting.
[Required authorization] Route required privileges: read_alerting-v2-action-policies.'
operationId: get-alerting-v2-action-policies
parameters:
- description: The page number to return. Defaults to 1.
in: query
name: page
required: false
schema:
minimum: 1
type: number
- description: The number of action policies to return per page. Defaults to 20.
in: query
name: per_page
required: false
schema:
maximum: 100
minimum: 1
type: number
- description: A text string to search across action policy fields.
in: query
name: search
required: false
schema:
maxLength: 256
minLength: 1
type: string
- description: Filter by tags. Accepts a single string or an array.
in: query
name: tags
required: false
schema:
items:
maxLength: 128
minLength: 1
type: string
maxItems: 10
type: array
- description: Filter by enabled status. Accepts the strings true or false.
in: query
name: enabled
required: false
schema:
enum:
- 'true'
- 'false'
type: string
- description: The field to sort action policies by.
in: query
name: sort_field
required: false
schema:
enum:
- name
- created_at
- updated_at
type: string
- description: The sort direction.
in: query
name: sort_order
required: false
schema:
enum:
- asc
- desc
type: string
responses:
'200':
content:
application/json:
examples:
listActionPoliciesResponse:
summary: A page of action policies
value:
items:
- auth:
created_by_user: true
owner: elastic
created_at: '2026-01-15T12:00:00.000Z'
created_by: elastic
description: Sends a workflow notification when matching host alerts fire.
destinations:
- id: workflow-1
type: workflow
enabled: true
group_by: null
grouping_mode: per_episode
id: action-policy-1
matcher: 'host.name: "web-*"'
name: Notify on host alerts
snoozed_until: null
tags:
- production
throttle:
interval: null
strategy: on_status_change
updated_at: '2026-01-15T12:00:00.000Z'
updated_by: elastic
version: WzAsMV0=
page: 1
per_page: 20
total: 1
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_action_policy_list_response'
description: Returns a paginated list of action policies.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
page:
errors:
- 'Too small: expected number to be >=1'
error: Bad Request
message: 'page: Too small: expected number to be >=1'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: List action policies
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/action_policies
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Creates an action policy with a server-generated identifier. To create or replace an action policy with a client-supplied identifier, use PUT /api/alerting/v2/action_policies/.
[Required authorization] Route required privileges: manage_alerting-v2-action-policies AND read_alerting-v2-rules.'
operationId: post-alerting-v2-action-policies
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
requestBody:
content:
application/json:
examples:
createActionPolicyRequest:
summary: Workflow notification for matching host alerts
value:
description: Sends a workflow notification when matching host alerts fire.
destinations:
- id: workflow-1
type: workflow
grouping_mode: per_episode
matcher: 'host.name: "web-*"'
name: Notify on host alerts
tags:
- production
throttle:
strategy: on_status_change
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_new_action_policy'
responses:
'201':
content:
application/json:
examples:
createActionPolicyResponse:
summary: Newly created action policy
value:
auth:
created_by_user: true
owner: elastic
created_at: '2026-01-15T12:00:00.000Z'
created_by: elastic
description: Sends a workflow notification when matching host alerts fire.
destinations:
- id: workflow-1
type: workflow
enabled: true
group_by: null
grouping_mode: per_episode
id: action-policy-1
matcher: 'host.name: "web-*"'
name: Notify on host alerts
snoozed_until: null
tags:
- production
throttle:
interval: null
strategy: on_status_change
updated_at: '2026-01-15T12:00:00.000Z'
updated_by: elastic
version: WzAsMV0=
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_action_policy_response'
description: Returns the newly created action policy.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: INVALID_ACTION_POLICY_DATA
details:
context: create
errors:
errors: []
properties:
name:
errors:
- 'Invalid input: expected string, received undefined'
error: Bad Request
message: 'Error validating create action policy data - name: Invalid input: expected string, received undefined'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Create an action policy
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/action_policies/_bulk_delete:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/action_policies/_bulk_delete
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.'
operationId: post-alerting-v2-action-policies-bulk-delete
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
requestBody:
content:
application/json:
examples:
bulkDeleteActionPoliciesRequest:
summary: Delete two action policies by ID
value:
ids:
- action-policy-1
- action-policy-2
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_by_ids_request'
responses:
'200':
content:
application/json:
examples:
bulkDeleteActionPoliciesResponse:
summary: All targeted policies deleted
value:
affected_count: 2
errors: []
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_operation_response'
description: Returns the result of the bulk delete operation.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
ids:
errors:
- 'Invalid input: expected array, received undefined'
error: Bad Request
message: 'ids: Invalid input: expected array, received undefined'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Delete action policies in bulk by ID
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/action_policies/_bulk_disable:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/action_policies/_bulk_disable
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.'
operationId: post-alerting-v2-action-policies-bulk-disable
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
requestBody:
content:
application/json:
examples:
bulkDisableActionPoliciesRequest:
summary: Disable two action policies by ID
value:
ids:
- action-policy-1
- action-policy-2
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_by_ids_request'
responses:
'200':
content:
application/json:
examples:
bulkDisableActionPoliciesResponse:
summary: All targeted policies disabled
value:
affected_count: 2
errors: []
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_operation_response'
description: Returns the result of the bulk disable operation.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
ids:
errors:
- 'Invalid input: expected array, received undefined'
error: Bad Request
message: 'ids: Invalid input: expected array, received undefined'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Disable action policies in bulk by ID
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/action_policies/_bulk_enable:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/action_policies/_bulk_enable
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.'
operationId: post-alerting-v2-action-policies-bulk-enable
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
requestBody:
content:
application/json:
examples:
bulkEnableActionPoliciesRequest:
summary: Enable two action policies by ID
value:
ids:
- action-policy-1
- action-policy-2
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_by_ids_request'
responses:
'200':
content:
application/json:
examples:
bulkEnableActionPoliciesResponse:
summary: All targeted policies enabled
value:
affected_count: 2
errors: []
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_operation_response'
description: Returns the result of the bulk enable operation.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
ids:
errors:
- 'Invalid input: expected array, received undefined'
error: Bad Request
message: 'ids: Invalid input: expected array, received undefined'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Enable action policies in bulk by ID
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/action_policies/_bulk_snooze:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/action_policies/_bulk_snooze
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.'
operationId: post-alerting-v2-action-policies-bulk-snooze
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
requestBody:
content:
application/json:
examples:
bulkSnoozeActionPoliciesRequest:
summary: Snooze two action policies until a specific timestamp
value:
ids:
- action-policy-1
- action-policy-2
snoozed_until: '2026-01-16T12:00:00.000Z'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_snooze_action_policies_request'
responses:
'200':
content:
application/json:
examples:
bulkSnoozeActionPoliciesResponse:
summary: All targeted policies snoozed
value:
affected_count: 2
errors: []
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_operation_response'
description: Returns the result of the bulk snooze operation.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
snoozed_until:
errors:
- 'Invalid input: expected string, received undefined'
error: Bad Request
message: 'snoozed_until: Invalid input: expected string, received undefined'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Snooze action policies in bulk by ID
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/action_policies/_bulk_unsnooze:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/action_policies/_bulk_unsnooze
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.'
operationId: post-alerting-v2-action-policies-bulk-unsnooze
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
requestBody:
content:
application/json:
examples:
bulkUnsnoozeActionPoliciesRequest:
summary: Cancel snooze for two action policies by ID
value:
ids:
- action-policy-1
- action-policy-2
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_by_ids_request'
responses:
'200':
content:
application/json:
examples:
bulkUnsnoozeActionPoliciesResponse:
summary: All targeted policies unsnoozed
value:
affected_count: 2
errors: []
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_operation_response'
description: Returns the result of the bulk unsnooze operation.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
ids:
errors:
- 'Invalid input: expected array, received undefined'
error: Bad Request
message: 'ids: Invalid input: expected array, received undefined'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Cancel snooze for action policies in bulk by ID
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/action_policies/_bulk_update_api_key:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/action_policies/_bulk_update_api_key
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.'
operationId: post-alerting-v2-action-policies-bulk-update-api-key
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
requestBody:
content:
application/json:
examples:
bulkUpdateApiKeyActionPoliciesRequest:
summary: Rotate API keys for two action policies by ID
value:
ids:
- action-policy-1
- action-policy-2
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_by_ids_request'
responses:
'200':
content:
application/json:
examples:
bulkUpdateApiKeyActionPoliciesResponse:
summary: All targeted policies had their API keys rotated
value:
affected_count: 2
errors: []
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_operation_response'
description: Returns the result of the bulk API key rotation.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
ids:
errors:
- 'Invalid input: expected array, received undefined'
error: Bad Request
message: 'ids: Invalid input: expected array, received undefined'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Rotate API keys for action policies in bulk by ID
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/action_policies/_match_for_rule:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/action_policies/_match_for_rule
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Returns action policies that match a given rule, categorised as direct, global, or global-filtered.
[Required authorization] Route required privileges: read_alerting-v2-action-policies.'
operationId: post-alerting-v2-action-policies-match-for-rule
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
requestBody:
content:
application/json:
examples:
matchActionPoliciesForRuleRequest:
summary: Rule to match action policies against
value:
rule:
id: rule-1
name: Host CPU high
tags:
- production
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_match_action_policies_for_rule_request'
responses:
'200':
content:
application/json:
examples:
matchActionPoliciesForRuleResponse:
summary: Action policies matching the rule
value:
items:
- actionPolicy:
auth:
created_by_user: true
owner: elastic
created_at: '2026-01-15T12:00:00.000Z'
created_by: elastic
description: Sends a workflow notification when matching host alerts fire.
destinations:
- id: workflow-1
type: workflow
enabled: true
group_by: null
grouping_mode: per_episode
id: action-policy-1
matcher: 'host.name: "web-*"'
name: Notify on host alerts
snoozed_until: null
tags:
- production
throttle:
interval: null
strategy: on_status_change
updated_at: '2026-01-15T12:00:00.000Z'
updated_by: elastic
version: WzAsMV0=
category: global-filtered
total: 1
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_match_action_policies_for_rule_response'
description: Indicates a successful call.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
rule:
errors:
- 'Invalid input: expected object, received undefined'
error: Bad Request
message: 'rule: Invalid input: expected object, received undefined'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Match action policies for a rule
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/action_policies/{id}:
delete:
description: '**Spaces method and path for this operation:**
delete /s/{space_id}/api/alerting/v2/action_policies/{id}
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Delete an action policy by identifier.
[Required authorization] Route required privileges: manage_alerting-v2-action-policies.'
operationId: delete-alerting-v2-action-policies-id
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
- description: The action policy identifier.
in: path
name: id
required: true
schema:
maxLength: 150
minLength: 1
type: string
responses:
'204':
description: The action policy was deleted successfully.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
page:
errors:
- 'Too small: expected number to be >=1'
error: Bad Request
message: 'page: Too small: expected number to be >=1'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request failed schema validation.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
actionPolicyNotFound:
summary: Indicates an action policy with the given ID does not exist.
value:
code: ACTION_POLICY_NOT_FOUND
details:
action_policy_id: action-policy-1
error: Not Found
message: Action policy with id "action-policy-1" not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an action policy with the given ID does not exist.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Delete an action policy
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
get:
description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/alerting/v2/action_policies/{id}
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Get an action policy by identifier.
[Required authorization] Route required privileges: read_alerting-v2-action-policies.'
operationId: get-alerting-v2-action-policies-id
parameters:
- description: The action policy identifier.
in: path
name: id
required: true
schema:
maxLength: 150
minLength: 1
type: string
responses:
'200':
content:
application/json:
examples:
getActionPolicyResponse:
summary: An action policy
value:
auth:
created_by_user: true
owner: elastic
created_at: '2026-01-15T12:00:00.000Z'
created_by: elastic
description: Sends a workflow notification when matching host alerts fire.
destinations:
- id: workflow-1
type: workflow
enabled: true
group_by: null
grouping_mode: per_episode
id: action-policy-1
matcher: 'host.name: "web-*"'
name: Notify on host alerts
snoozed_until: null
tags:
- production
throttle:
interval: null
strategy: on_status_change
updated_at: '2026-01-15T12:00:00.000Z'
updated_by: elastic
version: WzAsMV0=
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_action_policy_response'
description: Returns the requested action policy.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
page:
errors:
- 'Too small: expected number to be >=1'
error: Bad Request
message: 'page: Too small: expected number to be >=1'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request failed schema validation.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
actionPolicyNotFound:
summary: Indicates an action policy with the given ID does not exist.
value:
code: ACTION_POLICY_NOT_FOUND
details:
action_policy_id: action-policy-1
error: Not Found
message: Action policy with id "action-policy-1" not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an action policy with the given ID does not exist.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Get an action policy
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
patch:
description: '**Spaces method and path for this operation:**
patch /s/{space_id}/api/alerting/v2/action_policies/{id}
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Apply a partial update to an existing action policy. Fields not present in the body are left unchanged.
[Required authorization] Route required privileges: manage_alerting-v2-action-policies.'
operationId: patch-alerting-v2-action-policies-id
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
- description: The action policy identifier.
in: path
name: id
required: true
schema:
maxLength: 150
minLength: 1
type: string
requestBody:
content:
application/json:
examples:
updateActionPolicyRequest:
summary: Rename and update the description
value:
description: Updated description.
name: Notify on host alerts (updated)
version: WzAsMV0=
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_update_action_policy'
responses:
'200':
content:
application/json:
examples:
updateActionPolicyResponse:
summary: Updated action policy
value:
auth:
created_by_user: true
owner: elastic
created_at: '2026-01-15T12:00:00.000Z'
created_by: elastic
description: Updated description.
destinations:
- id: workflow-1
type: workflow
enabled: true
group_by: null
grouping_mode: per_episode
id: action-policy-1
matcher: 'host.name: "web-*"'
name: Notify on host alerts (updated)
snoozed_until: null
tags:
- production
throttle:
interval: null
strategy: on_status_change
updated_at: '2026-01-15T12:00:00.000Z'
updated_by: elastic
version: WzAsMV0=
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_action_policy_response'
description: Returns the updated action policy.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: INVALID_ACTION_POLICY_DATA
details:
context: update
errors:
errors: []
properties:
name:
errors:
- 'Invalid input: expected string, received undefined'
error: Bad Request
message: 'Error validating update action policy data - name: Invalid input: expected string, received undefined'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
actionPolicyNotFound:
summary: Indicates an action policy with the given ID does not exist.
value:
code: ACTION_POLICY_NOT_FOUND
details:
action_policy_id: action-policy-1
error: Not Found
message: Action policy with id "action-policy-1" not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an action policy with the given ID does not exist.
'409':
content:
application/json:
examples:
actionPolicyVersionConflict:
summary: Indicates the action policy was concurrently updated by another caller.
value:
code: ACTION_POLICY_VERSION_CONFLICT
details:
action_policy_id: action-policy-1
error: Conflict
message: Action policy with id "action-policy-1" has already been updated by another user
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the action policy was concurrently updated by another caller.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Partially update an action policy.
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
put:
description: '**Spaces method and path for this operation:**
put /s/{space_id}/api/alerting/v2/action_policies/{id}
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Creates an action policy with the given identifier, or fully replaces it if one already exists.
[Required authorization] Route required privileges: manage_alerting-v2-action-policies AND read_alerting-v2-rules.'
operationId: put-alerting-v2-action-policies-id
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
- description: The identifier for the action policy.
in: path
name: id
required: true
schema:
maxLength: 150
minLength: 1
type: string
requestBody:
content:
application/json:
examples:
upsertActionPolicyRequest:
summary: Action policy to create or replace at the given id
value:
description: Sends a workflow notification when matching host alerts fire.
destinations:
- id: workflow-1
type: workflow
grouping_mode: per_episode
matcher: 'host.name: "web-*"'
name: Notify on host alerts
tags:
- production
throttle:
strategy: on_status_change
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_new_action_policy'
responses:
'200':
content:
application/json:
examples:
upsertActionPolicyReplacedResponse:
summary: Replaced an existing action policy
value:
auth:
created_by_user: true
owner: elastic
created_at: '2026-01-15T12:00:00.000Z'
created_by: elastic
description: Sends a workflow notification when matching host alerts fire.
destinations:
- id: workflow-1
type: workflow
enabled: true
group_by: null
grouping_mode: per_episode
id: action-policy-1
matcher: 'host.name: "web-*"'
name: Notify on host alerts
snoozed_until: null
tags:
- production
throttle:
interval: null
strategy: on_status_change
updated_at: '2026-01-15T12:00:00.000Z'
updated_by: elastic
version: WzAsMV0=
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_action_policy_response'
description: Returns the replaced action policy.
'201':
content:
application/json:
examples:
upsertActionPolicyCreatedResponse:
summary: Created a new action policy
value:
auth:
created_by_user: true
owner: elastic
created_at: '2026-01-15T12:00:00.000Z'
created_by: elastic
description: Sends a workflow notification when matching host alerts fire.
destinations:
- id: workflow-1
type: workflow
enabled: true
group_by: null
grouping_mode: per_episode
id: action-policy-1
matcher: 'host.name: "web-*"'
name: Notify on host alerts
snoozed_until: null
tags:
- production
throttle:
interval: null
strategy: on_status_change
updated_at: '2026-01-15T12:00:00.000Z'
updated_by: elastic
version: WzAsMV0=
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_action_policy_response'
description: Returns the newly created action policy.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: INVALID_ACTION_POLICY_DATA
details:
context: upsert
errors:
errors: []
properties:
name:
errors:
- 'Invalid input: expected string, received undefined'
error: Bad Request
message: 'Error validating upsert action policy data - name: Invalid input: expected string, received undefined'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
actionPolicyNotFound:
summary: Indicates an action policy with the given ID does not exist.
value:
code: ACTION_POLICY_NOT_FOUND
details:
action_policy_id: action-policy-1
error: Not Found
message: Action policy with id "action-policy-1" not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an action policy with the given ID does not exist.
'409':
content:
application/json:
examples:
actionPolicyVersionConflict:
summary: Indicates the action policy was concurrently updated by another caller.
value:
code: ACTION_POLICY_VERSION_CONFLICT
details:
action_policy_id: action-policy-1
error: Conflict
message: Action policy with id "action-policy-1" has already been updated by another user
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the action policy was created or updated concurrently by another caller.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Create or replace an action policy
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/action_policies/{id}/_disable:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/action_policies/{id}/_disable
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Disable an action policy by identifier.
[Required authorization] Route required privileges: manage_alerting-v2-action-policies.'
operationId: post-alerting-v2-action-policies-id-disable
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
- description: The action policy identifier.
in: path
name: id
required: true
schema:
maxLength: 150
minLength: 1
type: string
responses:
'200':
content:
application/json:
examples:
disableActionPolicyResponse:
summary: Disabled action policy
value:
auth:
created_by_user: true
owner: elastic
created_at: '2026-01-15T12:00:00.000Z'
created_by: elastic
description: Sends a workflow notification when matching host alerts fire.
destinations:
- id: workflow-1
type: workflow
enabled: false
group_by: null
grouping_mode: per_episode
id: action-policy-1
matcher: 'host.name: "web-*"'
name: Notify on host alerts
snoozed_until: null
tags:
- production
throttle:
interval: null
strategy: on_status_change
updated_at: '2026-01-15T12:00:00.000Z'
updated_by: elastic
version: WzAsMV0=
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_action_policy_response'
description: Returns the disabled action policy.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
page:
errors:
- 'Too small: expected number to be >=1'
error: Bad Request
message: 'page: Too small: expected number to be >=1'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request failed schema validation.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
actionPolicyNotFound:
summary: Indicates an action policy with the given ID does not exist.
value:
code: ACTION_POLICY_NOT_FOUND
details:
action_policy_id: action-policy-1
error: Not Found
message: Action policy with id "action-policy-1" not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an action policy with the given ID does not exist.
'409':
content:
application/json:
examples:
actionPolicyVersionConflict:
summary: Indicates the action policy was concurrently updated by another caller.
value:
code: ACTION_POLICY_VERSION_CONFLICT
details:
action_policy_id: action-policy-1
error: Conflict
message: Action policy with id "action-policy-1" has already been updated by another user
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the action policy was concurrently updated by another caller.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Disable an action policy
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/action_policies/{id}/_enable:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/action_policies/{id}/_enable
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Enable an action policy by identifier.
[Required authorization] Route required privileges: manage_alerting-v2-action-policies.'
operationId: post-alerting-v2-action-policies-id-enable
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
- description: The action policy identifier.
in: path
name: id
required: true
schema:
maxLength: 150
minLength: 1
type: string
responses:
'200':
content:
application/json:
examples:
enableActionPolicyResponse:
summary: Enabled action policy
value:
auth:
created_by_user: true
owner: elastic
created_at: '2026-01-15T12:00:00.000Z'
created_by: elastic
description: Sends a workflow notification when matching host alerts fire.
destinations:
- id: workflow-1
type: workflow
enabled: true
group_by: null
grouping_mode: per_episode
id: action-policy-1
matcher: 'host.name: "web-*"'
name: Notify on host alerts
snoozed_until: null
tags:
- production
throttle:
interval: null
strategy: on_status_change
updated_at: '2026-01-15T12:00:00.000Z'
updated_by: elastic
version: WzAsMV0=
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_action_policy_response'
description: Returns the enabled action policy.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
page:
errors:
- 'Too small: expected number to be >=1'
error: Bad Request
message: 'page: Too small: expected number to be >=1'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request failed schema validation.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
actionPolicyNotFound:
summary: Indicates an action policy with the given ID does not exist.
value:
code: ACTION_POLICY_NOT_FOUND
details:
action_policy_id: action-policy-1
error: Not Found
message: Action policy with id "action-policy-1" not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an action policy with the given ID does not exist.
'409':
content:
application/json:
examples:
actionPolicyVersionConflict:
summary: Indicates the action policy was concurrently updated by another caller.
value:
code: ACTION_POLICY_VERSION_CONFLICT
details:
action_policy_id: action-policy-1
error: Conflict
message: Action policy with id "action-policy-1" has already been updated by another user
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the action policy was concurrently updated by another caller.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Enable an action policy
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/action_policies/{id}/_snooze:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/action_policies/{id}/_snooze
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Snooze an action policy until a specified time.
[Required authorization] Route required privileges: manage_alerting-v2-action-policies.'
operationId: post-alerting-v2-action-policies-id-snooze
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
- description: The action policy identifier.
in: path
name: id
required: true
schema:
maxLength: 150
minLength: 1
type: string
requestBody:
content:
application/json:
examples:
snoozeActionPolicyRequest:
summary: Snooze until a specific timestamp
value:
snoozed_until: '2026-01-16T12:00:00.000Z'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_snooze_action_policy_request'
responses:
'200':
content:
application/json:
examples:
snoozeActionPolicyResponse:
summary: Snoozed action policy
value:
auth:
created_by_user: true
owner: elastic
created_at: '2026-01-15T12:00:00.000Z'
created_by: elastic
description: Sends a workflow notification when matching host alerts fire.
destinations:
- id: workflow-1
type: workflow
enabled: true
group_by: null
grouping_mode: per_episode
id: action-policy-1
matcher: 'host.name: "web-*"'
name: Notify on host alerts
snoozed_until: '2026-01-16T12:00:00.000Z'
tags:
- production
throttle:
interval: null
strategy: on_status_change
updated_at: '2026-01-15T12:00:00.000Z'
updated_by: elastic
version: WzAsMV0=
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_action_policy_response'
description: Returns the snoozed action policy.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
snoozed_until:
errors:
- 'Invalid input: expected string, received undefined'
error: Bad Request
message: 'snoozed_until: Invalid input: expected string, received undefined'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
actionPolicyNotFound:
summary: Indicates an action policy with the given ID does not exist.
value:
code: ACTION_POLICY_NOT_FOUND
details:
action_policy_id: action-policy-1
error: Not Found
message: Action policy with id "action-policy-1" not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an action policy with the given ID does not exist.
'409':
content:
application/json:
examples:
actionPolicyVersionConflict:
summary: Indicates the action policy was concurrently updated by another caller.
value:
code: ACTION_POLICY_VERSION_CONFLICT
details:
action_policy_id: action-policy-1
error: Conflict
message: Action policy with id "action-policy-1" has already been updated by another user
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the action policy was concurrently updated by another caller.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Snooze an action policy
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/action_policies/{id}/_unsnooze:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/action_policies/{id}/_unsnooze
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Remove the snooze from an action policy.
[Required authorization] Route required privileges: manage_alerting-v2-action-policies.'
operationId: post-alerting-v2-action-policies-id-unsnooze
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
- description: The action policy identifier.
in: path
name: id
required: true
schema:
maxLength: 150
minLength: 1
type: string
responses:
'200':
content:
application/json:
examples:
unsnoozeActionPolicyResponse:
summary: Unsnoozed action policy
value:
auth:
created_by_user: true
owner: elastic
created_at: '2026-01-15T12:00:00.000Z'
created_by: elastic
description: Sends a workflow notification when matching host alerts fire.
destinations:
- id: workflow-1
type: workflow
enabled: true
group_by: null
grouping_mode: per_episode
id: action-policy-1
matcher: 'host.name: "web-*"'
name: Notify on host alerts
snoozed_until: null
tags:
- production
throttle:
interval: null
strategy: on_status_change
updated_at: '2026-01-15T12:00:00.000Z'
updated_by: elastic
version: WzAsMV0=
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_action_policy_response'
description: Returns the unsnoozed action policy.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
page:
errors:
- 'Too small: expected number to be >=1'
error: Bad Request
message: 'page: Too small: expected number to be >=1'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request failed schema validation.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
actionPolicyNotFound:
summary: Indicates an action policy with the given ID does not exist.
value:
code: ACTION_POLICY_NOT_FOUND
details:
action_policy_id: action-policy-1
error: Not Found
message: Action policy with id "action-policy-1" not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an action policy with the given ID does not exist.
'409':
content:
application/json:
examples:
actionPolicyVersionConflict:
summary: Indicates the action policy was concurrently updated by another caller.
value:
code: ACTION_POLICY_VERSION_CONFLICT
details:
action_policy_id: action-policy-1
error: Conflict
message: Action policy with id "action-policy-1" has already been updated by another user
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the action policy was concurrently updated by another caller.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Unsnooze an action policy
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/action_policies/{id}/_update_api_key:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/action_policies/{id}/_update_api_key
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Rotate the API key for an action policy.
[Required authorization] Route required privileges: manage_alerting-v2-action-policies.'
operationId: post-alerting-v2-action-policies-id-update-api-key
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
- description: The action policy identifier.
in: path
name: id
required: true
schema:
maxLength: 150
minLength: 1
type: string
responses:
'204':
description: Returns the action policy with the updated API key.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
page:
errors:
- 'Too small: expected number to be >=1'
error: Bad Request
message: 'page: Too small: expected number to be >=1'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request failed schema validation.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
actionPolicyNotFound:
summary: Indicates an action policy with the given ID does not exist.
value:
code: ACTION_POLICY_NOT_FOUND
details:
action_policy_id: action-policy-1
error: Not Found
message: Action policy with id "action-policy-1" not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an action policy with the given ID does not exist.
'409':
content:
application/json:
examples:
actionPolicyVersionConflict:
summary: Indicates the action policy was concurrently updated by another caller.
value:
code: ACTION_POLICY_VERSION_CONFLICT
details:
action_policy_id: action-policy-1
error: Conflict
message: Action policy with id "action-policy-1" has already been updated by another user
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the action policy was concurrently updated by another caller.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Update an action policy API key
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/action_policies/tags:
get:
description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/alerting/v2/action_policies/tags
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Get unique tags used across action policies.
[Required authorization] Route required privileges: read_alerting-v2-action-policies.'
operationId: get-alerting-v2-action-policies-tags
parameters:
- description: Prefix to filter tags by. Returns all most-used tags when omitted.
in: query
name: search
required: false
schema:
maxLength: 256
type: string
responses:
'200':
content:
application/json:
examples:
actionPolicyTagsResponse:
summary: Action policy tags
value:
tags:
- production
- critical
- hosts
schema:
additionalProperties: false
description: All unique tags across action policies.
type: object
properties:
tags:
description: The list of unique tags.
items:
type: string
type: array
required:
- tags
description: Returns the action policy tags.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
search:
errors:
- 'Too big: expected string to have <=256 characters'
error: Bad Request
message: 'search: Too big: expected string to have <=256 characters'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Get action policy tags
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/alerts/_bulk_action:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/alerts/_bulk_action
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Create actions for multiple alert groups in a single request.
[Required authorization] Route required privileges: manage_alerting-v2-alerts.'
operationId: post-alerting-v2-alerts-bulk-action
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
requestBody:
content:
application/json:
examples:
bulkCreateAlertActionRequest:
summary: Acknowledge one episode and tag another alert group
value:
- action_type: ack
episode_id: episode-1
group_hash: group-hash-1
- action_type: tag
group_hash: group-hash-2
tags:
- production
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_create_alert_actions_request'
responses:
'200':
content:
application/json:
examples:
bulkCreateAlertActionResponse:
summary: Both actions processed successfully
value:
affected_count: 2
errors: []
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_operation_response'
description: Returns the number of created actions and per-item errors for actions that were not created.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Bulk body is an empty array
value:
code: BAD_REQUEST
details:
errors:
? ''
: - At least one action must be provided
error: Bad Request
message: At least one action must be provided
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Bulk create alert actions
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/alerts/{group_hash}/_ack:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/alerts/{group_hash}/_ack
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Create an action for a specific alert group.
[Required authorization] Route required privileges: manage_alerting-v2-alerts.'
operationId: post-alerting-v2-alerts-group-hash-ack
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
- description: Hash identifying the alert group to apply the action to.
in: path
name: group_hash
required: true
schema:
maxLength: 256
minLength: 1
type: string
requestBody:
content:
application/json:
examples:
createAckAlertActionRequest:
summary: Acknowledge episode episode-1
value:
episode_id: episode-1
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_new_ack_alert_action'
responses:
'204':
description: Returns the newly created alert action.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Path is missing required group_hash
value:
code: BAD_REQUEST
details:
errors:
group_hash:
- Required
error: Bad Request
message: 'group_hash: Required'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
alertEventNotFound:
summary: No alert event exists for the given group_hash and episode_id
value:
code: ALERT_EVENT_NOT_FOUND
details:
episode_id: episode-1
group_hash: group-hash-1
error: Not Found
message: Alert event with group_hash [group-hash-1] and episode_id [episode-1] not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alert event was not found.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Acknowledge an alert
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/alerts/{group_hash}/_activate:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/alerts/{group_hash}/_activate
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Create an action for a specific alert group.
[Required authorization] Route required privileges: manage_alerting-v2-alerts.'
operationId: post-alerting-v2-alerts-group-hash-activate
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
- description: Hash identifying the alert group to apply the action to.
in: path
name: group_hash
required: true
schema:
maxLength: 256
minLength: 1
type: string
requestBody:
content:
application/json:
examples:
createActivateAlertActionRequest:
summary: Activate with a reason
value:
reason: Issue reappeared after silence window.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_new_activate_alert_action'
responses:
'204':
description: Returns the newly created alert action.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Cannot activate an already-active episode
value:
code: INVALID_EPISODE_STATE_TRANSITION
details:
action_type: activate
episode_id: episode-1
episode_status: active
group_hash: group-hash-1
error: Bad Request
message: Cannot activate episode [episode-1]. It is already active
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
alertEventNotFound:
summary: No alert event exists for the given group_hash and episode_id
value:
code: ALERT_EVENT_NOT_FOUND
details:
episode_id: episode-1
group_hash: group-hash-1
error: Not Found
message: Alert event with group_hash [group-hash-1] and episode_id [episode-1] not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alert event was not found.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Activate an alert
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/alerts/{group_hash}/_assign:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/alerts/{group_hash}/_assign
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Create an action for a specific alert group.
[Required authorization] Route required privileges: manage_alerting-v2-alerts.'
operationId: post-alerting-v2-alerts-group-hash-assign
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
- description: Hash identifying the alert group to apply the action to.
in: path
name: group_hash
required: true
schema:
maxLength: 256
minLength: 1
type: string
requestBody:
content:
application/json:
examples:
createAssignAlertActionRequest:
summary: Assign episode episode-1 to user u_abc123
value:
assignee_uid: u_abc123
episode_id: episode-1
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_new_assign_alert_action'
responses:
'204':
description: Returns the newly created alert action.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Path is missing required group_hash
value:
code: BAD_REQUEST
details:
errors:
group_hash:
- Required
error: Bad Request
message: 'group_hash: Required'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
alertEventNotFound:
summary: No alert event exists for the given group_hash and episode_id
value:
code: ALERT_EVENT_NOT_FOUND
details:
episode_id: episode-1
group_hash: group-hash-1
error: Not Found
message: Alert event with group_hash [group-hash-1] and episode_id [episode-1] not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alert event was not found.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Assign an alert to a user
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/alerts/{group_hash}/_deactivate:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/alerts/{group_hash}/_deactivate
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Create an action for a specific alert group.
[Required authorization] Route required privileges: manage_alerting-v2-alerts.'
operationId: post-alerting-v2-alerts-group-hash-deactivate
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
- description: Hash identifying the alert group to apply the action to.
in: path
name: group_hash
required: true
schema:
maxLength: 256
minLength: 1
type: string
requestBody:
content:
application/json:
examples:
createDeactivateAlertActionRequest:
summary: Deactivate as a false positive
value:
reason: False positive confirmed by on-call.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_new_deactivate_alert_action'
responses:
'204':
description: Returns the newly created alert action.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Cannot deactivate an already-inactive episode
value:
code: INVALID_EPISODE_STATE_TRANSITION
details:
action_type: deactivate
episode_id: episode-1
episode_status: inactive
group_hash: group-hash-1
error: Bad Request
message: Cannot deactivate episode [episode-1]. It is already inactive
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
alertEventNotFound:
summary: No alert event exists for the given group_hash and episode_id
value:
code: ALERT_EVENT_NOT_FOUND
details:
episode_id: episode-1
group_hash: group-hash-1
error: Not Found
message: Alert event with group_hash [group-hash-1] and episode_id [episode-1] not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alert event was not found.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Deactivate an alert
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/alerts/{group_hash}/_snooze:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/alerts/{group_hash}/_snooze
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Create an action for a specific alert group.
[Required authorization] Route required privileges: manage_alerting-v2-alerts.'
operationId: post-alerting-v2-alerts-group-hash-snooze
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
- description: Hash identifying the alert group to apply the action to.
in: path
name: group_hash
required: true
schema:
maxLength: 256
minLength: 1
type: string
requestBody:
content:
application/json:
examples:
createSnoozeAlertActionRequest:
summary: Snooze until 2026-01-16T12:00:00.000Z
value:
expiry: '2026-01-16T12:00:00.000Z'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_new_snooze_alert_action'
responses:
'204':
description: Returns the newly created alert action.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Path is missing required group_hash
value:
code: BAD_REQUEST
details:
errors:
group_hash:
- Required
error: Bad Request
message: 'group_hash: Required'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
alertEventNotFound:
summary: No alert event exists for the given group_hash and episode_id
value:
code: ALERT_EVENT_NOT_FOUND
details:
episode_id: episode-1
group_hash: group-hash-1
error: Not Found
message: Alert event with group_hash [group-hash-1] and episode_id [episode-1] not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alert event was not found.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Snooze an alert
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/alerts/{group_hash}/_tag:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/alerts/{group_hash}/_tag
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Create an action for a specific alert group.
[Required authorization] Route required privileges: manage_alerting-v2-alerts.'
operationId: post-alerting-v2-alerts-group-hash-tag
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
- description: Hash identifying the alert group to apply the action to.
in: path
name: group_hash
required: true
schema:
maxLength: 256
minLength: 1
type: string
requestBody:
content:
application/json:
examples:
createTagAlertActionRequest:
summary: Tag the alert with production and investigating
value:
tags:
- production
- investigating
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_new_tag_alert_action'
responses:
'204':
description: Returns the newly created alert action.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Path is missing required group_hash
value:
code: BAD_REQUEST
details:
errors:
group_hash:
- Required
error: Bad Request
message: 'group_hash: Required'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
alertEventNotFound:
summary: No alert event exists for the given group_hash and episode_id
value:
code: ALERT_EVENT_NOT_FOUND
details:
episode_id: episode-1
group_hash: group-hash-1
error: Not Found
message: Alert event with group_hash [group-hash-1] and episode_id [episode-1] not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alert event was not found.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Add tags to an alert
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/alerts/{group_hash}/_unack:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/alerts/{group_hash}/_unack
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Create an action for a specific alert group.
[Required authorization] Route required privileges: manage_alerting-v2-alerts.'
operationId: post-alerting-v2-alerts-group-hash-unack
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
- description: Hash identifying the alert group to apply the action to.
in: path
name: group_hash
required: true
schema:
maxLength: 256
minLength: 1
type: string
requestBody:
content:
application/json:
examples:
createUnackAlertActionRequest:
summary: Unacknowledge episode episode-1
value:
episode_id: episode-1
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_new_unack_alert_action'
responses:
'204':
description: Returns the newly created alert action.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Path is missing required group_hash
value:
code: BAD_REQUEST
details:
errors:
group_hash:
- Required
error: Bad Request
message: 'group_hash: Required'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
alertEventNotFound:
summary: No alert event exists for the given group_hash and episode_id
value:
code: ALERT_EVENT_NOT_FOUND
details:
episode_id: episode-1
group_hash: group-hash-1
error: Not Found
message: Alert event with group_hash [group-hash-1] and episode_id [episode-1] not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alert event was not found.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Unacknowledge an alert
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/alerts/{group_hash}/_unsnooze:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/alerts/{group_hash}/_unsnooze
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Create an action for a specific alert group.
[Required authorization] Route required privileges: manage_alerting-v2-alerts.'
operationId: post-alerting-v2-alerts-group-hash-unsnooze
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
- description: Hash identifying the alert group to apply the action to.
in: path
name: group_hash
required: true
schema:
maxLength: 256
minLength: 1
type: string
requestBody:
content:
application/json:
examples:
createUnsnoozeAlertActionRequest:
summary: Clear the current snooze
value: {}
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_new_unsnooze_alert_action'
responses:
'204':
description: Returns the newly created alert action.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Path is missing required group_hash
value:
code: BAD_REQUEST
details:
errors:
group_hash:
- Required
error: Bad Request
message: 'group_hash: Required'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
alertEventNotFound:
summary: No alert event exists for the given group_hash and episode_id
value:
code: ALERT_EVENT_NOT_FOUND
details:
episode_id: episode-1
group_hash: group-hash-1
error: Not Found
message: Alert event with group_hash [group-hash-1] and episode_id [episode-1] not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alert event was not found.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Unsnooze an alert
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/execution_history/action_policies:
get:
description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/alerting/v2/execution_history/action_policies
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Get a paginated list of dispatcher summary events for action policies in the current space.
[Required authorization] Route required privileges: read_alerting-v2-execution-history.'
operationId: get-alerting-v2-execution-history-action-policies
parameters:
- description: Page number (1-indexed). Defaults to 1.
in: query
name: page
required: false
schema:
maximum: 10000
minimum: 1
type: integer
- description: Number of events per page. Defaults to 20. Pass 0 for a count-only read.
in: query
name: per_page
required: false
schema:
maximum: 100
minimum: 0
type: integer
- description: Inclusive ISO datetime lower bound on the event timestamp; overrides the default 24-hour window. Independent of episode_ids — e.g. set it to an episode’s start time to scope results to that episode’s lifetime.
in: query
name: start_date
required: false
schema:
format: date-time
pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
type: string
- description: Episode filter. Narrows events to those referencing at least one of the provided episode ids.
in: query
name: episode_ids
required: false
schema:
items:
maxLength: 150
minLength: 1
type: string
maxItems: 50
minItems: 1
type: array
- description: Free-text search. Matches policy name, rule name, policy/rule ID (case-insensitive).
in: query
name: search
required: false
schema:
maxLength: 256
minLength: 1
type: string
- description: Explicit rule filter. Narrows events to those referencing at least one of the provided rule ids. Also unions with the search filter if both are provided.
in: query
name: rule_ids
required: false
schema:
items:
maxLength: 150
minLength: 1
type: string
maxItems: 50
minItems: 1
type: array
- description: Outcome filter. When omitted matches all outcomes. Pass one or more of "dispatched", "throttled", "dispatch_failed" to narrow.
in: query
name: outcome
required: false
schema:
items:
enum:
- dispatched
- throttled
- dispatch_failed
type: string
maxItems: 3
minItems: 1
type: array
responses:
'200':
content:
application/json:
examples:
listActionPolicyExecutionsResponse:
summary: A page of action policy execution events
value:
items:
- action_group_count: 1
dispatched_at: '2026-01-15T12:05:00.000Z'
episode_count: 1
episodes:
- id: episode-1
outcome: dispatched
policy:
id: action-policy-1
name: Notify on host alerts
rules:
- id: rule-1
name: Host CPU high
total_rule_count: 1
workflows:
- id: workflow-1
name: Notify oncall
page: 1
per_page: 20
search_matches: null
total_events: 1
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_policy_execution_history_response'
description: Returns a paginated list of execution history events.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Exceeds the max result window
value:
code: BAD_REQUEST
details:
errors:
page:
- page * per_page cannot exceed 10000.
error: Bad Request
message: page * per_page cannot exceed 10000.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: List action policy executions
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/execution_history/rules:
get:
description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/alerting/v2/execution_history/rules
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Get a paginated list of rule execution events.
[Required authorization] Route required privileges: read_alerting-v2-execution-history.'
operationId: get-alerting-v2-execution-history-rules
parameters:
- description: 'Rule id filter. '
in: query
name: rule_ids
required: false
schema:
items:
maxLength: 150
minLength: 1
type: string
maxItems: 50
minItems: 1
type: array
- description: 'Outcome filter. '
in: query
name: outcome
required: false
schema:
items:
enum:
- success
- failure
type: string
maxItems: 2
minItems: 1
type: array
- description: Inclusive ISO datetime lower bound on event.start.
in: query
name: from
required: false
schema:
format: date-time
pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
type: string
- description: Inclusive ISO datetime upper bound on event.start.
in: query
name: to
required: false
schema:
format: date-time
pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
type: string
- description: Sort field. Defaults to started_at.
in: query
name: sort
required: true
schema:
default: started_at
enum:
- started_at
- duration
type: string
- description: Sort direction.
in: query
name: sort_order
required: true
schema:
default: desc
enum:
- asc
- desc
type: string
- description: Page number.
in: query
name: page
required: true
schema:
default: 1
maximum: 10000
minimum: 1
type: integer
- description: Number of results per page.
in: query
name: per_page
required: true
schema:
default: 20
maximum: 100
minimum: 1
type: integer
responses:
'200':
content:
application/json:
examples:
listRuleExecutionsResponse:
summary: One successful rule execution
value:
items:
- ended_at: '2026-01-15T12:00:01.250Z'
error: null
id: execution-1
outcome: success
reason: null
rule:
id: rule-1
version: 3
space_id: default
started_at: '2026-01-15T12:00:00.000Z'
timings:
duration: 1250
scheduled_delay: 40
page: 1
per_page: 20
total: 1
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_executions_response'
description: Returns a paginated list of rule execution events.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Exceeds the max result window
value:
code: BAD_REQUEST
details:
errors:
page:
- page * per_page cannot exceed 10000.
error: Bad Request
message: page * per_page cannot exceed 10000.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: List rule executions
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/rules:
get:
description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/alerting/v2/rules
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
[Required authorization] Route required privileges: read_alerting-v2-rules.'
operationId: get-alerting-v2-rules
parameters:
- description: The page number to return. Defaults to 1.
in: query
name: page
required: false
schema:
minimum: 1
type: number
- description: The number of rules to return per page. Defaults to 20.
in: query
name: per_page
required: false
schema:
maximum: 1000
minimum: 1
type: number
- description: The filter to apply to the rules.
in: query
name: filter
required: false
schema:
maxLength: 4096
type: string
- description: The field to sort rules by.
in: query
name: sort_field
required: false
schema:
enum:
- kind
- enabled
- name
type: string
- description: The direction to sort rules.
in: query
name: sort_order
required: false
schema:
enum:
- asc
- desc
type: string
- description: A text string to search across rule fields.
in: query
name: search
required: false
schema:
maxLength: 256
minLength: 1
type: string
responses:
'200':
content:
application/json:
examples:
listRulesResponse:
summary: Paginated list containing one matching rule
value:
items:
- created_at: '2026-01-15T12:00:00.000Z'
created_by: elastic
enabled: true
grouping:
fields:
- host.name
id: rule-1
kind: alert
metadata:
description: Alerts when average CPU usage exceeds a threshold.
name: Host CPU high
tags:
- production
- infra
version: 1
query:
breach:
query: FROM metrics-* | WHERE host.cpu.usage > 0.9 | STATS avg_cpu = AVG(host.cpu.usage) BY host.name
format: standalone
recovery_strategy: no_breach
schedule:
every: 1m
lookback: 5m
state_transition:
pending_count: 1
recovering_count: 1
time_field: '@timestamp'
updated_at: '2026-01-15T12:00:00.000Z'
updated_by: elastic
version: WzAsMV0=
page: 1
per_page: 20
total: 1
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_list_response'
description: Returns a paginated list of rules.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
page:
errors:
- 'Too small: expected number to be >=1'
error: Bad Request
message: 'page: Too small: expected number to be >=1'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: List rules
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/rules
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Creates a rule with a server-generated identifier. To create or replace a rule with a client-supplied identifier, use PUT /api/alerting/v2/rules/.
[Required authorization] Route required privileges: manage_alerting-v2-rules.'
operationId: post-alerting-v2-rules
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
requestBody:
content:
application/json:
examples:
createRuleRequest:
summary: Create a host CPU threshold rule
value:
grouping:
fields:
- host.name
kind: alert
metadata:
description: Alerts when average CPU usage exceeds a threshold.
name: Host CPU high
tags:
- production
- infra
query:
breach:
query: FROM metrics-* | WHERE host.cpu.usage > 0.9 | STATS avg_cpu = AVG(host.cpu.usage) BY host.name
format: standalone
recovery_strategy: no_breach
schedule:
every: 1m
lookback: 5m
state_transition:
pending_count: 1
recovering_count: 1
time_field: '@timestamp'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_new_rule'
responses:
'201':
content:
application/json:
examples:
createRuleResponse:
summary: Created host CPU threshold rule
value:
created_at: '2026-01-15T12:00:00.000Z'
created_by: elastic
enabled: true
grouping:
fields:
- host.name
id: rule-1
kind: alert
metadata:
description: Alerts when average CPU usage exceeds a threshold.
name: Host CPU high
tags:
- production
- infra
version: 1
query:
breach:
query: FROM metrics-* | WHERE host.cpu.usage > 0.9 | STATS avg_cpu = AVG(host.cpu.usage) BY host.name
format: standalone
recovery_strategy: no_breach
schedule:
every: 1m
lookback: 5m
state_transition:
pending_count: 1
recovering_count: 1
time_field: '@timestamp'
updated_at: '2026-01-15T12:00:00.000Z'
updated_by: elastic
version: WzAsMV0=
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_response'
description: Returns the newly created rule.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Missing required rule metadata
value:
code: BAD_REQUEST
details:
errors:
metadata:
- Required
error: Bad Request
message: 'metadata: Required'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Create a rule
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/rules/_bulk_delete:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/rules/_bulk_delete
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
[Required authorization] Route required privileges: manage_alerting-v2-rules.'
operationId: post-alerting-v2-rules-bulk-delete
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
requestBody:
content:
application/json:
examples:
bulkDeleteRulesRequest:
summary: Delete two rules by ID
value:
ids:
- rule-1
- rule-2
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_by_ids_request'
responses:
'200':
content:
application/json:
examples:
bulkDeleteRulesResponse:
summary: Deleted both requested rules
value:
affected_count: 2
errors: []
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_operation_response'
description: Returns the result of the bulk delete operation.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Request body is missing required rule ids
value:
code: BAD_REQUEST
details:
errors:
ids:
- Required
error: Bad Request
message: 'ids: Required'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Delete rules in bulk by ID
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/rules/_bulk_disable:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/rules/_bulk_disable
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
[Required authorization] Route required privileges: manage_alerting-v2-rules.'
operationId: post-alerting-v2-rules-bulk-disable
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
requestBody:
content:
application/json:
examples:
bulkDisableRulesRequest:
summary: Disable two rules by ID
value:
ids:
- rule-1
- rule-2
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_by_ids_request'
responses:
'200':
content:
application/json:
examples:
bulkDisableRulesResponse:
summary: Disabled both requested rules
value:
affected_count: 2
errors: []
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_operation_response'
description: Returns the result of the bulk disable operation.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Request body is missing required rule ids
value:
code: BAD_REQUEST
details:
errors:
ids:
- Required
error: Bad Request
message: 'ids: Required'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Disable rules in bulk by ID
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/rules/_bulk_enable:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/rules/_bulk_enable
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
[Required authorization] Route required privileges: manage_alerting-v2-rules.'
operationId: post-alerting-v2-rules-bulk-enable
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
requestBody:
content:
application/json:
examples:
bulkEnableRulesRequest:
summary: Enable two rules by ID
value:
ids:
- rule-1
- rule-2
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_by_ids_request'
responses:
'200':
content:
application/json:
examples:
bulkEnableRulesResponse:
summary: Enabled both requested rules
value:
affected_count: 2
errors: []
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_operation_response'
description: Returns the result of the bulk enable operation.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Request body is missing required rule ids
value:
code: BAD_REQUEST
details:
errors:
ids:
- Required
error: Bad Request
message: 'ids: Required'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Enable rules in bulk by ID
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/rules/_bulk_get:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/rules/_bulk_get
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
[Required authorization] Route required privileges: read_alerting-v2-rules.'
operationId: post-alerting-v2-rules-bulk-get
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
requestBody:
content:
application/json:
examples:
bulkGetRulesRequest:
summary: Fetch two rules by ID
value:
ids:
- rule-1
- rule-2
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_get_rules_request'
responses:
'200':
content:
application/json:
examples:
bulkGetRulesResponse:
summary: Returned the requested rules
value:
rules:
- created_at: '2026-01-15T12:00:00.000Z'
created_by: elastic
enabled: true
grouping:
fields:
- host.name
id: rule-1
kind: alert
metadata:
description: Alerts when average CPU usage exceeds a threshold.
name: Host CPU high
tags:
- production
- infra
version: 1
query:
breach:
query: FROM metrics-* | WHERE host.cpu.usage > 0.9 | STATS avg_cpu = AVG(host.cpu.usage) BY host.name
format: standalone
recovery_strategy: no_breach
schedule:
every: 1m
lookback: 5m
state_transition:
pending_count: 1
recovering_count: 1
time_field: '@timestamp'
updated_at: '2026-01-15T12:00:00.000Z'
updated_by: elastic
version: WzAsMV0=
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_get_rules_response'
description: Returns the requested rules.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Request body is missing required rule ids
value:
code: BAD_REQUEST
details:
errors:
ids:
- Required
error: Bad Request
message: 'ids: Required'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
rulesNotFound:
summary: One or more requested rule ids could not be found
value:
code: NOT_FOUND
error: Not Found
message: Saved object [alerting_rule/rule-1] not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: One or more rule ids could not be found.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Get rules in bulk
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/rules/_bulk_update_api_key:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/rules/_bulk_update_api_key
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Rotates each rule executor task API key to one derived from the current user’s credentials.
[Required authorization] Route required privileges: manage_alerting-v2-rules.'
operationId: post-alerting-v2-rules-bulk-update-api-key
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
requestBody:
content:
application/json:
examples:
bulkUpdateApiKeyRequest:
summary: Rotate API keys for two rules by ID
value:
ids:
- rule-1
- rule-2
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_by_ids_request'
responses:
'200':
content:
application/json:
examples:
bulkUpdateApiKeyResponse:
summary: Rotated API keys for both requested rules
value:
affected_count: 2
errors: []
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_operation_response'
description: Returns the result of the bulk update API key operation.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Request body is missing required rule ids
value:
code: BAD_REQUEST
details:
errors:
ids:
- Required
error: Bad Request
message: 'ids: Required'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Update the API key of rules in bulk by ID
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/rules/_delete_by_query:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/rules/_delete_by_query
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
[Required authorization] Route required privileges: manage_alerting-v2-rules.'
operationId: post-alerting-v2-rules-delete-by-query
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
requestBody:
content:
application/json:
examples:
deleteRulesByQueryRequest:
summary: 'Delete rules tagged production (dry-run by default, or set `force: true` to execute)'
value:
filter: 'tags: production'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_by_query_request'
responses:
'200':
content:
application/json:
examples:
deleteRulesByQueryDryRunResponse:
summary: 'Dry-run preview of matching rules; set `force: true` on the request to execute'
value:
match_count: 2
sample:
- rule-1
- rule-2
schema:
anyOf:
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_dry_run_response'
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_operation_response'
description: Returns a dry-run preview by default, or the executed operation when `force` is true.
'400':
content:
application/json:
examples:
invalidRequest:
summary: By-query body omits filter, search, and match_all
value:
code: BAD_REQUEST
details:
errors:
? ''
: - At least one of filter, search, or match_all must be provided.
error: Bad Request
message: At least one of filter, search, or match_all must be provided.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Delete rules matching a query (dry-run by default)
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/rules/_disable_by_query:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/rules/_disable_by_query
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
[Required authorization] Route required privileges: manage_alerting-v2-rules.'
operationId: post-alerting-v2-rules-disable-by-query
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
requestBody:
content:
application/json:
examples:
disableRulesByQueryRequest:
summary: 'Disable rules tagged production (dry-run by default, or set `force: true` to execute)'
value:
filter: 'tags: production'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_by_query_request'
responses:
'200':
content:
application/json:
examples:
disableRulesByQueryDryRunResponse:
summary: 'Dry-run preview of matching rules; set `force: true` on the request to execute'
value:
match_count: 2
sample:
- rule-1
- rule-2
schema:
anyOf:
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_dry_run_response'
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_operation_response'
description: Returns a dry-run preview by default, or the executed operation when `force` is true.
'400':
content:
application/json:
examples:
invalidRequest:
summary: By-query body omits filter, search, and match_all
value:
code: BAD_REQUEST
details:
errors:
? ''
: - At least one of filter, search, or match_all must be provided.
error: Bad Request
message: At least one of filter, search, or match_all must be provided.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Disable rules matching a query (dry-run by default)
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/rules/_enable_by_query:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/rules/_enable_by_query
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
[Required authorization] Route required privileges: manage_alerting-v2-rules.'
operationId: post-alerting-v2-rules-enable-by-query
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
requestBody:
content:
application/json:
examples:
enableRulesByQueryRequest:
summary: 'Enable rules tagged production (dry-run by default, or set `force: true` to execute)'
value:
filter: 'tags: production'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_by_query_request'
responses:
'200':
content:
application/json:
examples:
enableRulesByQueryDryRunResponse:
summary: 'Dry-run preview of matching rules; set `force: true` on the request to execute'
value:
match_count: 2
sample:
- rule-1
- rule-2
schema:
anyOf:
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_dry_run_response'
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_operation_response'
description: Returns a dry-run preview by default, or the executed operation when `force` is true.
'400':
content:
application/json:
examples:
invalidRequest:
summary: By-query body omits filter, search, and match_all
value:
code: BAD_REQUEST
details:
errors:
? ''
: - At least one of filter, search, or match_all must be provided.
error: Bad Request
message: At least one of filter, search, or match_all must be provided.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Enable rules matching a query (dry-run by default)
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/rules/_update_api_key_by_query:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/rules/_update_api_key_by_query
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Rotates each matching rule executor task API key to one derived from the current user’s credentials.
[Required authorization] Route required privileges: manage_alerting-v2-rules.'
operationId: post-alerting-v2-rules-update-api-key-by-query
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
requestBody:
content:
application/json:
examples:
updateApiKeyByQueryRequest:
summary: 'Rotate API keys for rules tagged production (dry-run by default, or set `force: true` to execute)'
value:
filter: 'tags: production'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_by_query_request'
responses:
'200':
content:
application/json:
examples:
updateApiKeyByQueryDryRunResponse:
summary: 'Dry-run preview of matching rules; set `force: true` on the request to execute'
value:
match_count: 2
sample:
- rule-1
- rule-2
schema:
anyOf:
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_dry_run_response'
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_operation_response'
description: Returns a dry-run preview by default, or the executed operation when `force` is true.
'400':
content:
application/json:
examples:
invalidRequest:
summary: By-query body omits filter, search, and match_all
value:
code: BAD_REQUEST
details:
errors:
? ''
: - At least one of filter, search, or match_all must be provided.
error: Bad Request
message: At least one of filter, search, or match_all must be provided.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Update the API key of rules matching a query (dry-run by default)
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/rules/{id}:
delete:
description: '**Spaces method and path for this operation:**
delete /s/{space_id}/api/alerting/v2/rules/{id}
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
[Required authorization] Route required privileges: manage_alerting-v2-rules.'
operationId: delete-alerting-v2-rules-id
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
- description: The identifier for the rule.
in: path
name: id
required: true
schema:
maxLength: 150
minLength: 1
type: string
responses:
'204':
description: The rule was deleted successfully.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
page:
errors:
- 'Too small: expected number to be >=1'
error: Bad Request
message: 'page: Too small: expected number to be >=1'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request failed schema validation.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
ruleNotFound:
summary: No rule exists for the given ID
value:
code: RULE_NOT_FOUND
details:
rule_id: rule-1
error: Not Found
message: Rule with id "rule-1" not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates a rule with the given ID does not exist.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Delete a rule
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
get:
description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/alerting/v2/rules/{id}
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
[Required authorization] Route required privileges: read_alerting-v2-rules.'
operationId: get-alerting-v2-rules-id
parameters:
- description: The identifier for the rule.
in: path
name: id
required: true
schema:
maxLength: 150
minLength: 1
type: string
responses:
'200':
content:
application/json:
examples:
getRuleResponse:
summary: Retrieved host CPU threshold rule
value:
created_at: '2026-01-15T12:00:00.000Z'
created_by: elastic
enabled: true
grouping:
fields:
- host.name
id: rule-1
kind: alert
metadata:
description: Alerts when average CPU usage exceeds a threshold.
name: Host CPU high
tags:
- production
- infra
version: 1
query:
breach:
query: FROM metrics-* | WHERE host.cpu.usage > 0.9 | STATS avg_cpu = AVG(host.cpu.usage) BY host.name
format: standalone
recovery_strategy: no_breach
schedule:
every: 1m
lookback: 5m
state_transition:
pending_count: 1
recovering_count: 1
time_field: '@timestamp'
updated_at: '2026-01-15T12:00:00.000Z'
updated_by: elastic
version: WzAsMV0=
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_response'
description: Returns the requested rule.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
page:
errors:
- 'Too small: expected number to be >=1'
error: Bad Request
message: 'page: Too small: expected number to be >=1'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request failed schema validation.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
ruleNotFound:
summary: No rule exists for the given ID
value:
code: RULE_NOT_FOUND
details:
rule_id: rule-1
error: Not Found
message: Rule with id "rule-1" not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates a rule with the given ID does not exist.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Get a rule
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
patch:
description: '**Spaces method and path for this operation:**
patch /s/{space_id}/api/alerting/v2/rules/{id}
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
[Required authorization] Route required privileges: manage_alerting-v2-rules.'
operationId: patch-alerting-v2-rules-id
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
- description: The identifier for the rule.
in: path
name: id
required: true
schema:
maxLength: 150
minLength: 1
type: string
requestBody:
content:
application/json:
examples:
updateRuleRequest:
summary: Update a rule name and description
value:
metadata:
description: Updated description.
name: Host CPU high (updated)
version: WzAsMV0=
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_update_rule'
responses:
'200':
content:
application/json:
examples:
updateRuleResponse:
summary: Updated rule metadata
value:
created_at: '2026-01-15T12:00:00.000Z'
created_by: elastic
enabled: true
grouping:
fields:
- host.name
id: rule-1
kind: alert
metadata:
description: Updated description.
name: Host CPU high (updated)
tags:
- production
- infra
version: 1
query:
breach:
query: FROM metrics-* | WHERE host.cpu.usage > 0.9 | STATS avg_cpu = AVG(host.cpu.usage) BY host.name
format: standalone
recovery_strategy: no_breach
schedule:
every: 1m
lookback: 5m
state_transition:
pending_count: 1
recovering_count: 1
time_field: '@timestamp'
updated_at: '2026-01-15T12:00:00.000Z'
updated_by: elastic
version: WzAsMV0=
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_response'
description: Returns the updated rule.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Update body includes an unrecognized field
value:
code: BAD_REQUEST
details:
errors:
unknownField:
- Unrecognized key
error: Bad Request
message: 'Unrecognized key(s) in object: ''unknownField'''
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
ruleNotFound:
summary: No rule exists for the given ID
value:
code: RULE_NOT_FOUND
details:
rule_id: rule-1
error: Not Found
message: Rule with id "rule-1" not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates a rule with the given ID does not exist.
'409':
content:
application/json:
examples:
ruleVersionConflict:
summary: Indicates the rule was concurrently updated by another caller.
value:
code: RULE_VERSION_CONFLICT
details:
rule_id: rule-1
error: Conflict
message: Rule with id "rule-1" has already been updated by another user
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the rule was concurrently updated by another caller.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Update a rule
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
put:
description: '**Spaces method and path for this operation:**
put /s/{space_id}/api/alerting/v2/rules/{id}
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Creates a rule with the given identifier, or fully replaces it if one already exists.
[Required authorization] Route required privileges: manage_alerting-v2-rules.'
operationId: put-alerting-v2-rules-id
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
- description: The identifier for the rule.
in: path
name: id
required: true
schema:
maxLength: 150
minLength: 1
type: string
requestBody:
content:
application/json:
examples:
upsertRuleRequest:
summary: Create or replace a host CPU threshold rule
value:
grouping:
fields:
- host.name
kind: alert
metadata:
description: Alerts when average CPU usage exceeds a threshold.
name: Host CPU high
tags:
- production
- infra
query:
breach:
query: FROM metrics-* | WHERE host.cpu.usage > 0.9 | STATS avg_cpu = AVG(host.cpu.usage) BY host.name
format: standalone
recovery_strategy: no_breach
schedule:
every: 1m
lookback: 5m
state_transition:
pending_count: 1
recovering_count: 1
time_field: '@timestamp'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_new_rule'
responses:
'200':
content:
application/json:
examples:
upsertRuleReplacedResponse:
summary: Replaced an existing rule
value:
created_at: '2026-01-15T12:00:00.000Z'
created_by: elastic
enabled: true
grouping:
fields:
- host.name
id: rule-1
kind: alert
metadata:
description: Alerts when average CPU usage exceeds a threshold.
name: Host CPU high
tags:
- production
- infra
version: 1
query:
breach:
query: FROM metrics-* | WHERE host.cpu.usage > 0.9 | STATS avg_cpu = AVG(host.cpu.usage) BY host.name
format: standalone
recovery_strategy: no_breach
schedule:
every: 1m
lookback: 5m
state_transition:
pending_count: 1
recovering_count: 1
time_field: '@timestamp'
updated_at: '2026-01-15T12:00:00.000Z'
updated_by: elastic
version: WzAsMV0=
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_response'
description: Returns the replaced rule.
'201':
content:
application/json:
examples:
upsertRuleCreatedResponse:
summary: Created a new rule with the given ID
value:
created_at: '2026-01-15T12:00:00.000Z'
created_by: elastic
enabled: true
grouping:
fields:
- host.name
id: rule-1
kind: alert
metadata:
description: Alerts when average CPU usage exceeds a threshold.
name: Host CPU high
tags:
- production
- infra
version: 1
query:
breach:
query: FROM metrics-* | WHERE host.cpu.usage > 0.9 | STATS avg_cpu = AVG(host.cpu.usage) BY host.name
format: standalone
recovery_strategy: no_breach
schedule:
every: 1m
lookback: 5m
state_transition:
pending_count: 1
recovering_count: 1
time_field: '@timestamp'
updated_at: '2026-01-15T12:00:00.000Z'
updated_by: elastic
version: WzAsMV0=
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_response'
description: Returns the newly created rule.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Upsert body is missing required rule metadata
value:
code: BAD_REQUEST
details:
errors:
metadata:
- Required
error: Bad Request
message: 'metadata: Required'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
ruleNotFound:
summary: No rule exists for the given ID
value:
code: RULE_NOT_FOUND
details:
rule_id: rule-1
error: Not Found
message: Rule with id "rule-1" not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates a rule with the given ID does not exist.
'409':
content:
application/json:
examples:
ruleVersionConflict:
summary: Rule was changed concurrently by another caller
value:
code: RULE_VERSION_CONFLICT
details:
rule_id: rule-1
error: Conflict
message: Rule with id "rule-1" has already been updated by another user
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the rule was created or updated concurrently, or the request changes immutable fields.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Create or replace a rule
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/rules/{id}/_disable:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/rules/{id}/_disable
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Disable a rule by identifier.
[Required authorization] Route required privileges: manage_alerting-v2-rules.'
operationId: post-alerting-v2-rules-id-disable
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
- description: The identifier for the rule.
in: path
name: id
required: true
schema:
maxLength: 150
minLength: 1
type: string
responses:
'200':
content:
application/json:
examples:
disableRuleResponse:
summary: Disabled host CPU threshold rule
value:
created_at: '2026-01-15T12:00:00.000Z'
created_by: elastic
enabled: false
grouping:
fields:
- host.name
id: rule-1
kind: alert
metadata:
description: Alerts when average CPU usage exceeds a threshold.
name: Host CPU high
tags:
- production
- infra
version: 1
query:
breach:
query: FROM metrics-* | WHERE host.cpu.usage > 0.9 | STATS avg_cpu = AVG(host.cpu.usage) BY host.name
format: standalone
recovery_strategy: no_breach
schedule:
every: 1m
lookback: 5m
state_transition:
pending_count: 1
recovering_count: 1
time_field: '@timestamp'
updated_at: '2026-01-15T12:00:00.000Z'
updated_by: elastic
version: WzAsMV0=
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_response'
description: Returns the disabled rule.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
page:
errors:
- 'Too small: expected number to be >=1'
error: Bad Request
message: 'page: Too small: expected number to be >=1'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request failed schema validation.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
ruleNotFound:
summary: No rule exists for the given ID
value:
code: RULE_NOT_FOUND
details:
rule_id: rule-1
error: Not Found
message: Rule with id "rule-1" not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates a rule with the given ID does not exist.
'409':
content:
application/json:
examples:
ruleVersionConflict:
summary: Indicates the rule was concurrently updated by another caller.
value:
code: RULE_VERSION_CONFLICT
details:
rule_id: rule-1
error: Conflict
message: Rule with id "rule-1" has already been updated by another user
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the rule was concurrently updated by another caller.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Disable a rule
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/rules/{id}/_enable:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/rules/{id}/_enable
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Enable a rule by identifier.
[Required authorization] Route required privileges: manage_alerting-v2-rules.'
operationId: post-alerting-v2-rules-id-enable
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
- description: The identifier for the rule.
in: path
name: id
required: true
schema:
maxLength: 150
minLength: 1
type: string
responses:
'200':
content:
application/json:
examples:
enableRuleResponse:
summary: Enabled host CPU threshold rule
value:
created_at: '2026-01-15T12:00:00.000Z'
created_by: elastic
enabled: true
grouping:
fields:
- host.name
id: rule-1
kind: alert
metadata:
description: Alerts when average CPU usage exceeds a threshold.
name: Host CPU high
tags:
- production
- infra
version: 1
query:
breach:
query: FROM metrics-* | WHERE host.cpu.usage > 0.9 | STATS avg_cpu = AVG(host.cpu.usage) BY host.name
format: standalone
recovery_strategy: no_breach
schedule:
every: 1m
lookback: 5m
state_transition:
pending_count: 1
recovering_count: 1
time_field: '@timestamp'
updated_at: '2026-01-15T12:00:00.000Z'
updated_by: elastic
version: WzAsMV0=
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_response'
description: Returns the enabled rule.
'400':
content:
application/json:
examples:
maxSchedulesPerMinuteExceeded:
summary: Indicates the request is invalid, for example enabling the rule would exceed the configured schedule limit.
value:
code: MAX_SCHEDULES_PER_MINUTE_EXCEEDED
details:
interval: 1m
maxScheduledPerMinute: 400
error: Bad Request
message: Rule schedule of "1m" would exceed the limit of 400 rule runs per minute
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request is invalid, for example enabling the rule would exceed the configured schedule limit.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
ruleNotFound:
summary: No rule exists for the given ID
value:
code: RULE_NOT_FOUND
details:
rule_id: rule-1
error: Not Found
message: Rule with id "rule-1" not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates a rule with the given ID does not exist.
'409':
content:
application/json:
examples:
ruleVersionConflict:
summary: Indicates the rule was concurrently updated by another caller.
value:
code: RULE_VERSION_CONFLICT
details:
rule_id: rule-1
error: Conflict
message: Rule with id "rule-1" has already been updated by another user
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the rule was concurrently updated by another caller.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Enable a rule
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/rules/{id}/_run:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/alerting/v2/rules/{id}/_run
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
[Required authorization] Route required privileges: manage_alerting-v2-rules.'
operationId: post-alerting-v2-rules-id-run
parameters:
- description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
- description: The identifier for the rule.
in: path
name: id
required: true
schema:
maxLength: 150
minLength: 1
type: string
responses:
'204':
description: The rule run was triggered successfully.
'400':
content:
application/json:
examples:
ruleDisabled:
summary: Indicates the rule is disabled and cannot be run.
value:
code: RULE_DISABLED
details:
rule_id: rule-1
error: Bad Request
message: Rule with id "rule-1" is disabled and cannot be run
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the rule is disabled and cannot be run.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
ruleNotFound:
summary: No rule exists for the given ID
value:
code: RULE_NOT_FOUND
details:
rule_id: rule-1
error: Not Found
message: Rule with id "rule-1" not found
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates a rule with the given ID does not exist.
'409':
content:
application/json:
examples:
ruleAlreadyRunning:
summary: Indicates the rule is already running or the run request conflicted.
value:
code: RULE_ALREADY_RUNNING
details:
rule_id: rule-1
error: Conflict
message: Rule with id "rule-1" is already running
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the rule is already running or the run request conflicted.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Run a rule now
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/rules/{id}/history:
get:
description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/alerting/v2/rules/{id}/history
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Get a paginated list of prior configurations for a rule from change history. List rows are lean (diff summary only); use the detail route for full snapshots.
[Required authorization] Route required privileges: read_alerting-v2-rules.'
operationId: get-alerting-v2-rules-id-history
parameters:
- description: The identifier for the rule.
in: path
name: id
required: true
schema:
maxLength: 150
minLength: 1
type: string
- description: Page number (1-based).
in: query
name: page
required: true
schema:
default: 1
maximum: 10000
minimum: 1
type: integer
- description: Number of results per page.
in: query
name: per_page
required: true
schema:
default: 20
maximum: 100
minimum: 1
type: integer
responses:
'200':
content:
application/json:
examples:
listRuleChangeHistoryResponse:
summary: Two rule change-history events (newest first)
value:
items:
- action: rule_update
actor:
name: elastic
profileId: u_profile_1
changes:
count: 1
summary:
metadata:
name: Host CPU high
id: 0194f0c8-aaaa-7bbb-8ccc-ddddeeeeffff
isCurrent: true
metadata:
version: 2
timestamp: '2026-01-15T12:05:00.000Z'
- action: rule_create
actor:
name: elastic
profileId: u_profile_1
id: 0194f0c8-1111-7222-8333-444455556666
metadata:
version: 1
timestamp: '2026-01-15T12:00:00.000Z'
total: 2
schema:
additionalProperties: false
type: object
properties:
items:
items:
type: object
properties:
action:
type: string
actor:
type: object
properties:
name:
type: string
profileId:
type: string
required:
- name
changes:
type: object
properties:
count:
maximum: 9007199254740991
minimum: 0
type: integer
summary:
additionalProperties: {}
type: object
required:
- count
comment:
type: string
id:
type: string
isCurrent:
type: boolean
metadata:
additionalProperties: {}
type: object
tags:
items:
type: string
type: array
timestamp:
type: string
required:
- id
- timestamp
- actor
- action
type: array
total:
maximum: 9007199254740991
minimum: 0
type: integer
required:
- items
- total
description: Returns a paginated list of rule change-history events.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Exceeds the max result window
value:
code: BAD_REQUEST
details:
errors:
page:
- page * per_page cannot exceed 10000.
error: Bad Request
message: page * per_page cannot exceed 10000.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
ruleChangeHistoryUnavailable:
summary: Change history data stream is not initialized
value:
code: RULE_CHANGE_HISTORY_UNAVAILABLE
error: Service Unavailable
message: Rule change history is unavailable
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: List rule change history
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/rules/{id}/history/{eventId}:
get:
description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/alerting/v2/rules/{id}/history/{eventId}
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Get the full detail for a single rule change-history event, including the rule configuration snapshot.
[Required authorization] Route required privileges: read_alerting-v2-rules.'
operationId: get-alerting-v2-rules-id-history-eventid
parameters:
- description: The identifier for the rule.
in: path
name: id
required: true
schema:
maxLength: 150
minLength: 1
type: string
- description: The change-history event identifier (`event.id`).
in: path
name: eventId
required: true
schema:
maxLength: 150
minLength: 1
type: string
responses:
'200':
content:
application/json:
examples:
getRuleChangeHistoryEventResponse:
summary: Retrieved rule change-history event with snapshot
value:
action: rule_update
actor:
name: elastic
profileId: u_profile_1
changes:
count: 1
summary:
metadata:
name: Host CPU high
id: 0194f0c8-aaaa-7bbb-8ccc-ddddeeeeffff
isCurrent: true
metadata:
version: 2
snapshot:
created_at: '2026-01-15T12:00:00.000Z'
created_by: elastic
enabled: true
grouping:
fields:
- host.name
id: rule-1
kind: alert
metadata:
description: Alerts when average CPU usage exceeds a threshold.
name: Host CPU critical
tags:
- production
- infra
version: 2
query:
breach:
query: FROM metrics-* | WHERE host.cpu.usage > 0.9 | STATS avg_cpu = AVG(host.cpu.usage) BY host.name
format: standalone
recovery_strategy: no_breach
schedule:
every: 1m
lookback: 5m
state_transition:
pending_count: 1
recovering_count: 1
time_field: '@timestamp'
updated_at: '2026-01-15T12:00:00.000Z'
updated_by: elastic
timestamp: '2026-01-15T12:05:00.000Z'
schema:
additionalProperties: false
type: object
properties:
action:
type: string
actor:
additionalProperties: false
type: object
properties:
name:
type: string
profileId:
type: string
required:
- name
changes:
additionalProperties: false
type: object
properties:
count:
maximum: 9007199254740991
minimum: 0
type: integer
summary:
additionalProperties: {}
type: object
required:
- count
comment:
type: string
id:
type: string
isCurrent:
type: boolean
metadata:
additionalProperties: {}
type: object
reason:
type: string
snapshot:
additionalProperties: {}
type: object
tags:
items:
type: string
type: array
timestamp:
type: string
required:
- id
- timestamp
- actor
- action
- snapshot
description: Returns the requested rule change-history event.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
eventId:
errors:
- 'Too small: expected string to have >=1 characters'
error: Bad Request
message: 'eventId: Too small: expected string to have >=1 characters'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request failed schema validation.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'404':
content:
application/json:
examples:
ruleChangeNotFound:
summary: No change-history event exists for the given ID
value:
code: RULE_CHANGE_NOT_FOUND
details:
event_id: missing-event
rule_id: rule-1
error: Not Found
message: Rule change with event id "missing-event" not found for rule "rule-1"
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates a change-history event with the given ID does not exist.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
ruleChangeHistoryUnavailable:
summary: Change history data stream is not initialized
value:
code: RULE_CHANGE_HISTORY_UNAVAILABLE
error: Service Unavailable
message: Rule change history is unavailable
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Get a rule change-history event
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/rules/tags:
get:
description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/alerting/v2/rules/tags
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
[Required authorization] Route required privileges: read_alerting-v2-rules.'
operationId: get-alerting-v2-rules-tags
parameters:
- description: Prefix to filter tags by. Returns all most-used tags when omitted.
in: query
name: search
required: false
schema:
maxLength: 256
type: string
- description: Restrict tags to rules of the given kind.
in: query
name: kind
required: false
schema:
anyOf:
- description: Default. Tracks each problem as an alert episode and its lifecycle, link it to workflows to notify your team. Use when the user wants to detect and respond.
enum:
- alert
type: string
- description: Matches are stored as queryable events. No alerts, no notifications - just data. Use when the user wants to collect evidence.
enum:
- signal
type: string
responses:
'200':
content:
application/json:
examples:
ruleTagsResponse:
summary: Unique tags across matching rules
value:
tags:
- production
- infra
- critical
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_tags_response'
description: Returns the requested rule tags.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
search:
errors:
- 'Too big: expected string to have <=256 characters'
error: Bad Request
message: 'search: Too big: expected string to have <=256 characters'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Get rule tags
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
/api/alerting/v2/suggestions/rule_event_fields:
get:
description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/alerting/v2/suggestions/rule_event_fields
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Get suggestions for matcher data fields.
[Required authorization] Route required privileges: read_alerting-v2-alerts.'
operationId: get-alerting-v2-suggestions-rule-event-fields
parameters:
- description: Optional matcher expression used to scope suggested data field names.
in: query
name: matcher
required: false
schema:
maxLength: 2048
minLength: 1
type: string
responses:
'200':
content:
application/json:
examples:
matcherDataFieldsResponse:
summary: Available matcher data fields
value:
- host.name
- host.ip
- kibana.alert.rule.name
schema:
description: The list of available matcher data field names.
items:
type: string
type: array
description: Returns the available matcher data field names.
'400':
content:
application/json:
examples:
invalidRequest:
summary: Indicates an invalid schema or parameters.
value:
code: BAD_REQUEST
details:
errors:
errors: []
properties:
matcher:
errors:
- 'Too small: expected string to have >=1 characters'
error: Bad Request
message: 'matcher: Too small: expected string to have >=1 characters'
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an invalid schema or parameters.
'401':
content:
application/json:
examples:
unauthorized:
summary: Request was not authenticated
value:
code: UNAUTHORIZED
error: Unauthorized
message: Authentication required to access this API.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the request was not authenticated.
'403':
content:
application/json:
examples:
forbidden:
summary: Caller lacks required privileges
value:
code: FORBIDDEN
error: Forbidden
message: The current user does not have the required privileges for this request.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the user does not have the required privileges to perform the request.
'500':
content:
application/json:
examples:
internalServerError:
summary: Unexpected server-side error
value:
code: INTERNAL_SERVER_ERROR
error: Internal Server Error
message: An unexpected error occurred.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates an unexpected server-side error.
'503':
content:
application/json:
examples:
alertingDisabled:
summary: Alerting engine is disabled
value:
code: ALERTING_DISABLED
error: Service Unavailable
message: Alerting is disabled.
schema:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_error_response'
description: Indicates the alerting engine is disabled by the `alerting:v2:enabled` advanced setting.
summary: Get matcher data fields suggestions
tags:
- alerting-v2
x-state: Experimental; added in 9.5.0
x-metaTags:
- content: Kibana
name: product_name
components:
schemas:
Kibana_HTTP_APIs_alerting_alert_action:
description: 'Request body for creating a single alert action. One of: ack, unack, assign, tag, snooze, unsnooze, activate, deactivate.'
discriminator:
mapping:
ack: '#/components/schemas/Kibana_HTTP_APIs_alerting_ack_alert_action'
activate: '#/components/schemas/Kibana_HTTP_APIs_alerting_activate_alert_action'
assign: '#/components/schemas/Kibana_HTTP_APIs_alerting_assign_alert_action'
deactivate: '#/components/schemas/Kibana_HTTP_APIs_alerting_deactivate_alert_action'
snooze: '#/components/schemas/Kibana_HTTP_APIs_alerting_snooze_alert_action'
tag: '#/components/schemas/Kibana_HTTP_APIs_alerting_tag_alert_action'
unack: '#/components/schemas/Kibana_HTTP_APIs_alerting_unack_alert_action'
unsnooze: '#/components/schemas/Kibana_HTTP_APIs_alerting_unsnooze_alert_action'
propertyName: action_type
oneOf:
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_ack_alert_action'
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_unack_alert_action'
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_assign_alert_action'
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_tag_alert_action'
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_snooze_alert_action'
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_unsnooze_alert_action'
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_activate_alert_action'
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_deactivate_alert_action'
Kibana_HTTP_APIs_alerting_match_action_policies_for_rule_request:
additionalProperties: false
type: object
properties:
rule:
additionalProperties: false
type: object
properties:
id:
description: The ID of the rule.
maxLength: 256
minLength: 1
type: string
name:
description: The name of the rule, used to evaluate global matcher expressions.
maxLength: 256
minLength: 1
type: string
tags:
description: The tags of the rule, used to evaluate global matcher expressions.
items:
maxLength: 256
minLength: 1
type: string
maxItems: 100
type: array
Kibana_HTTP_APIs_alerting_action_policy_throttle:
additionalProperties: false
type: object
properties:
interval:
description: The throttle interval duration (e.g. 5m, 1h), or null when the strategy is intervalless.
type:
- string
- 'null'
strategy:
anyOf:
- description: notify only on episode status transitions (default for `per_episode`).
enum:
- on_status_change
type: string
- description: notify on transitions and at regular intervals.
enum:
- per_status_interval
type: string
- description: notify at regular intervals regardless of status (default for `all`/`per_field`).
enum:
- time_interval
type: string
- description: notify on every evaluation cycle (high volume).
enum:
- every_time
type: string
description: The throttle strategy.
Kibana_HTTP_APIs_alerting_action_policy_grouping_mode:
anyOf:
- description: one notification per alert episode lifecycle (default).
enum:
- per_episode
type: string
- description: a single notification for all matching episodes.
enum:
- all
type: string
- description: group by specified `groupBy` fields.
enum:
- per_field
type: string
description: 'The grouping mode: per_episode groups by episode lifecycle, all sends a single notification for all alerts, per_field groups by the specified fields.'
Kibana_HTTP_APIs_alerting_unsnooze_alert_action:
additionalProperties: false
type: object
properties:
action_type:
description: Removes snooze from an alert.
enum:
- unsnooze
type: string
required:
- action_type
Kibana_HTTP_APIs_alerting_bulk_dry_run_response:
additionalProperties: false
description: Dry-run preview returned by a by-query bulk endpoint when `force` is false.
type: object
properties:
match_count:
description: 'Total number of resources matching the query. A dry run never fails on size, but if this exceeds 10000, re-sending the same query with `force: true` is rejected with `BULK_QUERY_MATCH_LIMIT_EXCEEDED`; narrow the query before executing.'
maximum: 9007199254740991
minimum: 0
type: integer
sample:
description: Sample of matching resource IDs (up to 100) for spot-checking before executing.
items:
type: string
maxItems: 100
type: array
required:
- match_count
- sample
Kibana_HTTP_APIs_alerting_update_action_policy:
additionalProperties: false
type: object
properties:
description:
description: A description of the action policy.
maxLength: 1024
type: string
destinations:
description: The list of destinations. At least one is required.
items:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_action_policy_destination'
maxItems: 10
minItems: 1
type: array
group_by:
description: The fields used to group alerts.
items:
maxLength: 256
minLength: 1
type: string
maxItems: 16
type:
- array
- 'null'
grouping_mode:
allOf:
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_action_policy_grouping_mode'
description: The grouping mode for alert notifications.
matcher:
description: A KQL query string to match alerts.
maxLength: 4096
type:
- string
- 'null'
name:
description: The name of the action policy.
maxLength: 256
minLength: 1
type: string
tags:
description: Tags for categorizing the action policy.
items:
maxLength: 128
minLength: 1
type: string
maxItems: 20
type:
- array
- 'null'
throttle:
allOf:
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_action_policy_throttle'
description: The throttle configuration for notifications.
version:
description: The current version of the action policy, used for optimistic concurrency control.
maxLength: 256
minLength: 1
type: string
required:
- version
Kibana_HTTP_APIs_alerting_rule_response:
additionalProperties: false
type: object
properties:
artifacts:
description: Artifacts attached to the rule, each shaped as `{ id, type, data }`. `data` is a type-specific object (for example a `runbook` may carry `content`, a `dashboard` may carry `dashboardId`). Per-type shape is validated by the artifact-type registry when the type is registered; unregistered types pass through with envelope bounds only.
items:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_artifact'
maxItems: 100
type: array
created_at:
description: ISO timestamp when the rule was created.
type: string
created_by:
description: User who created the rule.
type:
- string
- 'null'
enabled:
description: Whether the rule is enabled.
type: boolean
grouping:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_grouping'
id:
description: Unique rule identifier.
type: string
kind:
anyOf:
- description: Default. Tracks each problem as an alert episode and its lifecycle, link it to workflows to notify your team. Use when the user wants to detect and respond.
enum:
- alert
type: string
- description: Matches are stored as queryable events. No alerts, no notifications - just data. Use when the user wants to collect evidence.
enum:
- signal
type: string
description: The kind of the rule.
metadata:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_response_metadata'
no_data_strategy:
anyOf:
- description: Holds the last known episode status when no data is present.
enum:
- last_known_status
type: string
- description: Emits a `no_data` alert event when no_data query returns no rows for the group. "emit" is not currently accepted by the create/update API.
enum:
- emit
type: string
- description: Resolves the alert episode to inactive on the first no-data run.
enum:
- recover
type: string
- description: No-data situations are ignored (default).
enum:
- none
type: string
description: How to handle no-data situations. "last_known_status" holds the last known status; "recover" forces recovery; "none" disables no-data detection. "emit" is not currently accepted by the create/update API. Standalone-format rules must provide a `no_data` query block when this is not "none"; composed-format rules use `base` as the data-presence query.
query:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_query'
recovery_strategy:
anyOf:
- description: recovers groups that stop breaching (default).
enum:
- no_breach
type: string
- description: uses a custom recovery query to detect recovery.
enum:
- query
type: string
- description: disables recovery entirely.
enum:
- none
type: string
description: How recovery is detected. "no_breach" recovers groups that stop breaching; "query" uses a custom recovery query; "none" disables recovery.
schedule:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_schedule'
state_transition:
additionalProperties: false
description: Episode state transition thresholds (alert-only).
type:
- object
- 'null'
properties:
pending_count:
description: Consecutive breaches before transitioning to active.
maximum: 1000
minimum: 0
type: integer
pending_operator:
description: How to combine count and timeframe for pending.
enum:
- AND
- OR
type: string
pending_timeframe:
description: Time window for pending evaluation, e.g. 5m, 15m.
type: string
recovering_count:
description: Consecutive recoveries before transitioning to inactive.
maximum: 1000
minimum: 0
type: integer
recovering_operator:
description: How to combine count and timeframe for recovering.
enum:
- AND
- OR
type: string
recovering_timeframe:
description: Time window for recovering evaluation, e.g. 5m, 15m.
type: string
time_field:
default: '@timestamp'
description: Time field used for the lookback window range filter.
maxLength: 128
minLength: 1
type: string
updated_at:
description: ISO timestamp when the rule was last updated.
type: string
updated_by:
description: User who last updated the rule.
type:
- string
- 'null'
version:
description: The saved object version token of the rule, used for optimistic concurrency control.
type: string
required:
- kind
- metadata
- schedule
- query
- id
- enabled
- created_by
- created_at
- updated_by
- updated_at
Kibana_HTTP_APIs_alerting_bulk_snooze_action_policies_request:
additionalProperties: false
type: object
properties:
ids:
description: Explicit list of IDs to operate on.
items:
maxLength: 150
minLength: 1
type: string
maxItems: 100
minItems: 1
type: array
snoozed_until:
description: The ISO datetime until which the targeted action policies should be snoozed.
format: date-time
pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
type: string
required:
- ids
- snoozed_until
Kibana_HTTP_APIs_alerting_new_ack_alert_action:
additionalProperties: false
type: object
properties:
episode_id:
description: The episode identifier for the alert to acknowledge.
maxLength: 150
minLength: 1
type: string
required:
- episode_id
Kibana_HTTP_APIs_alerting_new_tag_alert_action:
additionalProperties: false
type: object
properties:
tags:
description: List of tags to add to the alert.
items:
maxLength: 128
minLength: 1
type: string
maxItems: 20
type: array
required:
- tags
Kibana_HTTP_APIs_alerting_bulk_get_rules_request:
additionalProperties: false
type: object
properties:
ids:
description: Rule identifiers to retrieve. The response preserved this order.
items:
description: A rule identifier.
maxLength: 150
minLength: 1
type: string
maxItems: 100
minItems: 1
type: array
required:
- ids
Kibana_HTTP_APIs_alerting_tag_alert_action:
additionalProperties: false
type: object
properties:
action_type:
description: Adds tags to an alert.
enum:
- tag
type: string
tags:
description: List of tags to add to the alert.
items:
maxLength: 128
minLength: 1
type: string
maxItems: 20
type: array
required:
- action_type
- tags
Kibana_HTTP_APIs_alerting_rule_response_metadata:
additionalProperties: false
type: object
properties:
builder_type:
description: Identifies the rule builder that authored this rule (e.g. "threshold"). Absent for rules authored directly in ES|QL.
maxLength: 64
type: string
description:
description: Human-readable description of the rule.
maxLength: 1024
type: string
name:
description: Rule name (must be unique within the space).
maxLength: 256
minLength: 1
type: string
owner:
description: Owner of the rule.
maxLength: 256
type: string
tags:
description: Tags for categorization, e.g. ["production", "infra"].
items:
maxLength: 128
minLength: 1
type: string
maxItems: 20
minItems: 1
type: array
version:
description: Monotonically increasing integer number representing a rule configuration version, incremented on every change. Used on generated rule events as `rule.version`.
maximum: 9007199254740991
minimum: 1
type: integer
required:
- name
- version
Kibana_HTTP_APIs_alerting_update_rule:
additionalProperties: false
type: object
properties:
artifacts:
description: Artifacts attached to the rule, each shaped as `{ id, type, data }`. `data` is a type-specific object (for example a `runbook` may carry `content`, a `dashboard` may carry `dashboardId`). Per-type shape is validated by the artifact-type registry when the type is registered; unregistered types pass through with envelope bounds only.
items:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_artifact'
maxItems: 100
type:
- array
- 'null'
grouping:
allOf:
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_grouping'
metadata:
additionalProperties: false
type: object
properties:
builder_type:
maxLength: 64
type:
- string
- 'null'
description:
description: Human-readable description of the rule.
maxLength: 1024
type: string
name:
description: Rule name (must be unique within the space).
maxLength: 256
minLength: 1
type: string
owner:
description: Owner of the rule.
maxLength: 256
type: string
tags:
description: Tags for categorization, e.g. ["production", "infra"].
items:
maxLength: 128
minLength: 1
type: string
maxItems: 20
minItems: 1
type: array
no_data_strategy:
anyOf:
- description: Holds the last known episode status when no data is present.
enum:
- last_known_status
type: string
- description: Emits a `no_data` alert event when no_data query returns no rows for the group. "emit" is not currently accepted by the create/update API.
enum:
- emit
type: string
- description: Resolves the alert episode to inactive on the first no-data run.
enum:
- recover
type: string
- description: No-data situations are ignored (default).
enum:
- none
type: string
query:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_query'
recovery_strategy:
anyOf:
- description: recovers groups that stop breaching (default).
enum:
- no_breach
type: string
- description: uses a custom recovery query to detect recovery.
enum:
- query
type: string
- description: disables recovery entirely.
enum:
- none
type: string
schedule:
additionalProperties: false
type:
- object
- 'null'
properties:
every:
description: Execution interval, e.g. 1m, 5m, 1h.
type: string
lookback:
description: Lookback window for the query, e.g. 5m, 1h. Can also be expressed in ES|QL.
type: string
state_transition:
anyOf:
- additionalProperties: false
description: Episode state transition thresholds (alert-only).
type: object
properties:
pending_count:
description: Consecutive breaches before transitioning to active.
maximum: 1000
minimum: 0
type: integer
pending_operator:
description: How to combine count and timeframe for pending.
enum:
- AND
- OR
type: string
pending_timeframe:
description: Time window for pending evaluation, e.g. 5m, 15m.
type: string
recovering_count:
description: Consecutive recoveries before transitioning to inactive.
maximum: 1000
minimum: 0
type: integer
recovering_operator:
description: How to combine count and timeframe for recovering.
enum:
- AND
- OR
type: string
recovering_timeframe:
description: Time window for recovering evaluation, e.g. 5m, 15m.
type: string
- {}
time_field:
maxLength: 128
minLength: 1
type: string
version:
description: The current version of the rule, used for optimistic concurrency control.
maxLength: 256
minLength: 1
type: string
Kibana_HTTP_APIs_alerting_policy_execution_history_response:
additionalProperties: false
type: object
properties:
items:
items:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_policy_execution_history_item'
type: array
page:
maximum: 9007199254740991
minimum: 1
type: integer
per_page:
maximum: 9007199254740991
minimum: 0
type: integer
search_matches:
additionalProperties: false
description: Per-type match counts for the active search, plus the cap used as filter. Null when no search was provided. When policies > cap or rules > cap the result is truncated.
type:
- object
- 'null'
properties:
cap:
description: Maximum number of policy/rule ids the server uses as a filter.
type: number
policies:
description: Total policies matching the search.
type: number
rules:
description: Total rules matching the search.
type: number
required:
- policies
- rules
- cap
total_events:
maximum: 9007199254740991
minimum: 0
type: integer
required:
- items
- page
- per_page
- total_events
- search_matches
Kibana_HTTP_APIs_alerting_rule_query:
description: Detection query configuration.
discriminator:
mapping:
composed: '#/components/schemas/Kibana_HTTP_APIs_alerting_composed_rule_query'
standalone: '#/components/schemas/Kibana_HTTP_APIs_alerting_standalone_rule_query'
propertyName: format
oneOf:
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_composed_rule_query'
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_standalone_rule_query'
Kibana_HTTP_APIs_alerting_activate_alert_action:
additionalProperties: false
type: object
properties:
action_type:
description: Activates an alert.
enum:
- activate
type: string
reason:
description: Reason for activating the alert.
maxLength: 1024
minLength: 1
type: string
required:
- action_type
- reason
Kibana_HTTP_APIs_alerting_rule_execution:
additionalProperties: false
type: object
properties:
ended_at:
type: string
error:
additionalProperties: false
type:
- object
- 'null'
properties:
message:
type: string
stack_trace:
type:
- string
- 'null'
required:
- message
- stack_trace
id:
type: string
outcome:
enum:
- success
- failure
type: string
reason:
type:
- string
- 'null'
rule:
additionalProperties: false
type: object
properties:
id:
type: string
version:
maximum: 9007199254740991
minimum: -9007199254740991
type:
- integer
- 'null'
required:
- id
- version
space_id:
type: string
started_at:
type: string
timings:
additionalProperties: false
type: object
properties:
duration:
maximum: 9007199254740991
minimum: 0
type: integer
scheduled_delay:
maximum: 9007199254740991
minimum: -9007199254740991
type: integer
required:
- duration
- scheduled_delay
required:
- id
- rule
- space_id
- started_at
- ended_at
- timings
- outcome
- reason
- error
Kibana_HTTP_APIs_alerting_new_assign_alert_action:
additionalProperties: false
type: object
properties:
assignee_uid:
description: User profile UID of the assignee, or null to remove the assignee from the episode.
maxLength: 256
type:
- string
- 'null'
episode_id:
description: The episode identifier to assign.
maxLength: 150
minLength: 1
type: string
required:
- episode_id
- assignee_uid
Kibana_HTTP_APIs_alerting_action_policy_list_response:
additionalProperties: false
description: Paginated list of action policies.
type: object
properties:
items:
description: The list of action policies.
items:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_action_policy_response'
type: array
page:
description: The current page number.
type: number
per_page:
description: The number of action policies per page.
type: number
total:
description: The total number of action policies matching the query.
type: number
required:
- items
- total
- page
- per_page
Kibana_HTTP_APIs_alerting_new_rule:
additionalProperties: false
type: object
properties:
artifacts:
description: Artifacts attached to the rule, each shaped as `{ id, type, data }`. `data` is a type-specific object (for example a `runbook` may carry `content`, a `dashboard` may carry `dashboardId`). Per-type shape is validated by the artifact-type registry when the type is registered; unregistered types pass through with envelope bounds only.
items:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_artifact'
maxItems: 100
type: array
grouping:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_grouping'
kind:
anyOf:
- description: Default. Tracks each problem as an alert episode and its lifecycle, link it to workflows to notify your team. Use when the user wants to detect and respond.
enum:
- alert
type: string
- description: Matches are stored as queryable events. No alerts, no notifications - just data. Use when the user wants to collect evidence.
enum:
- signal
type: string
description: The kind of the rule.
metadata:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_metadata'
no_data_strategy:
anyOf:
- description: Holds the last known episode status when no data is present.
enum:
- last_known_status
type: string
- description: Emits a `no_data` alert event when no_data query returns no rows for the group. "emit" is not currently accepted by the create/update API.
enum:
- emit
type: string
- description: Resolves the alert episode to inactive on the first no-data run.
enum:
- recover
type: string
- description: No-data situations are ignored (default).
enum:
- none
type: string
description: How to handle no-data situations. "last_known_status" holds the last known status; "recover" forces recovery; "none" disables no-data detection. "emit" is not currently accepted by the create/update API. Standalone-format rules must provide a `no_data` query block when this is not "none"; composed-format rules use `base` as the data-presence query.
query:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_query'
recovery_strategy:
anyOf:
- description: recovers groups that stop breaching (default).
enum:
- no_breach
type: string
- description: uses a custom recovery query to detect recovery.
enum:
- query
type: string
- description: disables recovery entirely.
enum:
- none
type: string
description: How recovery is detected. "no_breach" recovers groups that stop breaching; "query" uses a custom recovery query; "none" disables recovery.
schedule:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_schedule'
state_transition:
additionalProperties: false
description: Episode state transition thresholds (alert-only).
type:
- object
- 'null'
properties:
pending_count:
description: Consecutive breaches before transitioning to active.
maximum: 1000
minimum: 0
type: integer
pending_operator:
description: How to combine count and timeframe for pending.
enum:
- AND
- OR
type: string
pending_timeframe:
description: Time window for pending evaluation, e.g. 5m, 15m.
type: string
recovering_count:
description: Consecutive recoveries before transitioning to inactive.
maximum: 1000
minimum: 0
type: integer
recovering_operator:
description: How to combine count and timeframe for recovering.
enum:
- AND
- OR
type: string
recovering_timeframe:
description: Time window for recovering evaluation, e.g. 5m, 15m.
type: string
time_field:
default: '@timestamp'
description: Time field used for the lookback window range filter.
maxLength: 128
minLength: 1
type: string
required:
- kind
- metadata
- schedule
- query
Kibana_HTTP_APIs_alerting_standalone_rule_query:
additionalProperties: false
description: 'Standalone queries: independent full queries for breach, recovery, and no_data.'
type: object
properties:
breach:
additionalProperties: false
description: Breach detection configuration (required).
type: object
properties:
query:
description: Full ES|QL query for breach detection (required).
maxLength: 10000
minLength: 1
type: string
required:
- query
format:
enum:
- standalone
type: string
no_data:
additionalProperties: false
description: No-data detection query. Required when no_data_strategy is not "none".
type: object
properties:
query:
description: Full ES|QL query that detects presence of data.
maxLength: 10000
minLength: 1
type: string
required:
- query
recovery:
additionalProperties: false
description: Recovery query. Required when recovery_strategy is "query".
type: object
properties:
query:
description: Full ES|QL query for recovery detection.
maxLength: 10000
minLength: 1
type: string
required:
- query
required:
- format
- breach
Kibana_HTTP_APIs_alerting_rule_executions_response:
additionalProperties: false
type: object
properties:
items:
items:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_execution'
type: array
page:
maximum: 9007199254740991
minimum: 1
type: integer
per_page:
maximum: 9007199254740991
minimum: 1
type: integer
total:
maximum: 9007199254740991
minimum: 0
type: integer
required:
- items
- total
- page
- per_page
Kibana_HTTP_APIs_alerting_bulk_create_alert_action_item:
allOf:
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_alert_action'
- additionalProperties: false
description: Alert action payload with group identifier for bulk requests.
type: object
properties:
group_hash:
description: Hash identifying the alert group to apply the action to.
maxLength: 256
minLength: 1
type: string
required:
- group_hash
Kibana_HTTP_APIs_alerting_error_response:
additionalProperties: false
type: object
properties:
code:
description: A stable, machine-readable error code (e.g., "RULE_NOT_FOUND", "INVALID_SCHEDULE"). Safe for clients to branch on.
type: string
details:
additionalProperties: {}
description: Optional structured context (e.g., validation field errors, conflict resource IDs).
type: object
error:
description: A short human-readable summary of the error category (e.g., "Not Found", "Bad Request"). Subject to change without notice. Do not parse or rely on its content.
type: string
message:
description: A human-friendly explanation of the error. Subject to change without notice. Do not parse or rely on its content.
type: string
required:
- code
- error
- message
Kibana_HTTP_APIs_alerting_assign_alert_action:
additionalProperties: false
type: object
properties:
action_type:
description: Assigns an alerting episode to a user, or clears the assignee when null.
enum:
- assign
type: string
assignee_uid:
description: User profile UID of the assignee, or null to remove the assignee from the episode.
maxLength: 256
type:
- string
- 'null'
episode_id:
description: The episode identifier to assign.
maxLength: 150
minLength: 1
type: string
required:
- action_type
- episode_id
- assignee_uid
Kibana_HTTP_APIs_alerting_snooze_alert_action:
additionalProperties: false
type: object
properties:
action_type:
description: Snoozes an alert.
enum:
- snooze
type: string
expiry:
description: ISO datetime when snooze should expire.
format: date-time
pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
type: string
required:
- action_type
Kibana_HTTP_APIs_alerting_matched_action_policy:
additionalProperties: false
description: An action policy that matches a rule, along with the reason it matched.
type: object
properties:
actionPolicy:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_action_policy_response'
description: The matched action policy.
category:
description: 'Why this action policy matches the rule: "global" (applies to all rules, no filter), or "global-filtered" (applies to all rules, KQL filter evaluated to true).'
enum:
- global
- global-filtered
type: string
required:
- actionPolicy
- category
Kibana_HTTP_APIs_alerting_unack_alert_action:
additionalProperties: false
type: object
properties:
action_type:
description: Removes acknowledgement from an alert.
enum:
- unack
type: string
episode_id:
description: The episode identifier for the alert to unacknowledge.
maxLength: 150
minLength: 1
type: string
required:
- action_type
- episode_id
Kibana_HTTP_APIs_alerting_new_activate_alert_action:
additionalProperties: false
type: object
properties:
reason:
description: Reason for activating the alert.
maxLength: 1024
minLength: 1
type: string
required:
- reason
Kibana_HTTP_APIs_alerting_rule_metadata:
additionalProperties: false
description: Rule metadata.
type: object
properties:
builder_type:
description: Identifies the rule builder that authored this rule (e.g. "threshold"). Absent for rules authored directly in ES|QL.
maxLength: 64
type: string
description:
description: Human-readable description of the rule.
maxLength: 1024
type: string
name:
description: Rule name (must be unique within the space).
maxLength: 256
minLength: 1
type: string
owner:
description: Owner of the rule.
maxLength: 256
type: string
tags:
description: Tags for categorization, e.g. ["production", "infra"].
items:
maxLength: 128
minLength: 1
type: string
maxItems: 20
minItems: 1
type: array
required:
- name
Kibana_HTTP_APIs_alerting_policy_execution_history_item:
additionalProperties: false
type: object
properties:
action_group_count:
type: number
dispatched_at:
type: string
episode_count:
type: number
episodes:
description: Episode ids referenced by this event, bounded to MAX_EMBEDDED_EPISODES_PER_ITEM. Use `episode_count` for the true total.
items:
type: object
properties:
id:
type: string
required:
- id
maxItems: 50
type: array
error:
additionalProperties: false
type: object
properties:
message:
type: string
required:
- message
failure_reason:
enum:
- missing_api_key
- workflow_not_found
- workflow_disabled
- schedule_error
type: string
outcome:
enum:
- dispatched
- throttled
- dispatch_failed
type: string
policy:
additionalProperties: false
type: object
properties:
id:
type: string
name:
type:
- string
- 'null'
required:
- id
rules:
description: Rules referenced by this event, bounded to MAX_EMBEDDED_RULES_PER_ITEM. When a search or rule filter narrows the match, this array is intersected with the matched subset server-side. Use `total_rule_count` for the full count.
items:
type: object
properties:
id:
type: string
name:
type:
- string
- 'null'
required:
- id
maxItems: 20
type: array
total_rule_count:
description: Total number of rules referenced by this event after search / rule-filter narrowing. May exceed `rules.length` when the embedded array is truncated to the cap.
type: number
workflows:
items:
type: object
properties:
id:
type: string
name:
type:
- string
- 'null'
required:
- id
maxItems: 100
type: array
required:
- dispatched_at
- policy
- outcome
- episode_count
- action_group_count
- rules
- total_rule_count
- workflows
Kibana_HTTP_APIs_alerting_bulk_get_rules_response:
additionalProperties: false
type: object
properties:
rules:
description: The requested rules, in the same order as the requested ids.
items:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_response'
type: array
required:
- rules
Kibana_HTTP_APIs_alerting_new_unack_alert_action:
additionalProperties: false
type: object
properties:
episode_id:
description: The episode identifier for the alert to unacknowledge.
maxLength: 150
minLength: 1
type: string
required:
- episode_id
Kibana_HTTP_APIs_alerting_bulk_create_alert_actions_request:
description: Request body for bulk create alert actions. Array of 1 to 100 actions, each with group_hash and action payload.
items:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_bulk_create_alert_action_item'
maxItems: 100
minItems: 1
type: array
Kibana_HTTP_APIs_alerting_new_action_policy:
additionalProperties: false
type: object
properties:
description:
description: A description of the action policy.
maxLength: 1024
type: string
destinations:
description: The list of destinations. At least one is required.
items:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_action_policy_destination'
maxItems: 10
minItems: 1
type: array
group_by:
description: The fields used to group alerts.
items:
maxLength: 256
minLength: 1
type: string
maxItems: 16
type: array
grouping_mode:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_action_policy_grouping_mode'
description: The grouping mode for alert notifications.
matcher:
description: A KQL query string to match alerts.
maxLength: 4096
type: string
name:
description: The name of the action policy.
maxLength: 256
minLength: 1
type: string
tags:
description: Tags for categorizing the action policy.
items:
maxLength: 128
minLength: 1
type: string
maxItems: 20
type: array
throttle:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_action_policy_throttle'
description: The throttle configuration for notifications.
required:
- name
- description
- destinations
Kibana_HTTP_APIs_alerting_rule_schedule:
additionalProperties: false
description: Execution schedule configuration.
type: object
properties:
every:
description: Execution interval, e.g. 1m, 5m, 1h.
type: string
lookback:
description: Lookback window for the query, e.g. 5m, 1h. Can also be expressed in ES|QL.
type: string
required:
- every
Kibana_HTTP_APIs_alerting_deactivate_alert_action:
additionalProperties: false
type: object
properties:
action_type:
description: Deactivates an alert.
enum:
- deactivate
type: string
reason:
description: Reason for deactivating the alert.
maxLength: 1024
minLength: 1
type: string
required:
- action_type
- reason
Kibana_HTTP_APIs_alerting_snooze_action_policy_request:
additionalProperties: false
type: object
properties:
snoozed_until:
description: The ISO datetime until which the action policy should be snoozed.
format: date-time
pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
type: string
required:
- snoozed_until
Kibana_HTTP_APIs_alerting_action_policy_response:
additionalProperties: false
type: object
properties:
auth:
additionalProperties: false
description: Authentication and ownership information.
type: object
properties:
created_by_user:
description: Whether this policy was created by a user (vs system-generated).
type: boolean
owner:
description: The owner of the action policy.
type: string
required:
- owner
- created_by_user
created_at:
description: The ISO datetime when the action policy was created.
type: string
created_by:
description: The user ID who created the action policy.
type:
- string
- 'null'
description:
description: A description of the action policy.
type: string
destinations:
description: The list of destinations.
items:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_action_policy_destination'
type: array
enabled:
description: Whether the action policy is enabled.
type: boolean
group_by:
description: The fields used to group alerts, or null for no grouping.
items:
type: string
type:
- array
- 'null'
grouping_mode:
allOf:
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_action_policy_grouping_mode'
description: The grouping mode for alert notifications.
id:
description: The unique identifier for the action policy.
type: string
matcher:
description: A KQL query to match alerts, or null to match all.
type:
- string
- 'null'
name:
description: The name of the action policy.
type: string
snoozed_until:
description: The ISO datetime until which the policy is snoozed, or null if not snoozed.
type:
- string
- 'null'
tags:
description: Tags associated with the action policy.
items:
type: string
type:
- array
- 'null'
throttle:
additionalProperties: false
description: The throttle configuration for notifications.
type:
- object
- 'null'
properties:
interval:
description: The throttle interval duration (e.g. 5m, 1h), or null when the strategy is intervalless.
type:
- string
- 'null'
strategy:
anyOf:
- description: notify only on episode status transitions (default for `per_episode`).
enum:
- on_status_change
type: string
- description: notify on transitions and at regular intervals.
enum:
- per_status_interval
type: string
- description: notify at regular intervals regardless of status (default for `all`/`per_field`).
enum:
- time_interval
type: string
- description: notify on every evaluation cycle (high volume).
enum:
- every_time
type: string
description: The throttle strategy.
required:
- interval
updated_at:
description: The ISO datetime when the action policy was last updated.
type: string
updated_by:
description: The user ID who last updated the action policy.
type:
- string
- 'null'
version:
description: The version, used for optimistic concurrency control.
type: string
required:
- id
- name
- description
- enabled
- destinations
- matcher
- group_by
- tags
- grouping_mode
- throttle
- snoozed_until
- auth
- created_by
- created_at
- updated_by
- updated_at
Kibana_HTTP_APIs_alerting_match_action_policies_for_rule_response:
additionalProperties: false
description: Action policies that match a given rule, grouped by match category.
type: object
properties:
items:
description: The list of matched action policies.
items:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_matched_action_policy'
type: array
total:
description: Total number of action policies in the space. If greater than the number evaluated, the match results may be incomplete.
maximum: 9007199254740991
minimum: 0
type: integer
required:
- items
- total
Kibana_HTTP_APIs_alerting_rule_grouping:
additionalProperties: false
description: Grouping configuration.
type: object
properties:
fields:
description: Fields to group alerts by, e.g. ["host.name", "service.name"]. Should match ES|QL GROUP BY fields.
items:
maxLength: 256
minLength: 1
type: string
maxItems: 16
type: array
required:
- fields
Kibana_HTTP_APIs_alerting_new_snooze_alert_action:
additionalProperties: false
type: object
properties:
expiry:
description: ISO datetime when snooze should expire.
format: date-time
pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
type: string
Kibana_HTTP_APIs_alerting_action_policy_destination:
description: An action policy destination configuration.
discriminator:
mapping:
workflow: '#/components/schemas/Kibana_HTTP_APIs_alerting_workflow_action_policy_destination'
propertyName: type
oneOf:
- $ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_workflow_action_policy_destination'
Kibana_HTTP_APIs_alerting_composed_rule_query:
additionalProperties: false
description: 'Composed query: a shared base with appendable breach and recovery segments.'
type: object
properties:
base:
description: Base ES|QL query. Time filters are applied automatically via the lookback window.
maxLength: 10000
minLength: 1
type: string
breach:
additionalProperties: false
description: Breach detection configuration. Omit to treat every base row as a breach.
type: object
properties:
segment:
description: A clause appended to the end of the rule's ES|QL query. Required in breach blocks.
maxLength: 10000
minLength: 1
type: string
required:
- segment
format:
enum:
- composed
type: string
recovery:
additionalProperties: false
description: Recovery query segment. Required when recovery_strategy is "query".
type: object
properties:
segment:
description: Appendable ES|QL segment for recovery detection.
maxLength: 10000
minLength: 1
type: string
required:
- segment
required:
- format
- base
Kibana_HTTP_APIs_alerting_workflow_action_policy_destination:
additionalProperties: false
type: object
properties:
id:
description: The workflow connector identifier.
maxLength: 150
minLength: 1
type: string
type:
description: The destination type.
enum:
- workflow
type: string
required:
- type
- id
Kibana_HTTP_APIs_alerting_rule_list_response:
additionalProperties: false
description: Paginated list of rules.
type: object
properties:
items:
description: The list of rules.
items:
$ref: '#/components/schemas/Kibana_HTTP_APIs_alerting_rule_response'
type: array
page:
description: The current page number.
type: number
per_page:
description: The number of rules per page.
type: number
total:
description: The total number of rules matching the query.
type: number
required:
- items
- total
- page
- per_page
Kibana_HTTP_APIs_alerting_bulk_by_ids_request:
additionalProperties: false
type: object
properties:
ids:
description: Explicit list of IDs to operate on.
items:
maxLength: 150
minLength: 1
type: string
maxItems: 100
minItems: 1
type: array
required:
- ids
Kibana_HTTP_APIs_alerting_bulk_operation_response:
additionalProperties: false
description: Result of an executed bulk operation.
type: object
properties:
affected_count:
description: Number of resources the operation successfully touched.
maximum: 9007199254740991
minimum: 0
type: integer
errors:
description: Errors encountered during the operation.
items:
type: object
properties:
error:
type: object
properties:
code:
description: A stable, machine-readable error code (e.g., "RULE_NOT_FOUND", "INVALID_SCHEDULE"). Safe for clients to branch on.
type: string
details:
additionalProperties: {}
description: Optional structured context (e.g., validation field errors, conflict resource IDs).
type: object
message:
description: A human-friendly explanation of the error. Subject to change without notice. Do not parse or rely on its content.
type: string
required:
- code
- message
id:
description: The identifier of the resource that failed.
type: string
required:
- id
- error
type: array
required:
- affected_count
- errors
Kibana_HTTP_APIs_alerting_new_deactivate_alert_action:
additionalProperties: false
type: object
properties:
reason:
description: Reason for deactivating the alert.
maxLength: 1024
minLength: 1
type: string
required:
- reason
Kibana_HTTP_APIs_alerting_new_unsnooze_alert_action:
additionalProperties: false
type: object
properties: {}
Kibana_HTTP_APIs_alerting_bulk_by_query_request:
additionalProperties: false
type: object
properties:
filter:
description: 'KQL filter string to match target resources. At most 10000 matching resources are processed per request. Cannot be empty; to target every resource use `match_all: true`.'
maxLength: 4096
minLength: 1
type: string
force:
default: false
description: When true, executes the operation. When false (default), returns a dry-run preview with `match_count` and a `sample` of matching resource IDs so the client can verify before committing.
type: boolean
match_all:
description: When true, targets every resource. Requires an explicit opt-in. Omitted by default.
enum:
- true
type: boolean
search:
description: 'Free-text search string matched against the resource-defined searchable fields. Cannot be empty; to target every resource use `match_all: true`.'
maxLength: 256
minLength: 1
type: string
Kibana_HTTP_APIs_alerting_rule_artifact:
additionalProperties: false
type: object
properties:
data:
additionalProperties: {}
description: Structured artifact data.
type: object
id:
description: Artifact identifier.
maxLength: 256
minLength: 1
type: string
type:
description: Artifact type.
maxLength: 128
minLength: 1
type: string
required:
- id
- type
- data
Kibana_HTTP_APIs_alerting_rule_tags_response:
additionalProperties: false
description: All unique tags across rules.
type: object
properties:
tags:
description: The list of unique tags.
items:
type: string
type: array
required:
- tags
Kibana_HTTP_APIs_alerting_ack_alert_action:
additionalProperties: false
type: object
properties:
action_type:
description: Acknowledges an alert.
enum:
- ack
type: string
episode_id:
description: The episode identifier for the alert to acknowledge.
maxLength: 150
minLength: 1
type: string
required:
- action_type
- episode_id
securitySchemes:
apiKeyAuth:
description: 'These APIs use key-based authentication. You must create an API key and use the encoded value in the request header. For example: `Authorization: ApiKey base64AccessApiKey`
'
in: header
name: Authorization
type: apiKey
basicAuth:
scheme: basic
type: http
x-topics:
- title: Kibana spaces
content: "Spaces enable you to organize your dashboards and other saved objects into meaningful categories.\nYou can use the default space or create your own spaces.\n\nTo run APIs in non-default spaces, you must add `s/{space_id}/` to the path.\nFor example:\n\n```bash\ncurl -X GET \"http://${KIBANA_URL}/s/marketing/api/data_views\" \\\n -H \"Authorization: ApiKey ${API_KEY}\"\n```\n\nIf you use the Kibana console to send API requests, it automatically adds the appropriate space identifier.\n\nTo learn more, check out [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces).\n"