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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'