Elastic Stack (ELK Stack) Streams API

The streams API from Elastic Stack (ELK Stack) — 16 operation(s) for streams.

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

POST /_streams/{name}/_disable Turn off a named stream type on the cluster · Disable a named stream #
Ask an LLM
“How do I switch off the logs stream feature at the Elasticsearch cluster level?”
“Which cluster privilege is needed to disable a named stream?”
Tell an agent
Disable the {name} stream feature on the cluster.
Turn off cluster-level stream type {name} with a master timeout of {master_timeout}.
POST /_streams/{name}/_enable Turn on a named stream type on the cluster · Enable a named stream #
Ask an LLM
“How do I turn on the logs stream feature directly in Elasticsearch?”
“Why would enabling a named stream return a 409 conflict?”
Tell an agent
Enable the {name} stream feature on the cluster.
Switch on cluster-level stream type {name}, waiting up to {timeout}.
GET /_streams/status Check which stream types are enabled · Get the status of streams #
Ask an LLM
“Are logs streams currently enabled on my Elasticsearch cluster?”
“What is the status of every stream type at the cluster level?”
Tell an agent
Get the cluster status of all stream types.
Show whether each stream type is enabled on the cluster.
GET /api/streams List all streams · Get stream list #
Ask an LLM
“What streams exist in my Kibana space?”
“Can I get every stream definition in one call?”
Tell an agent
List all my streams.
Show every stream defined in Kibana.
POST /api/streams/_disable Disable wired streams in Kibana · Disable streams #
Ask an LLM
“What happens to my data if I disable wired streams in Kibana?”
“How do I turn off wired streams and remove their definitions?”
Tell an agent destructive · confirm first
Disable wired streams in Kibana, sending xsrf header {kbn-xsrf}.
Turn off wired streams and delete all stream definitions.
POST /api/streams/_enable Enable wired streams in Kibana · Enable streams #
Ask an LLM
“How do I turn on wired streams from Kibana?”
“Can I enable wired streams for my space through the API?”
Tell an agent
Enable wired streams in Kibana, sending xsrf header {kbn-xsrf}.
Switch wired streams on.
POST /api/streams/_resync Resync streams with Elasticsearch assets · Resync streams #
Ask an LLM
“How do I make sure the Elasticsearch assets behind my streams are up to date?”
“Can I force a resync of all streams?”
Tell an agent
Resync all streams, sending xsrf header {kbn-xsrf}.
Bring every stream's Elasticsearch assets back in sync.
DELETE /api/streams/{name} Delete a stream and its data stream · Delete a stream #
Ask an LLM
“How do I delete a stream along with its underlying data stream?”
“Does removing a stream also remove the data behind it?”
Tell an agent destructive · confirm first
Delete stream {name} and its underlying data stream.
Remove the stream definition {name} permanently.
GET /api/streams/{name} Get a stream definition and its dashboards · Get a stream #
Ask an LLM
“How do I see a stream's definition along with its linked dashboards?”
“Where can I read the configuration of one stream?”
Tell an agent
Get the definition of stream {name}.
Show stream {name} and the dashboards attached to it.
PUT /api/streams/{name} Create or update a stream definition · Create or update a stream #
Ask an LLM
“How do I create a new stream or change an existing one?”
“Can classic streams be created through the API, or only updated?”
Tell an agent
Create or update the stream definition for {name}.
Upsert stream {name} with a new definition.
POST /api/streams/{name}/_fork Fork a wired stream into a child stream · Fork a stream #
Ask an LLM
“How do I split a wired stream into a child stream based on a condition?”
“Can I route part of a stream's data to a new child using a filter?”
Tell an agent
Fork stream {name} into child {stream} where {where}.
Create a child of wired stream {name} called {stream} routed by condition {where}.
GET /api/streams/{name}/_ingest Get a stream's ingest settings · Get ingest stream settings #
Ask an LLM
“What processing and routing is configured for ingest on a stream?”
“How do I read the ingest settings of an ingest stream?”
Tell an agent
Get the ingest settings for stream {name}.
Show how stream {name} processes incoming data.
PUT /api/streams/{name}/_ingest Update a stream's ingest settings · Update ingest stream settings #
Ask an LLM
“How do I change the ingest processing of a stream?”
“Can I upsert ingest settings without recreating the stream?”
Tell an agent
Set the ingest settings for stream {name} to {ingest}.
Update stream {name}'s ingest configuration with {ingest}.
GET /api/streams/{name}/_query Get a query stream's settings · Get query stream settings #
Ask an LLM
“What query backs a query stream?”
“How do I read the query settings of a query stream?”
Tell an agent
Get the query settings for query stream {name}.
Show the query behind stream {name}.
PUT /api/streams/{name}/_query Set a query stream's query · Upsert query stream settings #
Ask an LLM
“How do I change the query that defines a query stream?”
“Can I add field descriptions when setting a query stream's settings?”
Tell an agent
Set query stream {name} to use query {query}.
Update query stream {name} with query {query} and field descriptions {field_descriptions}.
POST /api/streams/{name}/content/export Export a stream as a content pack · Export stream content #
Ask an LLM
“How do I package a stream's routing, mappings and processing as a content pack?”
“Are significant-event queries included when I export stream content?”
Tell an agent
Export stream {name} as content pack {pack_name} version {version} described as {description}, including {include}.
Build a content pack from stream {name} at version {version}.
POST /api/streams/{name}/content/import Import a content pack into a stream · Import content into a stream #
Ask an LLM
“How do I apply a content pack's routing and mappings to a stream?”
“Can I import only part of a content pack into a stream?”
Tell an agent
Import content pack {content} into stream {name}, including {include}.
Load stream structure from {content} into stream {name}.
GET /api/streams/{streamName}/attachments List attachments linked to a stream · Get stream attachments #
Ask an LLM
“Which dashboards and other attachments are linked to a stream?”
“Can I filter a stream's attachments by type or tag?”
Tell an agent
List attachments on stream {streamName}.
Show {attachmentTypes} attachments on stream {streamName} tagged {tags}.
POST /api/streams/{streamName}/attachments/_bulk Bulk link and unlink stream attachments · Bulk update attachments #
Ask an LLM
“How do I link and unlink many attachments on a stream in one request?”
“Can one bulk request mix different attachment types?”
Tell an agent
Apply attachment operations {operations} to stream {streamName}.
Bulk update the attachments on stream {streamName} with {operations}.
DELETE /api/streams/{streamName}/attachments/{attachmentType}/{attachmentId} Unlink an attachment from a stream · Unlink an attachment from a stream #
Ask an LLM
“How do I detach a dashboard from a stream?”
“Is unlinking an attachment that isn't linked an error?”
Tell an agent destructive · confirm first
Unlink {attachmentType} {attachmentId} from stream {streamName}.
Detach {attachmentType} with id {attachmentId} from stream {streamName}.
PUT /api/streams/{streamName}/attachments/{attachmentType}/{attachmentId} Link an attachment to a stream · Link an attachment to a stream #
Ask an LLM
“How do I attach a dashboard to a stream?”
“What happens if I link an attachment that's already on the stream?”
Tell an agent
Link {attachmentType} {attachmentId} to stream {streamName}.
Attach {attachmentType} with id {attachmentId} to stream {streamName}.

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-streams-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-streams-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Elk Stack Streams API
  version: ''
  x-refined-note:
  - x-doc-license differs across the merged source definitions and was not carried
  - x-feedbackLink differs across the merged source definitions and was not carried
  description: 'Operations tagged streams across 2 of this provider''s published API definitions: elk-stack-elasticsearch-openapi.json, elk-stack-kibana-openapi.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://{kibana_url}
  variables:
    kibana_url:
      default: localhost:5601
tags:


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