[[get-alerting-framework-health-api]]
== Get alerting framework health API
++++
<titleabbrev>Get alerting framework health</titleabbrev>
++++

Retrieve the health status of the alerting framework.

[NOTE]
====
For the most up-to-date API details, refer to the
{kib-repo}/tree/{branch}/x-pack/plugins/alerting/docs/openapi[open API specification].
====

[[get-alerting-framework-health-api-request]]
=== {api-request-title}

`GET <kibana host>:<port>/api/alerting/_health`

`GET <kibana host>:<port>/s/<space_id>/api/alerting/_health`

=== {api-prereq-title}

You must have `read` privileges for the *Management* > *Stack Rules* feature or
for at least one of the *Analytics* > *Discover*, *Analytics* > *{ml-app}*,
*{observability}*, or *Security* features.

[[get-alerting-framework-health-api-params]]
=== {api-path-parms-title}

`space_id`::
(Optional, string) An identifier for the space. If `space_id` is not provided in
the URL, the default space is used.

[[get-alerting-framework-health-api-codes]]
=== {api-response-codes-title}

`200`::
Indicates a successful call.

[[get-alerting-framework-health-api-example]]
=== {api-examples-title}

Retrieve the health status of the alerting framework:

[source,sh]
--------------------------------------------------
GET api/alerting/_health
--------------------------------------------------
// KIBANA

The API returns the following:

[source,sh]
--------------------------------------------------
{
   "is_sufficiently_secure":true, <1>
   "has_permanent_encryption_key":true, <2>
   "alerting_framework_health":{ <3>
      "decryption_health":{
         "status":"ok",
         "timestamp":"2022-06-21T21:46:15.023Z"
      },
      "execution_health":{
         "status":"ok",
         "timestamp":"2022-06-21T21:46:15.023Z"
      },
      "read_health":{
         "status":"ok",
         "timestamp":"2022-06-21T21:46:15.023Z"
      }
   }
}
--------------------------------------------------
<1> `is_sufficiently_secure` is `false` when security is enabled, but TLS is not.
<2> `has_permanent_encryption_key` is `false` when the encrypted saved object
plugin does not have a permanent encryption key.
<3> `alerting_framework_health` has three substates that identify the health of
the alerting framework: `decryption_health`, `execution_health`, and
`read_health`. `decryption_health` returns the timestamp and status of the rule
decryption: `ok`, `warn` or `error`. `execution_health` returns the timestamp
and status of the rule execution: `ok`, `warn` or `error`. `read_health` returns
the timestamp and status of the rule reading events: `ok`, `warn` or `error`.
