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