For AI agents: a documentation index is available at https://www.elastic.co/docs/api/doc/kibana/llms.txt.
Markdown versions of each page are available by sending an Accept: text/markdown header,
or by appending .md to the page URL.
Delete rules matching a query (dry-run by default)
Generally available; added in 9.6.0
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.
Minimum length is 1, maximum length is 4096.
force
boolean
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.
Default value is false.
match_all
boolean
When true, targets every resource. Requires an explicit opt-in. Omitted by default.
Value is true.
search
string
Free-text search string matched against the resource-defined searchable fields. Cannot be empty; to target every resource use match_all: true.
Minimum length is 1, maximum length is 256.
Responses
200
application/json
Returns a dry-run preview by default, or the executed operation when force is true.
Dry-run preview returned by a by-query bulk endpoint when force is false.
Hide attributesShow attributes
match_count
integerRequired
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.
Minimum value is 0, maximum value is 9007199254740991.
sample
array[string]Required
Sample of matching resource IDs (up to 100) for spot-checking before executing.
Not more than 100 elements.
Result of an executed bulk operation.
Hide attributesShow attributes
affected_count
integerRequired
Number of resources the operation successfully touched.
Minimum value is 0, maximum value is 9007199254740991.
Stable error code you can branch on, for example INVALID_SCHEDULE or RULE_ALREADY_EXISTS.
details
object
Optional structured context whose keys depend on code. Identifier keys such as rule_id, action_policy_id and group_hash are stable, permanent public identifiers. On a 400 request-validation error, details.source (params, query, or body) names the failing part and is the only guaranteed key. The sibling details.errors may change. Do not branch on it.
Additional properties are allowed.
message
stringRequired
A readable explanation of the error. The wording can change without notice. Do not parse this field.
Stable error code you can branch on, for example INVALID_SCHEDULE or RULE_ALREADY_EXISTS.
details
object
Optional structured context whose keys depend on code. Identifier keys such as rule_id, action_policy_id and group_hash are stable, permanent public identifiers. On a 400 request-validation error, details.source (params, query, or body) names the failing part and is the only guaranteed key. The sibling details.errors may change. Do not branch on it.
Additional properties are allowed.
error
stringRequired
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.
message
stringRequired
A readable explanation of the error. The wording can change without notice. Do not parse this field.
Stable error code you can branch on, for example INVALID_SCHEDULE or RULE_ALREADY_EXISTS.
details
object
Optional structured context whose keys depend on code. Identifier keys such as rule_id, action_policy_id and group_hash are stable, permanent public identifiers. On a 400 request-validation error, details.source (params, query, or body) names the failing part and is the only guaranteed key. The sibling details.errors may change. Do not branch on it.
Additional properties are allowed.
error
stringRequired
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.
message
stringRequired
A readable explanation of the error. The wording can change without notice. Do not parse this field.
403
application/json
Indicates the user does not have the required privileges to perform the request.
Stable error code you can branch on, for example INVALID_SCHEDULE or RULE_ALREADY_EXISTS.
details
object
Optional structured context whose keys depend on code. Identifier keys such as rule_id, action_policy_id and group_hash are stable, permanent public identifiers. On a 400 request-validation error, details.source (params, query, or body) names the failing part and is the only guaranteed key. The sibling details.errors may change. Do not branch on it.
Additional properties are allowed.
error
stringRequired
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.
message
stringRequired
A readable explanation of the error. The wording can change without notice. Do not parse this field.
Stable error code you can branch on, for example INVALID_SCHEDULE or RULE_ALREADY_EXISTS.
details
object
Optional structured context whose keys depend on code. Identifier keys such as rule_id, action_policy_id and group_hash are stable, permanent public identifiers. On a 400 request-validation error, details.source (params, query, or body) names the failing part and is the only guaranteed key. The sibling details.errors may change. Do not branch on it.
Additional properties are allowed.
error
stringRequired
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.
message
stringRequired
A readable explanation of the error. The wording can change without notice. Do not parse this field.
503
application/json
Indicates the alerting engine is disabled by the alerting:v2:enabled advanced setting.
Stable error code you can branch on, for example INVALID_SCHEDULE or RULE_ALREADY_EXISTS.
details
object
Optional structured context whose keys depend on code. Identifier keys such as rule_id, action_policy_id and group_hash are stable, permanent public identifiers. On a 400 request-validation error, details.source (params, query, or body) names the failing part and is the only guaranteed key. The sibling details.errors may change. Do not branch on it.
Additional properties are allowed.
error
stringRequired
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.
message
stringRequired
A readable explanation of the error. The wording can change without notice. Do not parse this field.
{
"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."
}
Response examples (401)
{
"code": "UNAUTHORIZED",
"error": "Unauthorized",
"message": "Authentication required to access this API."
}
Response examples (403)
{
"code": "FORBIDDEN",
"error": "Forbidden",
"message": "The current user does not have the required privileges for this request."
}