Elastic Stack · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Elk Stack Streams API
22 actions
22 updates
phrasing
extends
openapi/elk-stack-streams-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Elastic Stack's API. It is a proposal applied on top of the contract, not a document Elastic Stack publishes.
What the actions change
x-apievangelist-phrasing
Targets 22 · first 16 shown; the file carries all of them
$.info
$.paths['/_streams/{name}/_disable'].post
$.paths['/_streams/{name}/_enable'].post
$.paths['/_streams/status'].get
$.paths['/api/streams'].get
$.paths['/api/streams/_disable'].post
$.paths['/api/streams/_enable'].post
$.paths['/api/streams/_resync'].post
$.paths['/api/streams/{name}'].get
$.paths['/api/streams/{name}'].put
$.paths['/api/streams/{name}'].delete
$.paths['/api/streams/{name}/_fork'].post
$.paths['/api/streams/{name}/_ingest'].get
$.paths['/api/streams/{name}/_ingest'].put
$.paths['/api/streams/{name}/_query'].get
$.paths['/api/streams/{name}/_query'].put
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Elk Stack Streams API
version: 1.0.0
extends: openapi/elk-stack-streams-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 21
- target: $.paths['/_streams/{name}/_disable'].post
update:
x-apievangelist-phrasing:
intent: Turn off a named stream type on the cluster
effect: write
questions:
- How do I switch off the logs stream feature at the Elasticsearch cluster level?
- Which cluster privilege is needed to disable a named stream?
instructions:
- text: Disable the {name} stream feature on the cluster.
slots:
name: path.name
- text: Turn off cluster-level stream type {name} with a master timeout of {master_timeout}.
slots:
name: path.name
master_timeout: query.master_timeout
method: generated
generated: '2026-09-26'
- target: $.paths['/_streams/{name}/_enable'].post
update:
x-apievangelist-phrasing:
intent: Turn on a named stream type on the cluster
effect: write
questions:
- How do I turn on the logs stream feature directly in Elasticsearch?
- Why would enabling a named stream return a 409 conflict?
instructions:
- text: Enable the {name} stream feature on the cluster.
slots:
name: path.name
- text: Switch on cluster-level stream type {name}, waiting up to {timeout}.
slots:
name: path.name
timeout: query.timeout
method: generated
generated: '2026-09-26'
- target: $.paths['/_streams/status'].get
update:
x-apievangelist-phrasing:
intent: Check which stream types are enabled
effect: read
questions:
- Are logs streams currently enabled on my Elasticsearch cluster?
- What is the status of every stream type at the cluster level?
instructions:
- text: Get the cluster status of all stream types.
- text: Show whether each stream type is enabled on the cluster.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/streams'].get
update:
x-apievangelist-phrasing:
intent: List all streams
effect: read
questions:
- What streams exist in my Kibana space?
- Can I get every stream definition in one call?
instructions:
- text: List all my streams.
- text: Show every stream defined in Kibana.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/streams/_disable'].post
update:
x-apievangelist-phrasing:
intent: Disable wired streams in Kibana
effect: destructive
questions:
- What happens to my data if I disable wired streams in Kibana?
- How do I turn off wired streams and remove their definitions?
instructions:
- text: Disable wired streams in Kibana, sending xsrf header {kbn-xsrf}.
slots:
kbn-xsrf: header.kbn-xsrf
- text: Turn off wired streams and delete all stream definitions.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/streams/_enable'].post
update:
x-apievangelist-phrasing:
intent: Enable wired streams in Kibana
effect: write
questions:
- How do I turn on wired streams from Kibana?
- Can I enable wired streams for my space through the API?
instructions:
- text: Enable wired streams in Kibana, sending xsrf header {kbn-xsrf}.
slots:
kbn-xsrf: header.kbn-xsrf
- text: Switch wired streams on.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/streams/_resync'].post
update:
x-apievangelist-phrasing:
intent: Resync streams with Elasticsearch assets
effect: write
questions:
- How do I make sure the Elasticsearch assets behind my streams are up to date?
- Can I force a resync of all streams?
instructions:
- text: Resync all streams, sending xsrf header {kbn-xsrf}.
slots:
kbn-xsrf: header.kbn-xsrf
- text: Bring every stream's Elasticsearch assets back in sync.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/streams/{name}'].get
update:
x-apievangelist-phrasing:
intent: Get a stream definition and its dashboards
effect: read
questions:
- How do I see a stream's definition along with its linked dashboards?
- Where can I read the configuration of one stream?
instructions:
- text: Get the definition of stream {name}.
slots:
name: path.name
- text: Show stream {name} and the dashboards attached to it.
slots:
name: path.name
method: generated
generated: '2026-09-26'
- target: $.paths['/api/streams/{name}'].put
update:
x-apievangelist-phrasing:
intent: Create or update a stream definition
effect: write
questions:
- How do I create a new stream or change an existing one?
- Can classic streams be created through the API, or only updated?
instructions:
- text: Create or update the stream definition for {name}.
slots:
name: path.name
- text: Upsert stream {name} with a new definition.
slots:
name: path.name
method: generated
generated: '2026-09-26'
- target: $.paths['/api/streams/{name}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a stream and its data stream
effect: destructive
questions:
- How do I delete a stream along with its underlying data stream?
- Does removing a stream also remove the data behind it?
instructions:
- text: Delete stream {name} and its underlying data stream.
slots:
name: path.name
- text: Remove the stream definition {name} permanently.
slots:
name: path.name
method: generated
generated: '2026-09-26'
- target: $.paths['/api/streams/{name}/_fork'].post
update:
x-apievangelist-phrasing:
intent: Fork a wired stream into a child stream
effect: write
questions:
- 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?
instructions:
- text: Fork stream {name} into child {stream} where {where}.
slots:
name: path.name
stream: requestBody.stream
where: requestBody.where
- text: Create a child of wired stream {name} called {stream} routed by condition {where}.
slots:
name: path.name
stream: requestBody.stream
where: requestBody.where
method: generated
generated: '2026-09-26'
- target: $.paths['/api/streams/{name}/_ingest'].get
update:
x-apievangelist-phrasing:
intent: Get a stream's ingest settings
effect: read
questions:
- What processing and routing is configured for ingest on a stream?
- How do I read the ingest settings of an ingest stream?
instructions:
- text: Get the ingest settings for stream {name}.
slots:
name: path.name
- text: Show how stream {name} processes incoming data.
slots:
name: path.name
method: generated
generated: '2026-09-26'
- target: $.paths['/api/streams/{name}/_ingest'].put
update:
x-apievangelist-phrasing:
intent: Update a stream's ingest settings
effect: write
questions:
- How do I change the ingest processing of a stream?
- Can I upsert ingest settings without recreating the stream?
instructions:
- text: Set the ingest settings for stream {name} to {ingest}.
slots:
name: path.name
ingest: requestBody.ingest
- text: Update stream {name}'s ingest configuration with {ingest}.
slots:
name: path.name
ingest: requestBody.ingest
method: generated
generated: '2026-09-26'
- target: $.paths['/api/streams/{name}/_query'].get
update:
x-apievangelist-phrasing:
intent: Get a query stream's settings
effect: read
questions:
- What query backs a query stream?
- How do I read the query settings of a query stream?
instructions:
- text: Get the query settings for query stream {name}.
slots:
name: path.name
- text: Show the query behind stream {name}.
slots:
name: path.name
method: generated
generated: '2026-09-26'
- target: $.paths['/api/streams/{name}/_query'].put
update:
x-apievangelist-phrasing:
intent: Set a query stream's query
effect: write
questions:
- How do I change the query that defines a query stream?
- Can I add field descriptions when setting a query stream's settings?
instructions:
- text: Set query stream {name} to use query {query}.
slots:
name: path.name
query: requestBody.query
- text: Update query stream {name} with query {query} and field descriptions {field_descriptions}.
slots:
name: path.name
query: requestBody.query
field_descriptions: requestBody.field_descriptions
method: generated
generated: '2026-09-26'
- target: $.paths['/api/streams/{name}/content/export'].post
update:
x-apievangelist-phrasing:
intent: Export a stream as a content pack
effect: read
questions:
- 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?
instructions:
- text: Export stream {name} as content pack {pack_name} version {version} described as {description}, including {include}.
slots:
name: path.name
pack_name: requestBody.name
version: requestBody.version
description: requestBody.description
include: requestBody.include
- text: Build a content pack from stream {name} at version {version}.
slots:
name: path.name
version: requestBody.version
method: generated
generated: '2026-09-26'
- target: $.paths['/api/streams/{name}/content/import'].post
update:
x-apievangelist-phrasing:
intent: Import a content pack into a stream
effect: write
questions:
- 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?
instructions:
- text: Import content pack {content} into stream {name}, including {include}.
slots:
content: requestBody.content
name: path.name
include: requestBody.include
- text: Load stream structure from {content} into stream {name}.
slots:
content: requestBody.content
name: path.name
method: generated
generated: '2026-09-26'
- target: $.paths['/api/streams/{streamName}/attachments'].get
update:
x-apievangelist-phrasing:
intent: List attachments linked to a stream
effect: read
questions:
- Which dashboards and other attachments are linked to a stream?
- Can I filter a stream's attachments by type or tag?
instructions:
- text: List attachments on stream {streamName}.
slots:
streamName: path.streamName
- text: Show {attachmentTypes} attachments on stream {streamName} tagged {tags}.
slots:
attachmentTypes: query.attachmentTypes
streamName: path.streamName
tags: query.tags
method: generated
generated: '2026-09-26'
- target: $.paths['/api/streams/{streamName}/attachments/_bulk'].post
update:
x-apievangelist-phrasing:
intent: Bulk link and unlink stream attachments
effect: write
questions:
- How do I link and unlink many attachments on a stream in one request?
- Can one bulk request mix different attachment types?
instructions:
- text: Apply attachment operations {operations} to stream {streamName}.
slots:
operations: requestBody.operations
streamName: path.streamName
- text: Bulk update the attachments on stream {streamName} with {operations}.
slots:
operations: requestBody.operations
streamName: path.streamName
method: generated
generated: '2026-09-26'
- target: $.paths['/api/streams/{streamName}/attachments/{attachmentType}/{attachmentId}'].put
update:
x-apievangelist-phrasing:
intent: Link an attachment to a stream
effect: write
questions:
- How do I attach a dashboard to a stream?
- What happens if I link an attachment that's already on the stream?
instructions:
- text: Link {attachmentType} {attachmentId} to stream {streamName}.
slots:
attachmentType: path.attachmentType
attachmentId: path.attachmentId
streamName: path.streamName
- text: Attach {attachmentType} with id {attachmentId} to stream {streamName}.
slots:
attachmentType: path.attachmentType
attachmentId: path.attachmentId
streamName: path.streamName
method: generated
generated: '2026-09-26'
- target: $.paths['/api/streams/{streamName}/attachments/{attachmentType}/{attachmentId}'].delete
update:
x-apievangelist-phrasing:
intent: Unlink an attachment from a stream
effect: destructive
questions:
- How do I detach a dashboard from a stream?
- Is unlinking an attachment that isn't linked an error?
instructions:
- text: Unlink {attachmentType} {attachmentId} from stream {streamName}.
slots:
attachmentType: path.attachmentType
attachmentId: path.attachmentId
streamName: path.streamName
- text: Detach {attachmentType} with id {attachmentId} from stream {streamName}.
slots:
attachmentType: path.attachmentType
attachmentId: path.attachmentId
streamName: path.streamName
method: generated
generated: '2026-09-26'