# 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' - target: $.paths['/_flush'].post update: x-apievangelist-phrasing: intent: Flush all indices (POST) effect: write questions: - How do I flush every index and data stream so the transaction log is committed to disk? - Can I force a flush cluster-wide even when there is nothing to commit? instructions: - text: POST a flush for every index in the cluster. - text: Force-flush all indices via POST (force={force}). slots: force: query.force method: generated generated: '2026-09-26' - target: $.paths['/{index}/_flush'].get update: x-apievangelist-phrasing: intent: Flush specific indices (GET) effect: write questions: - Is there a GET form for flushing only one index? - Can I flush a single data stream using a GET request? instructions: - text: Flush index {index} with a GET request. slots: index: path.index - text: GET-flush {index}, ignoring unavailable indices. slots: index: path.index method: generated generated: '2026-09-26' - target: $.paths['/{index}/_flush'].post update: x-apievangelist-phrasing: intent: Flush specific indices (POST) effect: write questions: - How do I flush just one index before taking a snapshot? - Can I force a flush on a specific data stream? instructions: - text: POST a flush for index {index}. slots: index: path.index - text: Force-flush {index} via POST even if no changes are pending (force={force}). slots: index: path.index force: query.force method: generated generated: '2026-09-26' - target: $.paths['/_forcemerge'].post update: x-apievangelist-phrasing: intent: Force merge all indices effect: write questions: - How do I force-merge every index in the cluster down to fewer segments? - Can I run a cluster-wide force merge that only expunges deleted documents? instructions: - text: Force-merge all indices to {max_num_segments} segments. slots: max_num_segments: query.max_num_segments - text: Expunge deleted documents across every index (only_expunge_deletes={only_expunge_deletes}). slots: only_expunge_deletes: query.only_expunge_deletes method: generated generated: '2026-09-26' - target: $.paths['/{index}/_forcemerge'].post update: x-apievangelist-phrasing: intent: Force merge specific indices effect: write questions: - How do I force-merge a read-only index to one segment to speed up searches? - Can I run a force merge on one index without waiting for it to finish? instructions: - text: Force-merge index {index} down to {max_num_segments} segment. slots: index: path.index max_num_segments: query.max_num_segments - text: Start a force merge on {index} in the background (wait_for_completion={wait_for_completion}). slots: index: path.index wait_for_completion: query.wait_for_completion method: generated generated: '2026-09-26' - target: $.paths['/_alias'].get update: x-apievangelist-phrasing: intent: List all aliases in the cluster effect: read questions: - What aliases exist across my whole cluster? - Can I list every alias including those on hidden indices? instructions: - text: List every alias in the cluster. - text: Show all aliases, expanding wildcards to {expand_wildcards} indices. slots: expand_wildcards: query.expand_wildcards method: generated generated: '2026-09-26' - target: $.paths['/{index}/_alias'].get update: x-apievangelist-phrasing: intent: List all aliases on an index effect: read questions: - Which aliases point at a particular index? - Can I see every alias attached to one data stream? instructions: - text: List all aliases on index {index}. slots: index: path.index - text: Show every alias that references {index}. slots: index: path.index method: generated generated: '2026-09-26' - target: $.paths['/_mapping/field/{fields}'].get update: x-apievangelist-phrasing: intent: Get mappings for fields across all indices effect: read questions: - How is a given field mapped across all of my indices? - Can I check the type of one field everywhere without pulling whole mappings? instructions: - text: Show the mapping of fields {fields} across all indices. slots: fields: path.fields - text: Get the field mapping for {fields} in every index, including defaults. slots: fields: path.fields method: generated generated: '2026-09-26' - target: $.paths['/{index}/_mapping/field/{fields}'].get update: x-apievangelist-phrasing: intent: Get mappings for fields in given indices effect: read questions: - What type is a particular field mapped as in one specific index? - Can I retrieve just a couple of field mappings from an index? instructions: - text: Show the mapping of field {fields} in index {index}. slots: fields: path.fields index: path.index - text: Get mappings for fields {fields} of {index} only. slots: fields: path.fields index: path.index method: generated generated: '2026-09-26' - target: $.paths['/_index_template'].get update: x-apievangelist-phrasing: intent: List all index templates effect: read questions: - Which composable index templates are configured on my cluster? - Can I list every index template in flat settings form? instructions: - text: List all composable index templates. - text: Show every index template on the cluster with flat settings. method: generated generated: '2026-09-26' - target: $.paths['/_mapping'].get update: x-apievangelist-phrasing: intent: Get mappings for all indices effect: read questions: - What are the mappings for every index in my cluster? - Can I dump all index mappings at once? instructions: - text: Get the mappings of every index. - text: Show all index mappings in the cluster. method: generated generated: '2026-09-26' - target: $.paths['/{index}/_mapping'].get update: x-apievangelist-phrasing: intent: Get mappings for specific indices effect: read questions: - What is the full mapping of a specific index? - Can I compare the mappings of two indices by fetching them together? instructions: - text: Show the full mapping of index {index}. slots: index: path.index - text: Get mappings for indices {index}. slots: index: path.index method: generated generated: '2026-09-26' - target: $.paths['/{index}/_mapping'].put update: x-apievangelist-phrasing: intent: Add fields to an index mapping (PUT) effect: write questions: - How do I add a new field to an existing index mapping with PUT? - Can I change a mapping's dynamic setting on an existing index? instructions: - text: PUT new field properties {properties} into the mapping of {index}. slots: properties: requestBody.properties index: path.index - text: Using PUT, set dynamic mapping to {dynamic} on index {index}. slots: dynamic: requestBody.dynamic index: path.index method: generated generated: '2026-09-26' - target: $.paths['/{index}/_mapping'].post update: x-apievangelist-phrasing: intent: Add fields to an index mapping (POST) effect: write questions: - Is there a POST form for updating an index's field mappings? - Can I add runtime fields to an index mapping via POST? instructions: - text: POST mapping properties {properties} to index {index}. slots: properties: requestBody.properties index: path.index - text: Via POST, add runtime fields {runtime} to the mapping of {index}. slots: runtime: requestBody.runtime index: path.index method: generated generated: '2026-09-26' - target: $.paths['/_settings'].get update: x-apievangelist-phrasing: intent: Get settings for all indices effect: read questions: - What are the settings of every index in the cluster? - Can I see all index settings including defaults? instructions: - text: Get the settings of all indices. - text: Show every index's settings, including default values. method: generated generated: '2026-09-26' - target: $.paths['/_settings'].put update: x-apievangelist-phrasing: intent: Update settings on all indices effect: write questions: - How do I change a dynamic setting such as refresh interval on every index at once? - Can I bulk-update replica counts cluster-wide while keeping existing values? instructions: - text: Set number_of_replicas to {number_of_replicas} on all indices. slots: number_of_replicas: requestBody.number_of_replicas - text: Change the refresh interval of every index to {refresh_interval}. slots: refresh_interval: requestBody.refresh_interval method: generated generated: '2026-09-26' - target: $.paths['/{index}/_settings'].get update: x-apievangelist-phrasing: intent: Get settings for specific indices effect: read questions: - What shard, replica and refresh settings does a particular index have? - Can I read one index's settings in flat format? instructions: - text: Show the settings of index {index}. slots: index: path.index - text: Get settings for {index} with flat settings enabled. slots: index: path.index method: generated generated: '2026-09-26' - target: $.paths['/{index}/_settings'].put update: x-apievangelist-phrasing: intent: Update settings on specific indices effect: write questions: - How do I change the number of replicas on one index? - Can I set a default ingest pipeline on an existing index? instructions: - text: Set replicas on index {index} to {number_of_replicas}. slots: index: path.index number_of_replicas: requestBody.number_of_replicas - text: Make {default_pipeline} the default pipeline for {index}. slots: default_pipeline: requestBody.default_pipeline index: path.index method: generated generated: '2026-09-26' - target: $.paths['/{index}/_settings/{name}'].get update: x-apievangelist-phrasing: intent: Get one setting for specific indices effect: read questions: - What is the value of a single named setting on a given index? - Can I filter an index's settings to just the ones I name? instructions: - text: Get setting {name} for index {index}. slots: name: path.name index: path.index - text: Show only the {name} settings of {index}. slots: name: path.name index: path.index method: generated generated: '2026-09-26' - target: $.paths['/_settings/{name}'].get update: x-apievangelist-phrasing: intent: Get one setting across all indices effect: read questions: - What value does a specific setting have on every index? - Can I compare one setting, like refresh interval, across the whole cluster? instructions: - text: Show setting {name} for all indices. slots: name: path.name - text: Compare the {name} setting across every index. slots: name: path.name method: generated generated: '2026-09-26' - target: $.paths['/_template'].get update: x-apievangelist-phrasing: intent: List all legacy index templates effect: read questions: - Which legacy index templates are still defined on my cluster? - Are any old _template definitions left over after an upgrade? instructions: - text: List all legacy index templates. - text: Show every old-style _template on the cluster. method: generated generated: '2026-09-26' - target: $.paths['/{index}/_open'].post update: x-apievangelist-phrasing: intent: Reopen a closed index effect: write questions: - How do I reopen an index I closed earlier? - Can I wait until shards are active when opening an index? instructions: - text: Open closed index {index}. slots: index: path.index - text: Reopen {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['/_recovery'].get update: x-apievangelist-phrasing: intent: Get shard recovery status for all indices effect: read questions: - Which shard recoveries are in progress across the cluster? - Can I list only active recoveries for every index? instructions: - text: Show recovery information for all indices. - text: List only in-progress shard recoveries cluster-wide (active_only={active_only}). slots: active_only: query.active_only method: generated generated: '2026-09-26' - target: $.paths['/{index}/_recovery'].get update: x-apievangelist-phrasing: intent: Get shard recovery status for specific indices effect: read questions: - How far along is the recovery of a specific index's shards? - Can I get detailed recovery progress for one index? instructions: - text: Show recovery progress for index {index}. slots: index: path.index - text: Get detailed recovery info for {index} (detailed={detailed}). slots: index: path.index detailed: query.detailed method: generated generated: '2026-09-26' - target: $.paths['/_refresh'].get update: x-apievangelist-phrasing: intent: Refresh all indices (GET) effect: write questions: - Can I make recent writes searchable on every index with a GET refresh? - Is there a GET form of the cluster-wide refresh call? instructions: - text: Refresh all indices using GET. - text: Run a GET refresh across the whole cluster. method: generated generated: '2026-09-26' - target: $.paths['/_refresh'].post update: x-apievangelist-phrasing: intent: Refresh all indices (POST) effect: write questions: - How do I force every index to refresh so new documents are visible to search? - What does a cluster-wide refresh do to recently indexed data? instructions: - text: POST a refresh to every index. - text: Make all recent writes searchable by refreshing every index via POST. method: generated generated: '2026-09-26' - target: $.paths['/{index}/_refresh'].get update: x-apievangelist-phrasing: intent: Refresh specific indices (GET) effect: write questions: - Can I refresh one index with a GET request? - Is there a GET route to refresh a single data stream? instructions: - text: Refresh index {index} with GET. slots: index: path.index - text: GET-refresh {index} so its latest documents show in search. slots: index: path.index method: generated generated: '2026-09-26' - target: $.paths['/{index}/_refresh'].post update: x-apievangelist-phrasing: intent: Refresh specific indices (POST) effect: write questions: - How do I refresh just one index after bulk loading data? - Can I refresh several named indices in one call? instructions: - text: POST a refresh to index {index}. slots: index: path.index - text: Refresh indices {index} via POST, skipping unavailable ones. slots: index: path.index method: generated generated: '2026-09-26' - target: $.paths['/{index}/_reload_search_analyzers'].get update: x-apievangelist-phrasing: intent: Reload search analyzers (GET) effect: write questions: - Can I reload updated synonym files for an index's search analyzers with a GET request? - Is there a GET route to pick up synonym changes without reopening the index? instructions: - text: Reload the search analyzers of index {index} using GET. slots: index: path.index - text: GET-reload search analyzers on {index} for resource {resource}. slots: index: path.index resource: query.resource method: generated generated: '2026-09-26' - target: $.paths['/{index}/_reload_search_analyzers'].post update: x-apievangelist-phrasing: intent: Reload search analyzers (POST) effect: write questions: - How do I pick up changes to a synonym file used by my search analyzer? - Should I clear the request cache after reloading search analyzers? instructions: - text: POST a reload of search analyzers for index {index}. slots: index: path.index - text: Reload {index}'s updateable synonym filters via POST. slots: index: path.index method: generated generated: '2026-09-26' - target: $.paths['/_resolve/cluster'].get update: x-apievangelist-phrasing: intent: Check all configured remote clusters effect: read questions: - Which remote clusters are configured and reachable before I run a cross-cluster search? - Can I check every remote cluster's connection status without naming indices? instructions: - text: Show every configured remote cluster and whether it is connected. - text: Check remote clusters with a {timeout} timeout. slots: timeout: query.timeout method: generated generated: '2026-09-26' - target: $.paths['/_resolve/cluster/{name}'].get update: x-apievangelist-phrasing: intent: Resolve an index expression to clusters effect: read questions: - Which clusters would a cross-cluster index expression actually hit? - Can I check that remote indices matching a pattern exist before searching? instructions: - text: Resolve the index expression {name} to its clusters. slots: name: path.name - text: Tell me which remote clusters have indices matching {name}. slots: name: path.name method: generated generated: '2026-09-26' - target: $.paths['/_resolve/index/{name}'].get update: x-apievangelist-phrasing: intent: Resolve index names and patterns (GET) effect: read questions: - What indices, aliases and data streams does a wildcard pattern resolve to? - Can I expand an index pattern that includes remote clusters? instructions: - text: Resolve {name} into matching indices, aliases and data streams. slots: name: path.name - text: Using GET, list what the pattern {name} expands to, including hidden ones. slots: name: path.name method: generated generated: '2026-09-26' - target: $.paths['/_resolve/index/{name}'].post update: x-apievangelist-phrasing: intent: Resolve index names and patterns (POST) effect: read questions: - Is there a POST form of the resolve index API? - Can I resolve an index pattern with POST and filter by index mode? instructions: - text: POST a resolve request for pattern {name}. slots: name: path.name - text: Via POST, resolve {name} limited to index mode {mode}. slots: name: path.name mode: query.mode method: generated generated: '2026-09-26' - target: $.paths['/{alias}/_rollover'].post update: x-apievangelist-phrasing: intent: Roll over a data stream or alias effect: write questions: - How do I roll a data stream over to a new write index? - Can I roll over only when the index is older or bigger than a threshold? - Is there a dry run to see whether a rollover would happen? instructions: - text: Roll over {alias} to a new write index. slots: alias: path.alias - text: Roll over {alias} if it meets conditions {conditions}. slots: alias: path.alias conditions: requestBody.conditions method: generated generated: '2026-09-26' - target: $.paths['/{alias}/_rollover/{new_index}'].post update: x-apievangelist-phrasing: intent: Roll over an alias to a named new index effect: write questions: - Can I choose the exact name of the new index when rolling over an alias? - How do I roll over an alias into an index name I specify? instructions: - text: Roll over alias {alias} into new index {new_index}. slots: alias: path.alias new_index: path.new_index - text: Dry-run a rollover of {alias} to {new_index} (dry_run={dry_run}). slots: alias: path.alias new_index: path.new_index dry_run: query.dry_run method: generated generated: '2026-09-26' - target: $.paths['/_segments'].get update: x-apievangelist-phrasing: intent: Get Lucene segments for all indices effect: read questions: - How many Lucene segments does each shard have across the cluster? - Can I list low-level segment info for every index? instructions: - text: Show segment information for all indices. - text: List Lucene segments cluster-wide. method: generated generated: '2026-09-26' - target: $.paths['/{index}/_segments'].get update: x-apievangelist-phrasing: intent: Get Lucene segments for specific indices effect: read questions: - How fragmented into segments is a particular index? - Should I force-merge an index, judging by its segment count? instructions: - text: Show the segments of index {index}. slots: index: path.index - text: List Lucene segments per shard for {index}. slots: index: path.index method: generated generated: '2026-09-26' - target: $.paths['/_shard_stores'].get update: x-apievangelist-phrasing: intent: Get shard store info for all indices effect: read questions: - Which unassigned replica shards exist across the cluster and where are their copies? - Can I filter shard store info by shard health status? instructions: - text: Show shard store information for all indices. - text: List shard stores cluster-wide with status {status}. slots: status: query.status method: generated generated: '2026-09-26' - target: $.paths['/{index}/_shard_stores'].get update: x-apievangelist-phrasing: intent: Get shard store info for specific indices effect: read questions: - On which nodes do the replica copies of a specific index live? - Can I see store errors for an index's unassigned shards? instructions: - text: Show shard store details for index {index}. slots: index: path.index - text: List shard stores of {index} with status {status}. slots: index: path.index status: query.status method: generated generated: '2026-09-26' - target: $.paths['/{index}/_shrink/{target}'].put update: x-apievangelist-phrasing: intent: Shrink an index (PUT) effect: write questions: - How do I shrink an index to fewer primary shards using PUT? - What must be true of the source index before it can be shrunk? instructions: - text: PUT a shrink of index {index} into {target}. slots: index: path.index target: path.target - text: Using PUT, shrink {index} to {target} with settings {settings}. slots: index: path.index target: path.target settings: requestBody.settings method: generated generated: '2026-09-26' - target: $.paths['/{index}/_shrink/{target}'].post update: x-apievangelist-phrasing: intent: Shrink an index (POST) effect: write questions: - Is there a POST variant for shrinking an index's primary shard count? - Can I add aliases to the shrunken index in the same POST request? instructions: - text: POST a shrink of {index} into new index {target}. slots: index: path.index target: path.target - text: Shrink {index} to {target} via POST and give it aliases {aliases}. slots: index: path.index target: path.target aliases: requestBody.aliases method: generated generated: '2026-09-26' - target: $.paths['/_index_template/_simulate_index/{name}'].post update: x-apievangelist-phrasing: intent: Preview settings an index would get effect: read questions: - What settings and mappings would a new index with a given name receive from my templates? - Which index template would match an index name I am about to create? instructions: - text: Simulate the configuration index {name} would get from existing templates. slots: name: path.name - text: Preview what templates apply to index name {name} with patterns {index_patterns} and components {composed_of}. slots: name: path.name index_patterns: requestBody.index_patterns composed_of: requestBody.composed_of method: generated generated: '2026-09-26' - target: $.paths['/_index_template/_simulate'].post update: x-apievangelist-phrasing: intent: Simulate an index template from a body effect: read questions: - Can I test an index template definition before saving it? - What final configuration would a draft template composed of certain component templates produce? instructions: - text: Simulate a draft template for patterns {index_patterns} composed of {composed_of}. slots: index_patterns: requestBody.index_patterns composed_of: requestBody.composed_of - text: Preview the resolved config of an unsaved template with body {template}. slots: template: requestBody.template method: generated generated: '2026-09-26' - target: $.paths['/_index_template/_simulate/{name}'].post update: x-apievangelist-phrasing: intent: Simulate an existing index template effect: read questions: - What configuration does an existing index template resolve to once its components are merged? - Can I see the effective settings of a saved index template by name? instructions: - text: Simulate saved index template {name}. slots: name: path.name - text: Show the merged settings, mappings and aliases that template {name} produces. slots: name: path.name method: generated generated: '2026-09-26' - target: $.paths['/{index}/_split/{target}'].put update: x-apievangelist-phrasing: intent: Split an index (PUT) effect: write questions: - How do I split an index into more primary shards with a PUT request? - Does the number of shards after a split have to be a multiple of the original? instructions: - text: PUT a split of index {index} into {target}. slots: index: path.index target: path.target - text: Using PUT, split {index} into {target} with settings {settings}. slots: index: path.index target: path.target settings: requestBody.settings method: generated generated: '2026-09-26' - target: $.paths['/{index}/_split/{target}'].post update: x-apievangelist-phrasing: intent: Split an index (POST) effect: write questions: - Is there a POST form of the split index API? - Can I attach aliases to the split target in the same POST call? instructions: - text: POST a split of {index} into new index {target}. slots: index: path.index target: path.target - text: Split {index} to {target} via POST with aliases {aliases}. slots: index: path.index target: path.target aliases: requestBody.aliases method: generated generated: '2026-09-26' - target: $.paths['/_stats'].get update: x-apievangelist-phrasing: intent: Get statistics for all indices effect: read questions: - How many documents and how much storage do all my indices use? - Can I get index statistics broken down per shard for the whole cluster? instructions: - text: Show statistics for all indices. - text: Get cluster-wide index stats at {level} level. slots: level: query.level method: generated generated: '2026-09-26' - target: $.paths['/_stats/{metric}'].get update: x-apievangelist-phrasing: intent: Get one stats metric for all indices effect: read questions: - What are the indexing or search stats for every index? - Can I limit index statistics to a single metric such as docs or store? instructions: - text: Show the {metric} stats for all indices. slots: metric: path.metric - text: Get only {metric} statistics across the cluster. slots: metric: path.metric method: generated generated: '2026-09-26' - target: $.paths['/{index}/_stats'].get update: x-apievangelist-phrasing: intent: Get statistics for specific indices effect: read questions: - How big is a specific index and how many documents does it hold? - Can I see search and indexing activity for one index? instructions: - text: Show statistics for index {index}. slots: index: path.index - text: Get all stats for {index} per shard. slots: index: path.index method: generated generated: '2026-09-26' - target: $.paths['/{index}/_stats/{metric}'].get update: x-apievangelist-phrasing: intent: Get one stats metric for specific indices effect: read questions: - What is just the store size of a particular index? - Can I pull one metric, like docs count, for a single index? instructions: - text: Show the {metric} stats for index {index}. slots: metric: path.metric index: path.index - text: Get only {metric} statistics for {index}. slots: metric: path.metric index: path.index method: generated generated: '2026-09-26' - target: $.paths['/_aliases'].post update: x-apievangelist-phrasing: intent: Apply several alias actions atomically effect: write questions: - How do I swap an alias from an old index to a new one in a single atomic step? - Can I add and remove multiple aliases in one request? instructions: - text: 'Apply these alias actions atomically: {actions}.' slots: actions: requestBody.actions - text: Run the alias add/remove batch {actions} in one call. slots: actions: requestBody.actions method: generated generated: '2026-09-26' - target: $.paths['/_validate/query'].get update: x-apievangelist-phrasing: intent: Validate a query on all indices (GET) effect: read questions: - Can I check that a Lucene query string is valid without running it, using GET? - Is there a way to see why a query is invalid across all indices? instructions: - text: Using GET, validate query string {q} against all indices. slots: q: query.q - text: GET a validation of {q} with explain={explain}. slots: q: query.q explain: query.explain method: generated generated: '2026-09-26' - target: $.paths['/_validate/query'].post update: x-apievangelist-phrasing: intent: Validate a query on all indices (POST) effect: read questions: - How do I validate a Query DSL body before running an expensive search? - Can I see how a query gets rewritten across the cluster? instructions: - text: POST query {query} for validation across all indices. slots: query: requestBody.query - text: Validate {query} via POST and show the rewritten form (rewrite={rewrite}). slots: query: requestBody.query rewrite: query.rewrite method: generated generated: '2026-09-26' - target: $.paths['/{index}/_validate/query'].get update: x-apievangelist-phrasing: intent: Validate a query on specific indices (GET) effect: read questions: - Can I validate a query string against one index's mappings with a GET request? - Would this query be valid on a particular index? instructions: - text: Using GET, validate {q} against index {index}. slots: q: query.q index: path.index - text: GET a check of whether {q} is valid on {index}, with explanation. slots: q: query.q index: path.index method: generated generated: '2026-09-26' - target: $.paths['/{index}/_validate/query'].post update: x-apievangelist-phrasing: intent: Validate a query on specific indices (POST) effect: read questions: - How do I validate a Query DSL body against a specific index before searching it? - Can I check a query on every shard of one index? instructions: - text: POST query {query} to validate against index {index}. slots: query: requestBody.query index: path.index - text: Validate {query} on all shards of {index} via POST (all_shards={all_shards}). slots: query: requestBody.query index: path.index all_shards: query.all_shards method: generated generated: '2026-09-26'