[role="xpack"]
[testenv="basic"]
[[info-api]]
== Info API

Provides general information about the installed {xpack} features.

[discrete]
[[info-api-request]]
=== {api-request-title}

`GET /_xpack`

[discrete]
[[info-api-desc]]
=== {api-description-title}

The information provided by this API 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.

[discrete]
[[info-api-path-params]]
=== {api-path-parms-title}

`categories`::
  (Optional, list) A comma-separated list of the information categories to
  include in the response. For example, `build,license,features`.

`human`::
  (Optional, boolean) Defines whether additional human-readable information is
  included in the response. In particular, it adds descriptions and a tag line.
  The default value is `true`.

[discrete]
[[info-api-example]]
=== {api-examples-title}

The following example queries the info API:

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

Example response:

[source,console-result]
------------------------------------------------------------
{
   "build" : {
      "hash" : "2798b1a3ce779b3611bb53a0082d4d741e4d3168",
      "date" : "2015-04-07T13:34:42Z"
   },
   "license" : {
      "uid" : "893361dc-9749-4997-93cb-xxx",
      "type" : "trial",
      "mode" : "trial",
      "status" : "active",
      "expiry_date_in_millis" : 1542665112332
   },
   "features" : {
      "ccr" : {
        "available" : true,
        "enabled" : true
      },
      "analytics" : {
          "available" : true,
          "enabled" : true
      },
      "enrich" : {
          "available" : true,
          "enabled" : true
      },
      "flattened" : {
         "available" : true,
         "enabled" : true
      },
      "frozen_indices" : {
         "available" : true,
         "enabled" : true
      },
      "graph" : {
         "available" : true,
         "enabled" : true
      },
      "ilm" : {
         "available" : true,
         "enabled" : true
      },
      "logstash" : {
         "available" : true,
         "enabled" : true
      },
      "ml" : {
         "available" : true,
         "enabled" : true,
         "native_code_info" : {
           "version" : "7.0.0-alpha1-SNAPSHOT",
           "build_hash" : "99a07c016d5a73"
        }
      },
      "monitoring" : {
         "available" : true,
         "enabled" : true
      },
      "rollup": {
         "available": true,
         "enabled": true
      },
      "searchable_snapshots" : {
         "available" : true,
         "enabled" : true
      },
      "security" : {
         "available" : true,
         "enabled" : false
      },
      "slm" : {
         "available" : true,
         "enabled" : true
      },
      "spatial" : {
         "available" : true,
         "enabled" : true
      },
      "eql" : {
         "available" : true,
         "enabled" : true
      },
      "sql" : {
         "available" : true,
         "enabled" : true
      },
      "transform" : {
         "available" : true,
         "enabled" : true
      },
      "vectors" : {
         "available" : true,
         "enabled" : true
      },
      "voting_only" : {
         "available" : true,
         "enabled" : true
      },
      "watcher" : {
         "available" : true,
         "enabled" : true
      },
      "data_streams" : {
         "available" : true,
         "enabled" : true,
      },
      "data_tiers" : {
         "available" : true,
         "enabled" : true,
      }
   },
   "tagline" : "You know, for X"
}
------------------------------------------------------------
// TESTRESPONSE[s/"hash" : "2798b1a3ce779b3611bb53a0082d4d741e4d3168",/"hash" : "$body.build.hash",/]
// TESTRESPONSE[s/"date" : "2015-04-07T13:34:42Z"/"date" : "$body.build.date"/]
// TESTRESPONSE[s/"uid" : "893361dc-9749-4997-93cb-xxx",/"uid": "$body.license.uid",/]
// TESTRESPONSE[s/"expiry_date_in_millis" : 1542665112332/"expiry_date_in_millis" : "$body.license.expiry_date_in_millis"/]
// TESTRESPONSE[s/"version" : "7.0.0-alpha1-SNAPSHOT",/"version": "$body.features.ml.native_code_info.version",/]
// TESTRESPONSE[s/"build_hash" : "99a07c016d5a73"/"build_hash": "$body.features.ml.native_code_info.build_hash"/]
// TESTRESPONSE[s/"eql" : \{[^\}]*\},/"eql": $body.$_path,/]
// eql is disabled by default on release builds and enabled everywhere else during the initial implementation phase until its release
// So much s/// but at least we test that the layout is close to matching....

The following example only returns the build and features information:

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

The following example removes the descriptions from the response:

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