# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Elk Stack Streams API version: 1.0.0 extends: openapi/elk-stack-streams-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 21 - target: $.paths['/_streams/{name}/_disable'].post update: x-apievangelist-phrasing: intent: Turn off a named stream type on the cluster effect: write questions: - How do I switch off the logs stream feature at the Elasticsearch cluster level? - Which cluster privilege is needed to disable a named stream? instructions: - text: Disable the {name} stream feature on the cluster. slots: name: path.name - text: Turn off cluster-level stream type {name} with a master timeout of {master_timeout}. slots: name: path.name master_timeout: query.master_timeout method: generated generated: '2026-09-26' - target: $.paths['/_streams/{name}/_enable'].post update: x-apievangelist-phrasing: intent: Turn on a named stream type on the cluster effect: write questions: - How do I turn on the logs stream feature directly in Elasticsearch? - Why would enabling a named stream return a 409 conflict? instructions: - text: Enable the {name} stream feature on the cluster. slots: name: path.name - text: Switch on cluster-level stream type {name}, waiting up to {timeout}. slots: name: path.name timeout: query.timeout method: generated generated: '2026-09-26' - target: $.paths['/_streams/status'].get update: x-apievangelist-phrasing: intent: Check which stream types are enabled effect: read questions: - Are logs streams currently enabled on my Elasticsearch cluster? - What is the status of every stream type at the cluster level? instructions: - text: Get the cluster status of all stream types. - text: Show whether each stream type is enabled on the cluster. method: generated generated: '2026-09-26' - target: $.paths['/api/streams'].get update: x-apievangelist-phrasing: intent: List all streams effect: read questions: - What streams exist in my Kibana space? - Can I get every stream definition in one call? instructions: - text: List all my streams. - text: Show every stream defined in Kibana. method: generated generated: '2026-09-26' - target: $.paths['/api/streams/_disable'].post update: x-apievangelist-phrasing: intent: Disable wired streams in Kibana effect: destructive questions: - What happens to my data if I disable wired streams in Kibana? - How do I turn off wired streams and remove their definitions? instructions: - text: Disable wired streams in Kibana, sending xsrf header {kbn-xsrf}. slots: kbn-xsrf: header.kbn-xsrf - text: Turn off wired streams and delete all stream definitions. method: generated generated: '2026-09-26' - target: $.paths['/api/streams/_enable'].post update: x-apievangelist-phrasing: intent: Enable wired streams in Kibana effect: write questions: - How do I turn on wired streams from Kibana? - Can I enable wired streams for my space through the API? instructions: - text: Enable wired streams in Kibana, sending xsrf header {kbn-xsrf}. slots: kbn-xsrf: header.kbn-xsrf - text: Switch wired streams on. method: generated generated: '2026-09-26' - target: $.paths['/api/streams/_resync'].post update: x-apievangelist-phrasing: intent: Resync streams with Elasticsearch assets effect: write questions: - How do I make sure the Elasticsearch assets behind my streams are up to date? - Can I force a resync of all streams? instructions: - text: Resync all streams, sending xsrf header {kbn-xsrf}. slots: kbn-xsrf: header.kbn-xsrf - text: Bring every stream's Elasticsearch assets back in sync. method: generated generated: '2026-09-26' - target: $.paths['/api/streams/{name}'].get update: x-apievangelist-phrasing: intent: Get a stream definition and its dashboards effect: read questions: - How do I see a stream's definition along with its linked dashboards? - Where can I read the configuration of one stream? instructions: - text: Get the definition of stream {name}. slots: name: path.name - text: Show stream {name} and the dashboards attached to it. slots: name: path.name method: generated generated: '2026-09-26' - target: $.paths['/api/streams/{name}'].put update: x-apievangelist-phrasing: intent: Create or update a stream definition effect: write questions: - How do I create a new stream or change an existing one? - Can classic streams be created through the API, or only updated? instructions: - text: Create or update the stream definition for {name}. slots: name: path.name - text: Upsert stream {name} with a new definition. slots: name: path.name method: generated generated: '2026-09-26' - target: $.paths['/api/streams/{name}'].delete update: x-apievangelist-phrasing: intent: Delete a stream and its data stream effect: destructive questions: - How do I delete a stream along with its underlying data stream? - Does removing a stream also remove the data behind it? instructions: - text: Delete stream {name} and its underlying data stream. slots: name: path.name - text: Remove the stream definition {name} permanently. slots: name: path.name method: generated generated: '2026-09-26' - target: $.paths['/api/streams/{name}/_fork'].post update: x-apievangelist-phrasing: intent: Fork a wired stream into a child stream effect: write questions: - How do I split a wired stream into a child stream based on a condition? - Can I route part of a stream's data to a new child using a filter? instructions: - text: Fork stream {name} into child {stream} where {where}. slots: name: path.name stream: requestBody.stream where: requestBody.where - text: Create a child of wired stream {name} called {stream} routed by condition {where}. slots: name: path.name stream: requestBody.stream where: requestBody.where method: generated generated: '2026-09-26' - target: $.paths['/api/streams/{name}/_ingest'].get update: x-apievangelist-phrasing: intent: Get a stream's ingest settings effect: read questions: - What processing and routing is configured for ingest on a stream? - How do I read the ingest settings of an ingest stream? instructions: - text: Get the ingest settings for stream {name}. slots: name: path.name - text: Show how stream {name} processes incoming data. slots: name: path.name method: generated generated: '2026-09-26' - target: $.paths['/api/streams/{name}/_ingest'].put update: x-apievangelist-phrasing: intent: Update a stream's ingest settings effect: write questions: - How do I change the ingest processing of a stream? - Can I upsert ingest settings without recreating the stream? instructions: - text: Set the ingest settings for stream {name} to {ingest}. slots: name: path.name ingest: requestBody.ingest - text: Update stream {name}'s ingest configuration with {ingest}. slots: name: path.name ingest: requestBody.ingest method: generated generated: '2026-09-26' - target: $.paths['/api/streams/{name}/_query'].get update: x-apievangelist-phrasing: intent: Get a query stream's settings effect: read questions: - What query backs a query stream? - How do I read the query settings of a query stream? instructions: - text: Get the query settings for query stream {name}. slots: name: path.name - text: Show the query behind stream {name}. slots: name: path.name method: generated generated: '2026-09-26' - target: $.paths['/api/streams/{name}/_query'].put update: x-apievangelist-phrasing: intent: Set a query stream's query effect: write questions: - How do I change the query that defines a query stream? - Can I add field descriptions when setting a query stream's settings? instructions: - text: Set query stream {name} to use query {query}. slots: name: path.name query: requestBody.query - text: Update query stream {name} with query {query} and field descriptions {field_descriptions}. slots: name: path.name query: requestBody.query field_descriptions: requestBody.field_descriptions method: generated generated: '2026-09-26' - target: $.paths['/api/streams/{name}/content/export'].post update: x-apievangelist-phrasing: intent: Export a stream as a content pack effect: read questions: - How do I package a stream's routing, mappings and processing as a content pack? - Are significant-event queries included when I export stream content? instructions: - text: Export stream {name} as content pack {pack_name} version {version} described as {description}, including {include}. slots: name: path.name pack_name: requestBody.name version: requestBody.version description: requestBody.description include: requestBody.include - text: Build a content pack from stream {name} at version {version}. slots: name: path.name version: requestBody.version method: generated generated: '2026-09-26' - target: $.paths['/api/streams/{name}/content/import'].post update: x-apievangelist-phrasing: intent: Import a content pack into a stream effect: write questions: - How do I apply a content pack's routing and mappings to a stream? - Can I import only part of a content pack into a stream? instructions: - text: Import content pack {content} into stream {name}, including {include}. slots: content: requestBody.content name: path.name include: requestBody.include - text: Load stream structure from {content} into stream {name}. slots: content: requestBody.content name: path.name method: generated generated: '2026-09-26' - target: $.paths['/api/streams/{streamName}/attachments'].get update: x-apievangelist-phrasing: intent: List attachments linked to a stream effect: read questions: - Which dashboards and other attachments are linked to a stream? - Can I filter a stream's attachments by type or tag? instructions: - text: List attachments on stream {streamName}. slots: streamName: path.streamName - text: Show {attachmentTypes} attachments on stream {streamName} tagged {tags}. slots: attachmentTypes: query.attachmentTypes streamName: path.streamName tags: query.tags method: generated generated: '2026-09-26' - target: $.paths['/api/streams/{streamName}/attachments/_bulk'].post update: x-apievangelist-phrasing: intent: Bulk link and unlink stream attachments effect: write questions: - How do I link and unlink many attachments on a stream in one request? - Can one bulk request mix different attachment types? instructions: - text: Apply attachment operations {operations} to stream {streamName}. slots: operations: requestBody.operations streamName: path.streamName - text: Bulk update the attachments on stream {streamName} with {operations}. slots: operations: requestBody.operations streamName: path.streamName method: generated generated: '2026-09-26' - target: $.paths['/api/streams/{streamName}/attachments/{attachmentType}/{attachmentId}'].put update: x-apievangelist-phrasing: intent: Link an attachment to a stream effect: write questions: - How do I attach a dashboard to a stream? - What happens if I link an attachment that's already on the stream? instructions: - text: Link {attachmentType} {attachmentId} to stream {streamName}. slots: attachmentType: path.attachmentType attachmentId: path.attachmentId streamName: path.streamName - text: Attach {attachmentType} with id {attachmentId} to stream {streamName}. slots: attachmentType: path.attachmentType attachmentId: path.attachmentId streamName: path.streamName method: generated generated: '2026-09-26' - target: $.paths['/api/streams/{streamName}/attachments/{attachmentType}/{attachmentId}'].delete update: x-apievangelist-phrasing: intent: Unlink an attachment from a stream effect: destructive questions: - How do I detach a dashboard from a stream? - Is unlinking an attachment that isn't linked an error? instructions: - text: Unlink {attachmentType} {attachmentId} from stream {streamName}. slots: attachmentType: path.attachmentType attachmentId: path.attachmentId streamName: path.streamName - text: Detach {attachmentType} with id {attachmentId} from stream {streamName}. slots: attachmentType: path.attachmentType attachmentId: path.attachmentId streamName: path.streamName method: generated generated: '2026-09-26'