Elastic Stack · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Elasticsearch Request & Response Specification data stream API

22 actions 22 updates phrasing extends openapi/elk-stack-data-stream-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['/_data_stream/{name}'].get
$.paths['/_data_stream/{name}'].put
$.paths['/_data_stream/{name}'].delete
$.paths['/_data_stream/_stats'].get
$.paths['/_data_stream/{name}/_stats'].get
$.paths['/_data_stream/{name}/_lifecycle'].get
$.paths['/_data_stream/{name}/_lifecycle'].put
$.paths['/_data_stream/{name}/_options'].get
$.paths['/_data_stream/{name}/_options'].put
$.paths['/_data_stream/{name}/_options'].delete
$.paths['/{index}/_downsample/{target_index}'].post
$.paths['/{index}/_lifecycle/explain'].get
$.paths['/_lifecycle/stats'].get
$.paths['/_data_stream'].get
$.paths['/_data_stream/{name}/_mappings'].get

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 Elasticsearch Request & Response Specification data stream API
  version: 1.0.0
extends: openapi/elk-stack-data-stream-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['/_data_stream/{name}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get details of named data streams
      effect: read
      questions:
      - What backing indices and template does a particular data stream use?
      - Can I look up data streams matching a wildcard name pattern?
      instructions:
      - text: Get data stream {name}.
        slots:
          name: path.name
      - text: Show details for data streams matching {name}, including defaults.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_data_stream/{name}'].put
  update:
    x-apievangelist-phrasing:
      intent: Create a data stream
      effect: write
      questions:
      - 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?
      instructions:
      - text: Create data stream {name}.
        slots:
          name: path.name
      - text: Set up a new data stream called {name} using its matching index template.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_data_stream/{name}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete data streams and their backing indices
      effect: destructive
      questions:
      - How do I delete a data stream along with all its backing indices?
      - Can I delete several data streams at once using a wildcard?
      instructions:
      - text: Delete data stream {name} and its backing indices.
        slots:
          name: path.name
      - text: Remove all data streams matching {name}.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_data_stream/_stats'].get
  update:
    x-apievangelist-phrasing:
      intent: Get stats for all data streams
      effect: read
      questions:
      - How much storage are my data streams using overall?
      - What's the latest timestamp across every data stream in the cluster?
      instructions:
      - text: Get statistics for every data stream.
      - text: Show store size and backing index counts for all data streams.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_data_stream/{name}/_stats'].get
  update:
    x-apievangelist-phrasing:
      intent: Get stats for specific data streams
      effect: read
      questions:
      - 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?
      instructions:
      - text: Get stats for data stream {name}.
        slots:
          name: path.name
      - text: Show the store size of data streams matching {name}.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_data_stream/{name}/_lifecycle'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a data stream's lifecycle settings
      effect: read
      questions:
      - What retention period is configured on a data stream's lifecycle?
      - Is downsampling set up in this data stream's lifecycle?
      instructions:
      - text: Get the lifecycle configuration of data stream {name}.
        slots:
          name: path.name
      - text: Show retention and downsampling lifecycle settings for {name}, including defaults.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_data_stream/{name}/_lifecycle'].put
  update:
    x-apievangelist-phrasing:
      intent: Set retention and downsampling on a data stream
      effect: write
      questions:
      - How do I keep only 30 days of data in a data stream?
      - Can I add downsampling rounds to a data stream's lifecycle?
      instructions:
      - text: Set data retention on data stream {name} to {data_retention}.
        slots:
          name: path.name
          data_retention: requestBody.data_retention
      - text: Configure downsampling {downsampling} on the lifecycle of {name}.
        slots:
          downsampling: requestBody.downsampling
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_data_stream/{name}/_options'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a data stream's options
      effect: read
      questions:
      - Is the failure store enabled on my data stream?
      - What data stream options are currently configured?
      instructions:
      - text: Get the data stream options for {name}.
        slots:
          name: path.name
      - text: Show whether failure store is on for data stream {name}.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_data_stream/{name}/_options'].put
  update:
    x-apievangelist-phrasing:
      intent: Configure a data stream's failure store
      effect: write
      questions:
      - How do I turn on the failure store so rejected documents are kept?
      - Can I change data stream options on several streams at once?
      instructions:
      - text: Set failure store options {failure_store} on data stream {name}.
        slots:
          failure_store: requestBody.failure_store
          name: path.name
      - text: Enable the failure store on data stream {name}.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_data_stream/{name}/_options'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a data stream's options
      effect: destructive
      questions:
      - How do I clear the failure store configuration from a data stream?
      - Can I reset data stream options back to nothing?
      instructions:
      - text: Delete the data stream options from {name}.
        slots:
          name: path.name
      - text: Clear all options configured on data streams matching {name}.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_downsample/{target_index}'].post
  update:
    x-apievangelist-phrasing:
      intent: Downsample a time series index
      effect: write
      questions:
      - 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?
      instructions:
      - text: Downsample index {index} into {target_index} at interval {fixed_interval}.
        slots:
          index: path.index
          target_index: path.target_index
          fixed_interval: requestBody.fixed_interval
      - text: Downsample {index} to {target_index} every {fixed_interval} using sampling method {sampling_method}.
        slots:
          index: path.index
          target_index: path.target_index
          fixed_interval: requestBody.fixed_interval
          sampling_method: requestBody.sampling_method
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_lifecycle/explain'].get
  update:
    x-apievangelist-phrasing:
      intent: Explain an index's data stream lifecycle status
      effect: read
      questions:
      - 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?
      instructions:
      - text: Explain the data stream lifecycle status of {index}.
        slots:
          index: path.index
      - text: Show time since rollover and any lifecycle errors for {index}.
        slots:
          index: path.index
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_lifecycle/stats'].get
  update:
    x-apievangelist-phrasing:
      intent: Get data stream lifecycle run statistics
      effect: read
      questions:
      - How long do data stream lifecycle runs take and how many streams do they manage?
      - Are lifecycle-managed data streams reporting errors?
      instructions:
      - text: Get statistics for data streams managed by a lifecycle.
      - text: Show the last lifecycle run duration and managed stream count.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_data_stream'].get
  update:
    x-apievangelist-phrasing:
      intent: List all data streams
      effect: read
      questions:
      - What data streams exist in my cluster?
      - Can I include hidden data streams in the list?
      instructions:
      - text: List every data stream in the cluster.
      - text: List all data streams with expand_wildcards {expand_wildcards}.
        slots:
          expand_wildcards: query.expand_wildcards
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_data_stream/{name}/_mappings'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a data stream's mappings
      effect: read
      questions:
      - What field mappings does a data stream currently have?
      - Has a mapping override been applied to this data stream on top of its template?
      instructions:
      - text: Get the mappings of data stream {name}.
        slots:
          name: path.name
      - text: Show effective field mappings for {name}.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_data_stream/{name}/_mappings'].put
  update:
    x-apievangelist-phrasing:
      intent: Override mappings on a data stream
      effect: write
      questions:
      - 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?
      instructions:
      - text: Override mappings on data stream {name} with properties {properties}.
        slots:
          name: path.name
          properties: requestBody.properties
      - text: Dry-run adding runtime fields {runtime} to data stream {name}.
        slots:
          runtime: requestBody.runtime
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_data_stream/{name}/_settings'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a data stream's settings
      effect: read
      questions:
      - What index settings apply to a data stream right now?
      - Were any setting overrides applied to this data stream?
      instructions:
      - text: Get the settings of data stream {name}.
        slots:
          name: path.name
      - text: Show effective index settings for data stream {name}.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_data_stream/{name}/_settings'].put
  update:
    x-apievangelist-phrasing:
      intent: Override settings on a data stream
      effect: write
      questions:
      - 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?
      instructions:
      - text: Set number of replicas to {number_of_replicas} on data stream {name}.
        slots:
          number_of_replicas: requestBody.number_of_replicas
          name: path.name
      - text: Override the refresh interval on {name} to {refresh_interval}.
        slots:
          name: path.name
          refresh_interval: requestBody.refresh_interval
      - text: Point data stream {name} at ILM policy {lifecycle}.
        slots:
          name: path.name
          lifecycle: requestBody.lifecycle
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_data_stream/_migrate/{name}'].post
  update:
    x-apievangelist-phrasing:
      intent: Convert an index alias into a data stream
      effect: write
      questions:
      - 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?
      instructions:
      - text: Migrate alias {name} to a data stream.
        slots:
          name: path.name
      - text: Convert index alias {name} and its indices into a data stream.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_data_stream/_modify'].post
  update:
    x-apievangelist-phrasing:
      intent: Add or remove backing indices atomically
      effect: write
      questions:
      - How do I add or remove a backing index from a data stream?
      - Can several data stream modifications be applied in one atomic step?
      instructions:
      - text: Apply data stream modify actions {actions}.
        slots:
          actions: requestBody.actions
      - text: 'Atomically run these add and remove backing index actions: {actions}.'
        slots:
          actions: requestBody.actions
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_data_stream/_promote/{name}'].post
  update:
    x-apievangelist-phrasing:
      intent: Promote a replicated data stream to regular
      effect: write
      questions:
      - 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?
      instructions:
      - text: Promote replicated data stream {name} to a regular data stream.
        slots:
          name: path.name
      - text: Make follower data stream {name} writable after cross-cluster failover.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'