Elastic Stack · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Elasticsearch Request & Response Specification Indices API

105 actions 105 updates phrasing extends openapi/elk-stack-indices-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 105 · first 16 shown; the file carries all of them

$.info
$.paths['/_component_template/{name}'].get
$.paths['/_component_template/{name}'].put
$.paths['/_component_template/{name}'].post
$.paths['/_component_template/{name}'].delete
$.paths['/_component_template/{name}'].head
$.paths['/_component_template'].get
$.paths['/_dangling/{index_uuid}'].post
$.paths['/_dangling/{index_uuid}'].delete
$.paths['/_dangling'].get
$.paths['/{index}/_block/{block}'].put
$.paths['/{index}/_block/{block}'].delete
$.paths['/_analyze'].get
$.paths['/_analyze'].post
$.paths['/{index}/_analyze'].get
$.paths['/{index}/_analyze'].post

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 Indices API
  version: 1.0.0
extends: openapi/elk-stack-indices-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: 104
- target: $.paths['/_component_template/{name}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a named component template
      effect: read
      questions:
      - What mappings and settings does one specific component template define?
      - Can I view a single component template with its default settings filled in?
      instructions:
      - text: Show component template {name}.
        slots:
          name: path.name
      - text: Get component template {name} including default settings.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_component_template/{name}'].put
  update:
    x-apievangelist-phrasing:
      intent: Create or update a component template (PUT)
      effect: write
      questions:
      - How do I define a reusable component template with shared mappings using a PUT request?
      - Can I refuse to overwrite an existing component template when I PUT a new one?
      instructions:
      - text: PUT component template {name} with template body {template}.
        slots:
          name: path.name
          template: requestBody.template
      - text: Using PUT, create component template {name} only if it does not exist yet (create={create}).
        slots:
          name: path.name
          create: query.create
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_component_template/{name}'].post
  update:
    x-apievangelist-phrasing:
      intent: Create or update a component template (POST)
      effect: write
      questions:
      - Is there a POST variant for saving a component template's mappings and settings?
      - Can I version a component template when I submit it with POST?
      instructions:
      - text: POST component template {name} containing {template}.
        slots:
          name: path.name
          template: requestBody.template
      - text: Save component template {name} via POST as version {version}.
        slots:
          name: path.name
          version: requestBody.version
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_component_template/{name}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete component templates
      effect: destructive
      questions:
      - How do I remove a component template that no index template uses any more?
      - Can I delete several component templates at once with a comma-separated list?
      instructions:
      - text: Delete component template {name}.
        slots:
          name: path.name
      - text: Remove the component templates {name} from the cluster.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_component_template/{name}'].head
  update:
    x-apievangelist-phrasing:
      intent: Check whether a component template exists
      effect: read
      questions:
      - Is there a quick way to test whether a component template exists without downloading it?
      - Does a component template with a given name already exist?
      instructions:
      - text: Check whether component template {name} exists.
        slots:
          name: path.name
      - text: Confirm that a component template called {name} is defined.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_component_template'].get
  update:
    x-apievangelist-phrasing:
      intent: List all component templates
      effect: read
      questions:
      - Which component templates are defined on my cluster?
      - Can I list every component template in flat settings format?
      instructions:
      - text: List all component templates on the cluster.
      - text: Show every component template with flat settings.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_dangling/{index_uuid}'].post
  update:
    x-apievangelist-phrasing:
      intent: Import a dangling index
      effect: write
      questions:
      - How do I recover a dangling index that is missing from the cluster state?
      - Why must I accept data loss before importing a dangling index?
      instructions:
      - text: Import dangling index {index_uuid}, accepting possible data loss ({accept_data_loss}).
        slots:
          index_uuid: path.index_uuid
          accept_data_loss: query.accept_data_loss
      - text: Bring dangling index {index_uuid} back into the cluster.
        slots:
          index_uuid: path.index_uuid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_dangling/{index_uuid}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a dangling index
      effect: destructive
      questions:
      - How do I permanently discard a dangling index I do not want to recover?
      - Can I delete a dangling index by its UUID?
      instructions:
      - text: Delete dangling index {index_uuid}.
        slots:
          index_uuid: path.index_uuid
      - text: Discard dangling index {index_uuid} with accept_data_loss={accept_data_loss}.
        slots:
          index_uuid: path.index_uuid
          accept_data_loss: query.accept_data_loss
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_dangling'].get
  update:
    x-apievangelist-phrasing:
      intent: List dangling indices
      effect: read
      questions:
      - Are there any dangling indices on my nodes that the cluster no longer tracks?
      - Which dangling indices could I import or delete?
      instructions:
      - text: List all dangling indices in the cluster.
      - text: Show me any index data on disk that is missing from the cluster state.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_block/{block}'].put
  update:
    x-apievangelist-phrasing:
      intent: Add a block to an index
      effect: write
      questions:
      - How do I make an index read-only by adding a write block?
      - Which operation types can I block on an index?
      instructions:
      - text: Add a {block} block to index {index}.
        slots:
          block: path.block
          index: path.index
      - text: Block writes on {index} by applying the {block} block.
        slots:
          index: path.index
          block: path.block
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_block/{block}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a block from an index
      effect: destructive
      questions:
      - How do I lift a read-only or write block from an index?
      - Can I remove a metadata block that I put on an index earlier?
      instructions:
      - text: Remove the {block} block from index {index}.
        slots:
          block: path.block
          index: path.index
      - text: Unblock {index} by lifting its {block} block.
        slots:
          index: path.index
          block: path.block
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_analyze'].get
  update:
    x-apievangelist-phrasing:
      intent: Analyze text into tokens (GET, cluster-wide)
      effect: read
      questions:
      - How can I see how a built-in analyzer tokenizes a sentence, using a GET request?
      - What tokens does the standard analyzer produce for my text?
      instructions:
      - text: Via GET, tokenize {text} with the {analyzer} analyzer.
        slots:
          text: requestBody.text
          analyzer: requestBody.analyzer
      - text: Run a GET analyze of {text} using tokenizer {tokenizer}.
        slots:
          text: requestBody.text
          tokenizer: requestBody.tokenizer
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_analyze'].post
  update:
    x-apievangelist-phrasing:
      intent: Analyze text into tokens (POST, cluster-wide)
      effect: read
      questions:
      - Can I POST text to the analyze API with a custom tokenizer and filters?
      - Is there a way to get a detailed explanation of each analysis step for my text?
      instructions:
      - text: POST {text} to the analyze API with tokenizer {tokenizer} and filters {filter}.
        slots:
          text: requestBody.text
          tokenizer: requestBody.tokenizer
          filter: requestBody.filter
      - text: Explain step by step how {analyzer} analyzes {text}, sent as POST.
        slots:
          analyzer: requestBody.analyzer
          text: requestBody.text
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_analyze'].get
  update:
    x-apievangelist-phrasing:
      intent: Analyze text with an index's analyzer (GET)
      effect: read
      questions:
      - How do I check how a field in a particular index would tokenize my text, over GET?
      - Can I test a custom analyzer defined in one index's settings?
      instructions:
      - text: Using GET, analyze {text} with the analyzer mapped to field {field} in index {index}.
        slots:
          text: requestBody.text
          field: requestBody.field
          index: path.index
      - text: GET the tokens that index {index}'s {analyzer} analyzer produces for {text}.
        slots:
          index: path.index
          analyzer: requestBody.analyzer
          text: requestBody.text
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_analyze'].post
  update:
    x-apievangelist-phrasing:
      intent: Analyze text with an index's analyzer (POST)
      effect: read
      questions:
      - Can I POST sample text to an index to see how its custom analyzer breaks it up?
      - Which normalizer output would an index's keyword field give for a value?
      instructions:
      - text: POST {text} to index {index} and analyze it as field {field}.
        slots:
          text: requestBody.text
          index: path.index
          field: requestBody.field
      - text: Normalize {text} with index {index}'s normalizer {normalizer}, via POST.
        slots:
          text: requestBody.text
          index: path.index
          normalizer: requestBody.normalizer
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_cache/clear'].post
  update:
    x-apievangelist-phrasing:
      intent: Clear caches on all indices
      effect: write
      questions:
      - How do I clear the query, request and fielddata caches across every index?
      - Can I clear only the fielddata cache cluster-wide?
      instructions:
      - text: Clear all caches for every index in the cluster.
      - text: Clear only the fielddata cache on all indices (fielddata={fielddata}).
        slots:
          fielddata: query.fielddata
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_cache/clear'].post
  update:
    x-apievangelist-phrasing:
      intent: Clear caches for specific indices
      effect: write
      questions:
      - How do I clear the cache for just one index after changing its analyzers?
      - Can I clear the request cache of a single data stream?
      instructions:
      - text: Clear the caches of index {index}.
        slots:
          index: path.index
      - text: Clear only the request cache on {index} (request={request}).
        slots:
          index: path.index
          request: query.request
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_clone/{target}'].put
  update:
    x-apievangelist-phrasing:
      intent: Clone an index (PUT)
      effect: write
      questions:
      - How do I make an exact copy of an existing index under a new name with a PUT request?
      - Does the source index need to be read-only before I clone it?
      instructions:
      - text: PUT a clone of index {index} as {target}.
        slots:
          index: path.index
          target: path.target
      - text: Clone {index} into {target} with settings {settings}, using PUT.
        slots:
          index: path.index
          target: path.target
          settings: requestBody.settings
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_clone/{target}'].post
  update:
    x-apievangelist-phrasing:
      intent: Clone an index (POST)
      effect: write
      questions:
      - Can I clone an index with a POST request and give the copy new aliases?
      - Is there a POST form of the clone index API?
      instructions:
      - text: POST a clone of {index} to new index {target}.
        slots:
          index: path.index
          target: path.target
      - text: Clone {index} to {target} via POST and add aliases {aliases}.
        slots:
          index: path.index
          target: path.target
          aliases: requestBody.aliases
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_close'].post
  update:
    x-apievangelist-phrasing:
      intent: Close an index
      effect: destructive
      questions:
      - How do I close an index so it stops using resources but keeps its data?
      - Can I wait for shards to be active when closing an index?
      instructions:
      - text: Close index {index}.
        slots:
          index: path.index
      - text: Close {index} and wait for {wait_for_active_shards} active shards.
        slots:
          index: path.index
          wait_for_active_shards: query.wait_for_active_shards
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get index details
      effect: read
      questions:
      - What settings, mappings and aliases does an index have?
      - Can I retrieve only the mappings section of an index's details?
      instructions:
      - text: Show the settings, mappings and aliases of index {index}.
        slots:
          index: path.index
      - text: Get index {index} but only return the {features} features.
        slots:
          index: path.index
          features: query.features
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}'].put
  update:
    x-apievangelist-phrasing:
      intent: Create an index
      effect: write
      questions:
      - How do I create a new Elasticsearch index with custom mappings and shard settings?
      - Can I set aliases at the moment I create an index?
      instructions:
      - text: Create index {index}.
        slots:
          index: path.index
      - text: Create index {index} with mappings {mappings} and settings {settings}.
        slots:
          index: path.index
          mappings: requestBody.mappings
          settings: requestBody.settings
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete indices
      effect: destructive
      questions:
      - How do I delete an index and all of its documents?
      - Can I delete several indices at once, and what happens with wildcards?
      instructions:
      - text: Delete index {index}.
        slots:
          index: path.index
      - text: Permanently delete the indices {index} and ignore any that are missing.
        slots:
          index: path.index
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}'].head
  update:
    x-apievangelist-phrasing:
      intent: Check whether an index exists
      effect: read
      questions:
      - Is there a lightweight way to test that an index exists?
      - Does an index, data stream or alias with this name exist already?
      instructions:
      - text: Check whether index {index} exists.
        slots:
          index: path.index
      - text: Tell me if there is an index called {index}.
        slots:
          index: path.index
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_alias/{name}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a specific alias on specific indices
      effect: read
      questions:
      - Is a particular alias attached to a particular index, and how is it configured?
      - Can I see the filter and routing of one alias on one index?
      instructions:
      - text: Show alias {name} on index {index}.
        slots:
          name: path.name
          index: path.index
      - text: Get the configuration of alias {name} for indices {index}.
        slots:
          name: path.name
          index: path.index
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_alias/{name}'].put
  update:
    x-apievangelist-phrasing:
      intent: Add an alias to an index (PUT _alias)
      effect: write
      questions:
      - How do I point an alias at an index with a PUT to the singular _alias path?
      - Can an alias I add with PUT carry a filter so it only shows some documents?
      instructions:
      - text: PUT alias {name} on index {index} via the _alias path.
        slots:
          name: path.name
          index: path.index
      - text: Add filtered alias {name} to {index} with filter {filter} (PUT _alias).
        slots:
          name: path.name
          index: path.index
          filter: requestBody.filter
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_alias/{name}'].post
  update:
    x-apievangelist-phrasing:
      intent: Add an alias to an index (POST _alias)
      effect: write
      questions:
      - Can I create an index alias with a POST to the singular _alias path?
      - Is it possible to make an alias the write index when adding it by POST?
      instructions:
      - text: POST alias {name} for index {index} on the _alias path.
        slots:
          name: path.name
          index: path.index
      - text: Via POST _alias, make {name} the write alias for {index} (is_write_index={is_write_index}).
        slots:
          name: path.name
          index: path.index
          is_write_index: requestBody.is_write_index
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_alias/{name}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove an alias from an index (_alias path)
      effect: destructive
      questions:
      - How do I detach an alias from an index using the singular _alias path?
      - Does removing an alias with DELETE _alias touch the index data?
      instructions:
      - text: Delete alias {name} from index {index} via _alias.
        slots:
          name: path.name
          index: path.index
      - text: Remove {name} from {index} using the singular _alias route.
        slots:
          name: path.name
          index: path.index
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_alias/{name}'].head
  update:
    x-apievangelist-phrasing:
      intent: Check an alias exists on given indices
      effect: read
      questions:
      - Is a given alias already attached to a specific index?
      - Can I check alias membership for one index without fetching the alias?
      instructions:
      - text: Check whether alias {name} exists on index {index}.
        slots:
          name: path.name
          index: path.index
      - text: Confirm index {index} carries the alias {name}.
        slots:
          index: path.index
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_aliases/{name}'].put
  update:
    x-apievangelist-phrasing:
      intent: Add an alias to an index (PUT _aliases)
      effect: write
      questions:
      - Can I add an index alias with a PUT to the plural _aliases path?
      - How do I set custom routing on an alias added through PUT _aliases?
      instructions:
      - text: PUT alias {name} on {index} through the plural _aliases path.
        slots:
          name: path.name
          index: path.index
      - text: Via PUT _aliases, add {name} to {index} with routing {routing}.
        slots:
          name: path.name
          index: path.index
          routing: requestBody.routing
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_aliases/{name}'].post
  update:
    x-apievangelist-phrasing:
      intent: Add an alias to an index (POST _aliases)
      effect: write
      questions:
      - Is there a POST to the plural _aliases path for adding a single alias to an index?
      - Can I give an alias different search and index routing when I POST it to _aliases?
      instructions:
      - text: POST alias {name} for {index} on the plural _aliases path.
        slots:
          name: path.name
          index: path.index
      - text: Via POST _aliases, add {name} to {index} with search routing {search_routing} and index routing {index_routing}.
        slots:
          name: path.name
          index: path.index
          search_routing: requestBody.search_routing
          index_routing: requestBody.index_routing
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_aliases/{name}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove an alias from an index (_aliases path)
      effect: destructive
      questions:
      - How do I delete an alias with the plural _aliases path instead of _alias?
      - Can I drop an alias from several indices at once using DELETE _aliases?
      instructions:
      - text: Delete alias {name} from {index} via the plural _aliases path.
        slots:
          name: path.name
          index: path.index
      - text: Using DELETE _aliases, detach {name} from indices {index}.
        slots:
          name: path.name
          index: path.index
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_data_stream/{name}/_lifecycle'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a data stream's lifecycle
      effect: destructive
      questions:
      - How do I stop a data stream from being managed by its data stream lifecycle?
      - Can I remove retention management from several data streams with a wildcard?
      instructions:
      - text: Delete the lifecycle from data stream {name}.
        slots:
          name: path.name
      - text: Stop lifecycle management for data streams {name}.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_index_template/{name}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a named index template
      effect: read
      questions:
      - What index patterns and priority does a specific index template have?
      - Can I view one composable index template including its defaults?
      instructions:
      - text: Show index template {name}.
        slots:
          name: path.name
      - text: Get composable index template {name} with default settings included.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_index_template/{name}'].put
  update:
    x-apievangelist-phrasing:
      intent: Create or update an index template (PUT)
      effect: write
      questions:
      - How do I create a composable index template that applies to new indices matching a pattern, using PUT?
      - Can an index template built with PUT combine several component templates?
      instructions:
      - text: PUT index template {name} for patterns {index_patterns}.
        slots:
          name: path.name
          index_patterns: requestBody.index_patterns
      - text: Using PUT, create index template {name} composed of {composed_of} with priority {priority}.
        slots:
          name: path.name
          composed_of: requestBody.composed_of
          priority: requestBody.priority
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_index_template/{name}'].post
  update:
    x-apievangelist-phrasing:
      intent: Create or update an index template (POST)
      effect: write
      questions:
      - Is there a POST version of the composable index template API?
      - Can I make an index template create data streams when I POST it?
      instructions:
      - text: POST index template {name} matching {index_patterns}.
        slots:
          name: path.name
          index_patterns: requestBody.index_patterns
      - text: Via POST, save index template {name} for {index_patterns} with data stream settings {data_stream}.
        slots:
          name: path.name
          index_patterns: requestBody.index_patterns
          data_stream: requestBody.data_stream
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_index_template/{name}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an index template
      effect: destructive
      questions:
      - How do I delete a composable index template I no longer need?
      - Will deleting an index template affect indices already created from it?
      instructions:
      - text: Delete index template {name}.
        slots:
          name: path.name
      - text: Remove the composable index templates {name}.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_index_template/{name}'].head
  update:
    x-apievangelist-phrasing:
      intent: Check whether an index template exists
      effect: read
      questions:
      - Can I quickly test whether a composable index template exists?
      - Is there already an index template with a given name?
      instructions:
      - text: Check whether index template {name} exists.
        slots:
          name: path.name
      - text: Confirm that composable template {name} is defined.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_template/{name}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a named legacy index template
      effect: read
      questions:
      - What does one of my old-style legacy index templates contain?
      - Can I still read a legacy _template by name?
      instructions:
      - text: Show legacy index template {name}.
        slots:
          name: path.name
      - text: Get the legacy _template called {name}.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_template/{name}'].put
  update:
    x-apievangelist-phrasing:
      intent: Create or update a legacy template (PUT)
      effect: write
      questions:
      - How do I create a legacy index template with PUT for older clusters?
      - Does the order value decide which legacy template wins when patterns overlap?
      instructions:
      - text: PUT legacy template {name} for patterns {index_patterns}.
        slots:
          name: path.name
          index_patterns: requestBody.index_patterns
      - text: Using PUT, create legacy template {name} with order {order} and mappings {mappings}.
        slots:
          name: path.name
          order: requestBody.order
          mappings: requestBody.mappings
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_template/{name}'].post
  update:
    x-apievangelist-phrasing:
      intent: Create or update a legacy template (POST)
      effect: write
      questions:
      - Is there a POST variant of the legacy _template API?
      - Can I attach aliases to a legacy template sent with POST?
      instructions:
      - text: POST legacy template {name} matching {index_patterns}.
        slots:
          name: path.name
          index_patterns: requestBody.index_patterns
      - text: Via POST, save legacy template {name} with settings {settings} and aliases {aliases}.
        slots:
          name: path.name
          settings: requestBody.settings
          aliases: requestBody.aliases
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_template/{name}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a legacy index template
      effect: destructive
      questions:
      - How do I remove an old legacy _template after migrating to composable templates?
      - Can I delete a legacy template by name?
      instructions:
      - text: Delete legacy index template {name}.
        slots:
          name: path.name
      - text: Remove the old-style _template {name}.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_template/{name}'].head
  update:
    x-apievangelist-phrasing:
      intent: Check whether a legacy template exists
      effect: read
      questions:
      - Is a legacy _template with a given name still present?
      - Can I check for leftover legacy templates without fetching them?
      instructions:
      - text: Check whether legacy template {name} exists.
        slots:
          name: path.name
      - text: Confirm the old-style _template {name} is still defined.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_disk_usage'].post
  update:
    x-apievangelist-phrasing:
      intent: Analyze per-field disk usage of an index
      effect: read
      questions:
      - Which fields take up the most disk space in my index?
      - Why do I have to opt in to expensive tasks to analyze an index's disk usage?
      instructions:
      - text: Analyze disk usage per field for index {index} (run_expensive_tasks={run_expensive_tasks}).
        slots:
          index: path.index
          run_expensive_tasks: query.run_expensive_tasks
      - text: Break down how much storage each field of {index} uses.
        slots:
          index: path.index
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_alias/{name}'].get
  update:
    x-apievangelist-phrasing:
      intent: Find an alias across all indices
      effect: read
      questions:
      - Which indices does a given alias point to?
      - Can I look up an alias by name without knowing its indices?
      instructions:
      - text: Show which indices alias {name} points to.
        slots:
          name: path.name
      - text: Find alias {name} across every index.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_alias/{name}'].head
  update:
    x-apievangelist-phrasing:
      intent: Check an alias exists anywhere
      effect: read
      questions:
      - Does an alias with this name exist on any index in the cluster?
      - Can I test for an alias without naming an index?
      instructions:
      - text: Check whether alias {name} is defined anywhere in the cluster.
        slots:
          name: path.name
      - text: Tell me if any index carries alias {name}.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_field_usage_stats'].get
  update:
    x-apievangelist-phrasing:
      intent: Get field usage stats for an index
      effect: read
      questions:
      - Which fields in my index are actually used by queries?
      - Can I find unused fields per shard so I can trim my mapping?
      instructions:
      - text: Show field usage stats for index {index}.
        slots:
          index: path.index
      - text: Get per-shard usage counts for fields {fields} in {index}.
        slots:
          fields: query.fields
          index: path.index
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_flush'].get
  update:
    x-apievangelist-phrasing:
      intent: Flush all indices (GET)
      effect: write
      questions:
      - Can I trigger a flush of every index with a GET request?
      - Does a cluster-wide flush wait if another flush is already running?
      instructions:
      - text: Flush all indices using GET.
      - text: Run a GET flush across the cluster, waiting if one is ongoing ({wait_if_ongoing}).
        slots:
          wait_if_ongoing: query.wait_if_ongoing
      method: generated
      generated: '2026-09-26'


# --- truncated at 32 KB (66 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/elk-stack/refs/heads/main/overlays/elk-stack-indices-api-phrasing-overlay.yaml