[[xpack-api]]
= {xpack} APIs

[partintro]
--
{xpack} exposes a wide range of REST APIs to manage and monitor its features.

* <<info-api, Info API>>
* <<security-api, Security APIs>>
* <<watcher-api, Watcher APIs>>
* <<graph-api, Graph APIs>>
* <<ml-apis, Machine Learning APIs>>
--

[[info-api]]
== Info API

The info API provides general information on the installed {xpack}. This
information includes:

* Build Information - including the build number and timestamp.
* License Information - basic information about the currently installed license.
* Features Information - The features that are currently enabled and available
  under the current license.

The following example queries the info API:

[source,js]
------------------------------------------------------------
GET /_xpack
------------------------------------------------------------

Example response:

[source,js]
------------------------------------------------------------
{
   "build": {
      "hash": "2798b1a3ce779b3611bb53a0082d4d741e4d3168",
      "timestamp": "2015-04-07T13:34:42Z"
   },
   "license": {
      "uid": "893361dc-9749-4997-93cb-802e3dofh7aa",
      "type": "internal",
      "mode": "platinum",
      "status": "active",
      "expiry_date": "2030-08-29T23:59:59.999Z",
      "expiry_date_in_millis": 1914278399999
   },
   "features": {
      "graph": {
         "description": "Graph Data Exploration for the Elastic Stack",
         "available": true,
         "enabled": true
      },
      "monitoring": {
         "description": "Monitoring for the Elastic Stack",
         "available": true,
         "enabled": true
      },
      "security": {
         "description": "Security for the Elastic Stack",
         "available": true,
         "enabled": true
      },
      "watcher": {
         "description": "Alerting, Notification and Automation for the Elastic Stack",
         "available": true,
         "enabled": true
      }
   },
   "tagline": "You know, for X"
}
------------------------------------------------------------

You can also control what information is returned using the `categories` and
`human` parameters.

The following example only returns the build and features information:

[source,js]
------------------------------------------------------------
GET /_xpack?categories=build,features
------------------------------------------------------------

The following example removes the descriptions from the response:

[source,js]
------------------------------------------------------------
GET /_xpack?human=false
------------------------------------------------------------

include::security.asciidoc[]

include::../{xes-repo-dir}/rest-api/watcher.asciidoc[]

include::graph.asciidoc[]
include::../{xes-repo-dir}/rest-api/ml-api.asciidoc[]
