Elastic Stack (ELK Stack) Xpack API

The xpack API from Elastic Stack (ELK Stack) — 2 operation(s) for xpack.

Operations 2

GET /_xpack Get information #
GET /_xpack/usage Get usage information #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/elk-stack-xpack-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

elk-stack-xpack-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Elasticsearch Request & Response Specification Xpack API
  license:
    name: Apache 2.0
    url: https://github.com/elastic/elasticsearch-specification/blob/main/LICENSE
  version: ''
tags:
- name: xpack
paths:
  /_xpack:
    get:
      tags:
      - xpack
      summary: Get information
      description: 'The information provided by the API includes:


        * Build information including the build number and timestamp.

        * License information about the currently installed license.

        * Feature information for the features that are currently enabled and available under the current license.


        ## Required authorization


        * Cluster privileges: `monitor`

        '
      operationId: xpack-info
      parameters:
      - in: query
        name: categories
        description: 'A comma-separated list of the information categories to include in the response.

          For example, `build,license,features`.'
        deprecated: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/xpack.info.XPackCategory'
        style: form
      - in: query
        name: accept_enterprise
        description: If used, this otherwise ignored parameter must be set to true
        deprecated: true
        schema:
          type: boolean
        style: form
      - in: query
        name: human
        description: 'Defines whether additional human-readable information is included in the response.

          In particular, it adds descriptions and a tag line.'
        deprecated: false
        schema:
          default: true
          type: boolean
        style: form
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  build:
                    allOf:
                    - $ref: '#/components/schemas/xpack.info.BuildInformation'
                  features:
                    allOf:
                    - $ref: '#/components/schemas/xpack.info.Features'
                  license:
                    allOf:
                    - $ref: '#/components/schemas/xpack.info.MinimalLicenseInformation'
                  tagline:
                    type: string
                required:
                - build
                - features
                - license
                - tagline
              examples:
                XPackInfoResponseExample1:
                  description: A successful response from `GET /_xpack`.
                  value: "{\n  \"build\" : {\n      \"hash\" : \"2798b1a3ce779b3611bb53a0082d4d741e4d3168\",\n      \"date\" : \"2015-04-07T13:34:42Z\"\n  },\n  \"license\" : {\n      \"uid\" : \"893361dc-9749-4997-93cb-xxx\",\n      \"type\" : \"trial\",\n      \"mode\" : \"trial\",\n      \"status\" : \"active\",\n      \"expiry_date_in_millis\" : 1542665112332\n  },\n  \"features\" : {\n      \"ccr\" : {\n        \"available\" : true,\n        \"enabled\" : true\n      },\n    \"aggregate_metric\" : {\n          \"available\" : true,\n          \"enabled\" : true\n      },\n      \"analytics\" : {\n          \"available\" : true,\n          \"enabled\" : true\n      },\n      \"archive\" : {\n          \"available\" : true,\n          \"enabled\" : true\n      },\n      \"enrich\" : {\n          \"available\" : true,\n          \"enabled\" : true\n      },\n      \"graph\" : {\n        \"available\" : true,\n        \"enabled\" : true\n      },\n      \"ilm\" : {\n        \"available\" : true,\n        \"enabled\" : true\n      },\n      \"logstash\" : {\n        \"available\" : true,\n        \"enabled\" : true\n      },\n      \"ml\" : {\n        \"available\" : true,\n        \"enabled\" : true\n      },\n      \"esql\" : {\n        \"available\" : true,\n        \"enabled\" : true\n      },\n      \"monitoring\" : {\n        \"available\" : true,\n        \"enabled\" : true\n      },\n      \"rollup\": {\n        \"available\": true,\n        \"enabled\": true\n      },\n      \"searchable_snapshots\" : {\n        \"available\" : true,\n        \"enabled\" : true\n      },\n      \"security\" : {\n        \"available\" : true,\n        \"enabled\" : true\n      },\n      \"slm\" : {\n        \"available\" : true,\n        \"enabled\" : true\n      },\n      \"spatial\" : {\n        \"available\" : true,\n        \"enabled\" : true\n      },\n      \"eql\" : {\n        \"available\" : true,\n        \"enabled\" : true\n      },\n      \"sql\" : {\n        \"available\" : true,\n        \"enabled\" : true\n      },\n      \"transform\" : {\n        \"available\" : true,\n        \"enabled\" : true\n      },\n      \"voting_only\" : {\n        \"available\" : true,\n        \"enabled\" : true\n      },\n      \"watcher\" : {\n        \"available\" : true,\n        \"enabled\" : true\n      },\n      \"data_streams\" : {\n        \"available\" : true,\n        \"enabled\" : true\n      },\n      \"data_tiers\" : {\n        \"available\" : true,\n        \"enabled\" : true\n      },\n      \"enterprise_search\": {\n        \"available\": true,\n        \"enabled\": true\n      },\n      \"universal_profiling\": {\n        \"available\": true,\n        \"enabled\": true\n      },\n      \"logsdb\": {\n        \"available\": true,\n        \"enabled\": false\n      }\n  },\n  \"tagline\" : \"You know, for X\"\n}"
      x-state: Generally available
      x-metaTags:
      - content: Elasticsearch
        name: product_name
  /_xpack/usage:
    get:
      tags:
      - xpack
      summary: Get usage information
      description: 'Get information about the features that are currently enabled and available under the current license.

        The API also provides some usage statistics.


        ## Required authorization


        * Cluster privileges: `monitor`

        '
      operationId: xpack-usage
      parameters:
      - in: query
        name: master_timeout
        description: 'The period to wait for a connection to the master node.

          If no response is received before the timeout expires, the request fails and returns an error.

          To indicate that the request should never timeout, set it to `-1`.'
        deprecated: false
        schema:
          default: 30s
          allOf:
          - $ref: '#/components/schemas/_types.Duration'
        style: form
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  aggregate_metric:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Base'
                  analytics:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Analytics'
                  archive:
                    x-state: Generally available; Added in 8.2.0
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Archive'
                  watcher:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Watcher'
                  ccr:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Ccr'
                  data_frame:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Base'
                  data_science:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Base'
                  data_lifecycle:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.DataStreamLifecycleUsage'
                  data_streams:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.DataStreams'
                  data_tiers:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.DataTiers'
                  enrich:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Base'
                  eql:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Eql'
                  flattened:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Flattened'
                  graph:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Base'
                  gpu_vector_indexing:
                    x-state: Generally available; Added in 9.3.2
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.GpuVectorIndexing'
                  health_api:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.HealthStatistics'
                  ilm:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Ilm'
                  logging:
                    x-state: Generally available; Added in 9.5.0
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Logging'
                  logstash:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Base'
                  ml:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.MachineLearning'
                  monitoring:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Monitoring'
                  rollup:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Base'
                  runtime_fields:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.RuntimeFieldTypes'
                  spatial:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Base'
                  searchable_snapshots:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.SearchableSnapshots'
                  security:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Security'
                  slm:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Slm'
                  sql:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Sql'
                  transform:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Base'
                  vectors:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Vector'
                  vectordb_document:
                    x-state: Generally available; Added in 9.5.0
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.VectorDbDocument'
                  voting_only:
                    allOf:
                    - $ref: '#/components/schemas/xpack.usage.Base'
                required:
                - aggregate_metric
                - analytics
                - archive
                - watcher
                - ccr
                - data_tiers
                - eql
                - graph
                - ilm
                - logstash
                - ml
                - monitoring
                - rollup
                - spatial
                - searchable_snapshots
                - security
                - slm
                - sql
                - transform
                - voting_only
              examples:
                XPackUsageResponseExample1:
                  description: An abbreviated response from `GET /_xpack/usage`.
                  value: "{\n  \"security\" : {\n    \"available\" : true,\n    \"enabled\" : true\n  },\n  \"monitoring\" : {\n    \"available\" : true,\n    \"enabled\" : true,\n    \"collection_enabled\" : false,\n    \"enabled_exporters\" : {\n      \"local\" : 1\n    }\n  },\n  \"watcher\" : {\n      \"available\" : true,\n      \"enabled\" : true,\n      \"execution\" : {\n        \"actions\" : {\n          \"_all\" : {\n            \"total\" : 0,\n            \"total_time_in_ms\" : 0\n          }\n        }\n      },\n    \"watch\" : {\n      \"input\" : {\n        \"_all\" : {\n          \"total\" : 0,\n          \"active\" : 0\n        }\n      },\n      \"trigger\" : {\n        \"_all\" : {\n          \"total\" : 0,\n          \"active\" : 0\n        }\n      }\n    },\n    \"count\" : {\n      \"total\" : 0,\n      \"active\" : 0\n    }\n  },\n  \"graph\" : {\n    \"available\" : true,\n    \"enabled\" : true\n  },\n  \"ml\" : {\n    \"available\" : true,\n    \"enabled\" : true,\n    \"jobs\" : {\n      \"_all\" : {\n        \"count\" : 0,\n        \"detectors\" : { },\n        \"created_by\" : { },\n        \"model_size\" : { },\n        \"forecasts\" : {\n          \"total\" : 0,\n          \"forecasted_jobs\" : 0\n        }\n      }\n    },\n    \"datafeeds\" : {\n      \"_all\" : {\n        \"count\" : 0\n      }\n    },\n    \"data_frame_analytics_jobs\" : {\n      \"_all\" : {\n        \"count\" : 0\n      },\n      \"analysis_counts\": { },\n      \"memory_usage\": {\n        \"peak_usage_bytes\": {\n          \"min\": 0.0,\n          \"max\": 0.0,\n          \"avg\": 0.0,\n          \"total\": 0.0\n        }\n      }\n    },\n    \"inference\" : {\n      \"ingest_processors\" : {\n        \"_all\" : {\n          \"num_docs_processed\" : {\n            \"max\" : 0,\n            \"sum\" : 0,\n            \"min\" : 0\n          },\n          \"pipelines\" : {\n            \"count\" : 0\n          },\n          \"num_failures\" : {\n            \"max\" : 0,\n            \"sum\" : 0,\n            \"min\" : 0\n          },\n          \"time_ms\" : {\n            \"max\" : 0,\n            \"sum\" : 0,\n            \"min\" : 0\n          }\n        }\n      },\n      \"trained_models\" : {\n        \"_all\" : {\n          \"count\": 1\n        },\n        \"count\": {\n          \"total\": 1,\n          \"prepackaged\": 1,\n          \"other\": 0\n        },\n        \"model_size_bytes\": {\n          \"min\": 0.0,\n          \"max\": 0.0,\n          \"avg\": 0.0,\n          \"total\": 0.0\n        },\n        \"estimated_operations\": {\n          \"min\": 0.0,\n          \"max\": 0.0,\n          \"avg\": 0.0,\n          \"total\": 0.0\n        }\n      },\n      \"deployments\": {\n        \"count\": 0,\n        \"inference_counts\": {\n          \"total\": 0.0,\n          \"min\": 0.0,\n          \"avg\": 0.0,\n          \"max\": 0.0\n        },\n        \"stats_by_model\": [],\n        \"model_sizes_bytes\": {\n          \"total\": 0.0,\n          \"min\": 0.0,\n          \"avg\": 0.0,\n          \"max\": 0.0\n        },\n        \"time_ms\": {\n          \"avg\": 0.0\n        }\n      }\n    },\n    \"node_count\" : 1,\n    \"memory\": {\n      anomaly_detectors_memory_bytes: 0,\n      data_frame_analytics_memory_bytes: 0,\n      pytorch_inference_memory_bytes: 0,\n      total_used_memory_bytes: 0\n    }\n  },\n  \"inference\": {\n    \"available\" : true,\n    \"enabled\" : true,\n    \"models\" : [ ]\n  },\n  \"logstash\" : {\n    \"available\" : true,\n    \"enabled\" : true\n  },\n  \"eql\" : {\n    \"available\" : true,\n    \"enabled\" : true\n  },\n  \"esql\" : {\n    \"available\" : true,\n    \"enabled\" : true,\n    \"features\" : {\n      \"eval\" : 0,\n      \"stats\" : 0,\n      \"dissect\": 0,\n      \"grok\" : 0,\n      \"limit\" : 0,\n      \"where\" : 0,\n      \"sort\" : 0,\n      \"drop\" : 0,\n      \"show\" : 0,\n      \"rename\" : 0,\n      \"mv_expand\" : 0,\n      \"keep\" : 0,\n      \"enrich\" : 0,\n      \"from\" : 0,\n      \"row\" : 0\n    },\n    \"queries\" : {\n      \"rest\" : {\n        \"total\" : 0,\n        \"failed\" : 0\n      },\n      \"kibana\" : {\n        \"total\" : 0,\n        \"failed\" : 0\n      },\n      \"_all\" : {\n        \"total\" : 0,\n        \"failed\" : 0\n    }\n  }\n  },\n  \"sql\" : {\n    \"available\" : true,\n    \"enabled\" : true,\n    \"features\" : {\n      \"having\" : 0,\n      \"subselect\" : 0,\n      \"limit\" : 0,\n      \"orderby\" : 0,\n      \"where\" : 0,\n      \"join\" : 0,\n      \"groupby\" : 0,\n      \"command\" : 0,\n      \"local\" : 0\n    },\n    \"queries\" : {\n      \"rest\" : {\n        \"total\" : 0,\n        \"paging\" : 0,\n        \"failed\" : 0\n      },\n      \"cli\" : {\n        \"total\" : 0,\n        \"paging\" : 0,\n        \"failed\" : 0\n      },\n      \"canvas\" : {\n        \"total\" : 0,\n        \"paging\" : 0,\n        \"failed\" : 0\n      },\n      \"odbc\" : {\n        \"total\" : 0,\n        \"paging\" : 0,\n        \"failed\" : 0\n      },\n      \"jdbc\" : {\n        \"total\" : 0,\n        \"paging\" : 0,\n        \"failed\" : 0\n      },\n      \"odbc32\" : {\n        \"total\" : 0,\n        \"paging\" : 0,\n        \"failed\" : 0\n      },\n      \"odbc64\" : {\n        \"total\" : 0,\n        \"paging\" : 0,\n        \"failed\" : 0\n      },\n      \"_all\" : {\n        \"total\" : 0,\n        \"paging\" : 0,\n        \"failed\" : 0\n      },\n      \"translate\" : {\n        \"count\" : 0\n      }\n    }\n  },\n  \"rollup\" : {\n    \"available\" : true,\n    \"enabled\" : true\n  },\n  \"ilm\" : {\n    \"policy_count\" : 3,\n    \"policy_stats\" : [ ]\n  },\n  \"slm\" : {\n    \"available\" : true,\n    \"enabled\" : true\n  },\n  \"ccr\" : {\n    \"available\" : true,\n    \"enabled\" : true,\n    \"follower_indices_count\" : 0,\n    \"auto_follow_patterns_count\" : 0\n  },\n  \"transform\" : {\n    \"available\" : true,\n    \"enabled\" : true\n  },\n  \"voting_only\" : {\n    \"available\" : true,\n    \"enabled\" : true\n  },\n  \"searchable_snapshots\" : {\n    \"available\" : true,\n    \"enabled\" : true,\n    \"indices_count\" : 0,\n    \"full_copy_indices_count\" : 0,\n    \"shared_cache_indices_count\" : 0\n  },\n  \"spatial\" : {\n    \"available\" : true,\n    \"enabled\" : true\n  },\n  \"analytics\" : {\n    \"available\" : true,\n    \"enabled\" : true,\n    \"stats\": {\n      \"boxplot_usage\" : 0,\n      \"top_metrics_usage\" : 0,\n      \"normalize_usage\" : 0,\n      \"cumulative_cardinality_usage\" : 0,\n      \"t_test_usage\" : 0,\n      \"rate_usage\" : 0,\n      \"string_stats_usage\" : 0,\n      \"moving_percentiles_usage\" : 0,\n      \"multi_terms_usage\" : 0\n    }\n  },\n  \"data_streams\" : {\n    \"available\" : true,\n    \"enabled\" : true,\n    \"data_streams\" : 0,\n    \"indices_count\" : 0\n  },\n  \"data_lifecycle\" : {\n    \"available\": true,\n    \"enabled\": true,\n    \"count\": 0,\n    \"default_rollover_used\": true,\n    \"data_retention\": {\n      \"configured_data_streams\": 0\n    },\n    \"effective_retention\": {\n      \"retained_data_streams\": 0\n    },\n    \"global_retention\": {\n      \"default\": {\n        \"defined\": false\n      },\n      \"max\": {\n        \"defined\": false\n      }\n    }\n  },\n  \"data_tiers\" : {\n    \"available\" : true,\n    \"enabled\" : true,\n    \"data_warm\" : {\n      \"node_count\" : 0,\n      \"index_count\" : 0,\n      \"total_shard_count\" : 0,\n      \"primary_shard_count\" : 0,\n      \"doc_count\" : 0,\n      \"total_size_bytes\" : 0,\n      \"primary_size_bytes\" : 0,\n      \"primary_shard_size_avg_bytes\" : 0,\n      \"primary_shard_size_median_bytes\" : 0,\n      \"primary_shard_size_mad_bytes\" : 0\n    },\n    \"data_frozen\" : {\n      \"node_count\" : 1,\n      \"index_count\" : 0,\n      \"total_shard_count\" : 0,\n      \"primary_shard_count\" : 0,\n      \"doc_count\" : 0,\n      \"total_size_bytes\" : 0,\n      \"primary_size_bytes\" : 0,\n      \"primary_shard_size_avg_bytes\" : 0,\n      \"primary_shard_size_median_bytes\" : 0,\n      \"primary_shard_size_mad_bytes\" : 0\n    },\n    \"data_cold\" : {\n      \"node_count\" : 0,\n      \"index_count\" : 0,\n      \"total_shard_count\" : 0,\n      \"primary_shard_count\" : 0,\n      \"doc_count\" : 0,\n      \"total_size_bytes\" : 0,\n      \"primary_size_bytes\" : 0,\n      \"primary_shard_size_avg_bytes\" : 0,\n      \"primary_shard_size_median_bytes\" : 0,\n      \"primary_shard_size_mad_bytes\" : 0\n    },\n    \"data_content\" : {\n      \"node_count\" : 0,\n      \"index_count\" : 0,\n      \"total_shard_count\" : 0,\n      \"primary_shard_count\" : 0,\n      \"doc_count\" : 0,\n      \"total_size_bytes\" : 0,\n      \"primary_size_bytes\" : 0,\n      \"primary_shard_size_avg_bytes\" : 0,\n      \"primary_shard_size_median_bytes\" : 0,\n      \"primary_shard_size_mad_bytes\" : 0\n    },\n    \"data_hot\" : {\n      \"node_count\" : 0,\n      \"index_count\" : 0,\n      \"total_shard_count\" : 0,\n      \"primary_shard_count\" : 0,\n      \"doc_count\" : 0,\n      \"total_size_bytes\" : 0,\n      \"primary_size_bytes\" : 0,\n      \"primary_shard_size_avg_bytes\" : 0,\n      \"primary_shard_size_median_bytes\" : 0,\n      \"primary_shard_size_mad_bytes\" : 0\n    }\n  },\n  \"aggregate_metric\" : {\n    \"available\" : true,\n    \"enabled\" : true\n  },\n  \"archive\" : {\n    \"available\" : true,\n    \"enabled\" : true,\n    \"indices_count\" : 0\n  },\n  \"health_api\" : {\n    \"available\" : true,\n    \"enabled\" : true,\n    \"invocations\": {\n      \"total\": 0\n    }\n  },\n  \"remote_clusters\": {\n    \"size\": 0,\n    \"mode\": {\n      \"proxy\": 0,\n      \"sniff\": 0\n    },\n    \"security\": {\n      \"cert\": 0,\n      \"api_key\": 0\n    }\n  },\n  \"enterprise_search\" : {\n    \"available\": true,\n    \"enabled\": true,\n    \"search_applications\" : {\n      \"count\": 0\n    },\n    \"analytics_collections\": {\n      \"count\": 0\n    },\n    \"query_rulesets\": {\n      \"total_rule_count\": 0,\n      \"total_count\": 0,\n      \"min_rule_count\": 0,\n      \"max_rule_count\": 0\n    }\n  },\n  \"universal_profiling\" : {\n    \"available\" : true,\n    \"enabled\" : true\n  },\n  \"logsdb\": {\n    \"available\": true,\n    \"enabled\": false,\n    \"indices_count\": 0,\n    \"indices_with_synthetic_source\": 0,\n    \"num_docs\": 0,\n    \"size_in_bytes\": 0,\n    \"has_custom_cutoff_date\": false\n  }\n}"
      x-state: Generally available
      x-metaTags:
      - content: Elasticsearch
        name: product_name
