Elastic Stack (ELK Stack) data stream API

The data stream API from Elastic Stack (ELK Stack) — 14 operation(s) for data stream.

Operations 21

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /_data_stream/{name} Get details of named data streams · Get data streams #
Ask an LLM
“What backing indices and template does a particular data stream use?”
“Can I look up data streams matching a wildcard name pattern?”
Tell an agent
Get data stream {name}.
Show details for data streams matching {name}, including defaults.
PUT /_data_stream/{name} Create a data stream · Create a data stream #
Ask an LLM
“How do I create a data stream by hand instead of waiting for the first document?”
“What do I need in place before I can create a data stream?”
Tell an agent
Create data stream {name}.
Set up a new data stream called {name} using its matching index template.
DELETE /_data_stream/{name} Delete data streams and their backing indices · Delete data streams #
Ask an LLM
“How do I delete a data stream along with all its backing indices?”
“Can I delete several data streams at once using a wildcard?”
Tell an agent destructive · confirm first
Delete data stream {name} and its backing indices.
Remove all data streams matching {name}.
GET /_data_stream/_stats Get stats for all data streams · Get data stream stats #
Ask an LLM
“How much storage are my data streams using overall?”
“What's the latest timestamp across every data stream in the cluster?”
Tell an agent
Get statistics for every data stream.
Show store size and backing index counts for all data streams.
GET /_data_stream/{name}/_stats Get stats for specific data streams · Get data stream stats #
Ask an LLM
“How big is one particular data stream and how many backing indices does it have?”
“What's the maximum timestamp stored in a given data stream?”
Tell an agent
Get stats for data stream {name}.
Show the store size of data streams matching {name}.
GET /_data_stream/{name}/_lifecycle Get a data stream's lifecycle settings · Get data stream lifecycles #
Ask an LLM
“What retention period is configured on a data stream's lifecycle?”
“Is downsampling set up in this data stream's lifecycle?”
Tell an agent
Get the lifecycle configuration of data stream {name}.
Show retention and downsampling lifecycle settings for {name}, including defaults.
PUT /_data_stream/{name}/_lifecycle Set retention and downsampling on a data stream · Update data stream lifecycles #
Ask an LLM
“How do I keep only 30 days of data in a data stream?”
“Can I add downsampling rounds to a data stream's lifecycle?”
Tell an agent
Set data retention on data stream {name} to {data_retention}.
Configure downsampling {downsampling} on the lifecycle of {name}.
GET /_data_stream/{name}/_options Get a data stream's options · Get data stream options #
Ask an LLM
“Is the failure store enabled on my data stream?”
“What data stream options are currently configured?”
Tell an agent
Get the data stream options for {name}.
Show whether failure store is on for data stream {name}.
PUT /_data_stream/{name}/_options Configure a data stream's failure store · Update data stream options #
Ask an LLM
“How do I turn on the failure store so rejected documents are kept?”
“Can I change data stream options on several streams at once?”
Tell an agent
Set failure store options {failure_store} on data stream {name}.
Enable the failure store on data stream {name}.
DELETE /_data_stream/{name}/_options Remove a data stream's options · Delete data stream options #
Ask an LLM
“How do I clear the failure store configuration from a data stream?”
“Can I reset data stream options back to nothing?”
Tell an agent destructive · confirm first
Delete the data stream options from {name}.
Clear all options configured on data streams matching {name}.
POST /{index}/_downsample/{target_index} Downsample a time series index · Downsample an index #
Ask an LLM
“How do I shrink an old time series index by rolling metrics up to hourly buckets?”
“Can I downsample by keeping the last value instead of aggregating?”
Tell an agent
Downsample index {index} into {target_index} at interval {fixed_interval}.
Downsample {index} to {target_index} every {fixed_interval} using sampling method {sampling_method}.
GET /{index}/_lifecycle/explain Explain an index's data stream lifecycle status · Get the status for a data stream lifecycle #
Ask an LLM
“Why hasn't my data stream's backing index rolled over or been deleted yet?”
“Is there a lifecycle error on one of my backing indices?”
Tell an agent
Explain the data stream lifecycle status of {index}.
Show time since rollover and any lifecycle errors for {index}.
GET /_lifecycle/stats Get data stream lifecycle run statistics · Get data stream lifecycle stats #
Ask an LLM
“How long do data stream lifecycle runs take and how many streams do they manage?”
“Are lifecycle-managed data streams reporting errors?”
Tell an agent
Get statistics for data streams managed by a lifecycle.
Show the last lifecycle run duration and managed stream count.
GET /_data_stream List all data streams · Get data streams #
Ask an LLM
“What data streams exist in my cluster?”
“Can I include hidden data streams in the list?”
Tell an agent
List every data stream in the cluster.
List all data streams with expand_wildcards {expand_wildcards}.
GET /_data_stream/{name}/_mappings Get a data stream's mappings · Get data stream mappings #
Ask an LLM
“What field mappings does a data stream currently have?”
“Has a mapping override been applied to this data stream on top of its template?”
Tell an agent
Get the mappings of data stream {name}.
Show effective field mappings for {name}.
PUT /_data_stream/{name}/_mappings Override mappings on a data stream · Update data stream mappings #
Ask an LLM
“How do I add a field mapping to one data stream without editing its index template?”
“Can I preview a data stream mapping change with a dry run?”
Tell an agent
Override mappings on data stream {name} with properties {properties}.
Dry-run adding runtime fields {runtime} to data stream {name}.
GET /_data_stream/{name}/_settings Get a data stream's settings · Get data stream settings #
Ask an LLM
“What index settings apply to a data stream right now?”
“Were any setting overrides applied to this data stream?”
Tell an agent
Get the settings of data stream {name}.
Show effective index settings for data stream {name}.
PUT /_data_stream/{name}/_settings Override settings on a data stream · Update data stream settings #
Ask an LLM
“How do I change the number of replicas on one data stream without touching its template?”
“Can I test a data stream settings override as a dry run first?”
Tell an agent
Set number of replicas to {number_of_replicas} on data stream {name}.
Override the refresh interval on {name} to {refresh_interval}.
POST /_data_stream/_migrate/{name} Convert an index alias into a data stream · Convert an index alias to a data stream #
Ask an LLM
“How do I turn an existing index alias into a data stream?”
“What does an alias need before it can be migrated to a data stream?”
Tell an agent
Migrate alias {name} to a data stream.
Convert index alias {name} and its indices into a data stream.
POST /_data_stream/_modify Add or remove backing indices atomically · Update data streams #
Ask an LLM
“How do I add or remove a backing index from a data stream?”
“Can several data stream modifications be applied in one atomic step?”
Tell an agent
Apply data stream modify actions {actions}.
Atomically run these add and remove backing index actions: {actions}.
POST /_data_stream/_promote/{name} Promote a replicated data stream to regular · Promote a data stream #
Ask an LLM
“How do I turn a CCR-replicated data stream into a normal writable one after failover?”
“Can I stop a data stream following its remote leader?”
Tell an agent
Promote replicated data stream {name} to a regular data stream.
Make follower data stream {name} writable after cross-cluster failover.

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:elk-stack-data-stream-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-data-stream-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Elasticsearch Request & Response Specification data stream…
  license:
    name: Apache 2.0
    url: https://github.com/elastic/elasticsearch-specification/blob/main/LICENSE
  version: ''
tags:


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