components:
  schemas:
    xpack.usage.Ilm:
      type: object
      properties:
        policy_count:
          type: number
        policy_stats:
          type: array
          items:
            $ref: '#/components/schemas/xpack.usage.IlmPolicyStatistics'
      required:
      - policy_count
      - policy_stats
    xpack.usage.SecurityRolesDls:
      type: object
      properties:
        bit_set_cache:
          allOf:
          - $ref: '#/components/schemas/xpack.usage.SecurityRolesDlsBitSetCache'
      required:
      - bit_set_cache
    _types.EpochTimeUnitMillis:
      allOf:
      - $ref: '#/components/schemas/_types.UnitMillis'
    xpack.usage.Phase:
      type: object
      properties:
        actions:
          type: array
          items:
            type: string
        min_age:
          allOf:
          - $ref: '#/components/schemas/_types.DurationValueUnitMillis'
      required:
      - actions
      - min_age
    xpack.usage.EqlFeaturesSequences:
      type: object
      properties:
        sequence_queries_three:
          allOf:
          - $ref: '#/components/schemas/_types.uint'
        sequence_queries_four:
          allOf:
          - $ref: '#/components/schemas/_types.uint'
        sequence_queries_two:
          allOf:
          - $ref: '#/components/schemas/_types.uint'
        sequence_until:
          allOf:
          - $ref: '#/components/schemas/_types.uint'
        sequence_queries_five_or_more:
          allOf:
          - $ref: '#/components/schemas/_types.uint'
        sequence_maxspan:
          allOf:
          - $ref: '#/components/schemas/_types.uint'
      required:
      - sequence_queries_three
      - sequence_queries_four
      - sequence_queries_two
      - sequence_until
      - sequence_queries_five_or_more
      - sequence_maxspan
    _types.ByteSize:
      oneOf:
      - type: number
      - type: string
    xpack.usage.EsqlLoggingConfig:
      type: object
      properties:
        enabled:
          description: Whether ES|QL query logging is enabled.
          type: boolean
        user:
          description: Whether user information is included in the ES|QL query log.
          type: boolean
        thresholds:
          description: The configured logging thresholds, keyed by threshold name, if any.
          type: object
          additionalProperties:
            $ref: '#/components/schemas/_types.Duration'
      required:
      - enabled
      - user
    _types.VersionString:
      type: string
    xpack.usage.Base:
      type: object
      properties:
        available:
          type: boolean
        enabled:
          type: boolean
      required:
      - available
      - enabled
    xpack.usage.DataStreamLifecycleGlobalRetention:
      type: object
      properties:
        default:
          description: Statistics about the cluster's default global retention.
          allOf:
          - $ref: '#/components/schemas/xpack.usage.DataStreamLifecycleGlobalRetentionStats'
        max:
          description: Statistics about the cluster's maximum global retention.
          allOf:
          - $ref: '#/components/schemas/xpack.usage.DataStreamLifecycleGlobalRetentionStats'
      required:
      - default
      - max
    xpack.usage.Slm:
      allOf:
      - $ref: '#/components/schemas/xpack.usage.Base'
      - type: object
        properties:
          policy_count:
            type: number
          policy_stats:
            allOf:
            - $ref: '#/components/schemas/slm._types.Statistics'
    xpack.usage.DataStreamLifecycleRetentionStats:
      allOf:
      - $ref: '#/components/schemas/xpack.usage.DataStreamLifecycleThresholdStats'
      - type: object
        properties:
          configured_data_streams:
            description: The number of data streams for which this value is configured.
            type: number
        required:
        - configured_data_streams
    _types.DateTime:
      description: 'A date and time, either as a string whose format can depend on the context (defaulting to ISO 8601), or a

        number of milliseconds since the Epoch. Elasticsearch accepts both as input, but will generally output a string

        representation.'
      oneOf:
      - type: string
      - $ref: '#/components/schemas/_types.EpochTimeUnitMillis'
    _types.Field:
      description: Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.
      type: string
    xpack.usage.IpFilter:
      type: object
      properties:
        http:
          type: boolean
        transport:
          type: boolean
      required:
      - http
      - transport
    xpack.info.XPackCategory:
      type: string
      enum:
      - build
      - features
      - license
    xpack.usage.RuntimeFieldsType:
      type: object
      properties:
        chars_max:
          type: number
        chars_total:
          type: number
        count:
          type: number
        doc_max:
          type: number
        doc_total:
          type: number
        index_count:
          type: number
        lang:
          type: array
          items:
            type: string
        lines_max:
          type: number
        lines_total:
          type: number
        name:
          allOf:
          - $ref: '#/components/schemas/_types.Field'
        scriptless_count:
          type: number
        shadowed_count:
          type: number
        source_max:
          type: number
        source_total:
          type: number
      required:
      - chars_max
      - chars_total
      - count
      - doc_max
      - doc_total
      - index_count
      - lang
      - lines_max
      - lines_total
      - name
      - scriptless_count
      - shadowed_count
      - source_max
      - source_total
    xpack.usage.RuntimeFieldTypes:
      allOf:
      - $ref: '#/components/schemas/xpack.usage.Base'
      - type: object
        properties:
          field_types:
            type: array
            items:
              $ref: '#/components/schemas/xpack.usage.RuntimeFieldsType'
        required:
        - field_types
    xpack.usage.Phases:
      type: object
      properties:
        cold:
          allOf:
          - $ref: '#/components/schemas/xpack.usage.Phase'
        delete:
          allOf:
          - $ref: '#/components/schemas/xpack.usage.Phase'
        frozen:
          allOf:
          - $ref: '#/components/schemas/xpack.usage.Phase'
        hot:
          allOf:
          - $ref: '#/components/schemas/xpack.usage.Phase'
        warm:
          allOf:
          - $ref: '#/components/schemas/xpack.usage.Phase'
    xpack.usage.DataStreamLifecycleThresholdStats:
      description: The `minimum_millis`, `maximum_millis`, and `average_millis` fields are only present when at least one data stream contributes to these statistics.
      type: object
      properties:
        minimum_millis:
          description: The smallest configured value in milliseconds.
          type: number
        maximum_millis:
          description: The largest configured value in milliseconds.
          type: number
        average_millis:
          description: The average configured value in milliseconds.
          type: number
    xpack.usage.Sql:
      allOf:
      - $ref: '#/components/schemas/xpack.usage.Base'
      - type: object
        properties:
          features:
            type: object
            additionalProperties:
              type: number
          queries:
            type: object
            additionalProperties:
              $ref: '#/components/schemas/xpack.usage.Query'
        required:
        - features
        - queries
    xpack.usage.Ssl:
      type: object
      properties:
        http:
          allOf:
          - $ref: '#/components/schemas/xpack.usage.FeatureToggle'
        transport:
          allOf:
          - $ref: '#/components/schemas/xpack.usage.FeatureToggle'
      required:
      - http
      - transport
    _types.Duration:
      externalDocs:
        url: https://www.elastic.co/docs/reference/elasticsearch/rest-apis/api-conventions#time-units
      description: 'A duration. Units can be `nanos`, `micros`, `ms` (milliseconds), `s` (seconds), `m` (minutes), `h` (hours) and

        `d` (days). Also accepts "0" without a unit and "-1" to indicate an unspecified value.'
      oneOf:
      - type: string
      - type: string
        enum:
        - '-1'
      - type: string
        enum:
        - '0'
    xpack.usage.EqlFeaturesJoin:
      type: object
      properties:
        join_queries_two:
          allOf:
          - $ref: '#/components/schemas/_types.uint'
        join_queries_three:
          allOf:
          - $ref: '#/components/schemas/_types.uint'
        join_until:
          allOf:
          - $ref: '#/components/schemas/_types.uint'
        join_queries_five_or_more:
          allOf:
          - $ref: '#/components/schemas/_types.uint'
        join_queries_four:
          allOf:
          - $ref: '#/components/schemas/_types.uint'
      required:
      - join_queries_two
      - join_queries_three
      - join_until
      - join_queries_five_or_more
      - join_queries_four
    xpack.usage.MlInferenceIngestProcessor:
      type: object
      properties:
        num_docs_processed:
          allOf:
          - $ref: '#/components/schemas/xpack.usage.MlInferenceIngestProcessorCount'
        pipelines:
          allOf:
          - $ref: '#/components/schemas/xpack.usage.MlCounter'
        num_failures:
          allOf:
          - $ref: '#/components/schemas/xpack.usage.MlInferenceIngestProcessorCount'
        time_ms:
          allOf:
          - $ref: '#/components/schemas/xpack.usage.MlInferenceIngestProcessorCount'
      required:
      - num_docs_processed
      - pipelines
      - num_failures
      - time_ms
    xpack.usage.SecurityRolesNative:
      type: object
      properties:
        dls:
          type: boolean
        fls:
          type: boolean
        size:
          type: number
      required:
      - dls
      - fls
      - size
    xpack.usage.MachineLearning:
      allOf:
      - $ref: '#/components/schemas/xpack.usage.Base'
      - type: object
        properties:
          datafeeds:
            type: object
            additionalProperties:
              $ref: '#/components/schemas/xpack.usage.Datafeed'
          jobs:
            description: Job usage statistics. The `_all` 

# --- truncated at 32 KB (65 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/elk-stack/refs/heads/main/openapi/elk-stack-xpack-api-openapi.yml