Elastic Stack · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Elasticsearch Request & Response Specification Esql API
20 actions
20 updates
phrasing
extends
openapi/elk-stack-esql-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.
What the actions change
x-apievangelist-phrasing
Targets 20 · first 16 shown; the file carries all of them
$.info
$.paths['/_query/async'].post
$.paths['/_query/async/{id}'].get
$.paths['/_query/async/{id}'].delete
$.paths['/_query/async/{id}/stop'].post
$.paths['/_query/data_source/{name}'].get
$.paths['/_query/data_source/{name}'].put
$.paths['/_query/data_source/{name}'].delete
$.paths['/_query/dataset/{name}'].get
$.paths['/_query/dataset/{name}'].put
$.paths['/_query/dataset/{name}'].delete
$.paths['/_query/view/{name}'].get
$.paths['/_query/view/{name}'].put
$.paths['/_query/view/{name}'].delete
$.paths['/_query/data_source'].get
$.paths['/_query/dataset'].get
OpenAPI Overlay
# 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 Esql API
version: 1.0.0
extends: openapi/elk-stack-esql-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: 19
- target: $.paths['/_query/async'].post
update:
x-apievangelist-phrasing:
intent: Run an ES|QL query asynchronously
effect: read
questions:
- How do I run a long ES|QL query in the background and fetch results later?
- Can I keep async ES|QL results around after the query completes?
- How long will an async ES|QL query wait before returning an id?
instructions:
- text: Run ES|QL query {query} asynchronously.
slots:
query: requestBody.query
- text: Start async ES|QL query {query} and wait up to {wait_for_completion_timeout} for it to finish.
slots:
query: requestBody.query
wait_for_completion_timeout: requestBody.wait_for_completion_timeout
- text: Submit async ES|QL {query} and keep the results for {keep_alive}.
slots:
query: requestBody.query
keep_alive: requestBody.keep_alive
method: generated
generated: '2026-09-26'
- target: $.paths['/_query/async/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get results of an async ES|QL query
effect: read
questions:
- Has my async ES|QL query finished yet?
- Can I get async ES|QL results back as CSV?
instructions:
- text: Get results for async ES|QL query {id}.
slots:
id: path.id
- text: Fetch async ES|QL query {id} results in {format} format.
slots:
id: path.id
format: query.format
method: generated
generated: '2026-09-26'
- target: $.paths['/_query/async/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Cancel or delete an async ES|QL query
effect: destructive
questions:
- How do I cancel an async ES|QL query that's still running?
- Can I delete stored results of a finished async ES|QL query?
instructions:
- text: Delete async ES|QL query {id}.
slots:
id: path.id
- text: Cancel async ES|QL query {id} and discard its stored results.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/_query/async/{id}/stop'].post
update:
x-apievangelist-phrasing:
intent: Stop an async ES|QL query and keep partial results
effect: write
questions:
- Can I stop an async ES|QL query and get whatever results it has so far?
- How do I interrupt a slow ES|QL query without losing partial output?
instructions:
- text: Stop async ES|QL query {id} and return the results so far.
slots:
id: path.id
- text: Interrupt ES|QL query {id}, dropping null columns when drop_null_columns is {drop_null_columns}.
slots:
id: path.id
drop_null_columns: query.drop_null_columns
method: generated
generated: '2026-09-26'
- target: $.paths['/_query/data_source/{name}'].get
update:
x-apievangelist-phrasing:
intent: Get ES|QL data sources by name
effect: read
questions:
- How do I look up a specific ES|QL federation data source by name?
- Can I fetch data sources matching a wildcard name pattern?
instructions:
- text: Get ES|QL data source {name}.
slots:
name: path.name
- text: Show the data sources matching {name}.
slots:
name: path.name
method: generated
generated: '2026-09-26'
- target: $.paths['/_query/data_source/{name}'].put
update:
x-apievangelist-phrasing:
intent: Create or update an ES|QL data source
effect: write
questions:
- How do I register an external data source for ES|QL data federation?
- Can I replace the settings of an existing ES|QL data source?
instructions:
- text: Create ES|QL data source {name} of type {type}.
slots:
name: path.name
type: requestBody.type
- text: Set data source {name} of type {type} with settings {settings}.
slots:
name: path.name
type: requestBody.type
settings: requestBody.settings
method: generated
generated: '2026-09-26'
- target: $.paths['/_query/data_source/{name}'].delete
update:
x-apievangelist-phrasing:
intent: Delete ES|QL data sources
effect: destructive
questions:
- How do I remove an ES|QL federation data source?
- Why would deleting a data source fail with a 409 conflict?
instructions:
- text: Delete ES|QL data source {name}.
slots:
name: path.name
- text: Remove the federation data sources {name}.
slots:
name: path.name
method: generated
generated: '2026-09-26'
- target: $.paths['/_query/dataset/{name}'].get
update:
x-apievangelist-phrasing:
intent: Get ES|QL datasets by name
effect: read
questions:
- How do I look up a particular ES|QL dataset by name?
- Can I fetch datasets using a wildcard pattern?
instructions:
- text: Get ES|QL dataset {name}.
slots:
name: path.name
- text: Show the datasets matching {name}.
slots:
name: path.name
method: generated
generated: '2026-09-26'
- target: $.paths['/_query/dataset/{name}'].put
update:
x-apievangelist-phrasing:
intent: Create or update an ES|QL dataset
effect: write
questions:
- How do I define a dataset that points at an external data source for ES|QL?
- Can I give an ES|QL dataset its own mappings?
instructions:
- text: Create dataset {name} on data source {data_source} for resource {resource}.
slots:
name: path.name
data_source: requestBody.data_source
resource: requestBody.resource
- text: Update dataset {name} using data source {data_source}, resource {resource} and mappings {mappings}.
slots:
name: path.name
data_source: requestBody.data_source
resource: requestBody.resource
mappings: requestBody.mappings
method: generated
generated: '2026-09-26'
- target: $.paths['/_query/dataset/{name}'].delete
update:
x-apievangelist-phrasing:
intent: Delete ES|QL datasets
effect: destructive
questions:
- How do I remove an ES|QL dataset?
- What happens if one of the datasets I ask to delete doesn't exist?
instructions:
- text: Delete ES|QL dataset {name}.
slots:
name: path.name
- text: Remove the federation datasets {name}.
slots:
name: path.name
method: generated
generated: '2026-09-26'
- target: $.paths['/_query/view/{name}'].get
update:
x-apievangelist-phrasing:
intent: Get a stored ES|QL view by name
effect: read
questions:
- What query is behind a specific saved ES|QL view?
- Can I fetch one ES|QL view by its name?
instructions:
- text: Get ES|QL view {name}.
slots:
name: path.name
- text: Show the query stored in view {name}.
slots:
name: path.name
method: generated
generated: '2026-09-26'
- target: $.paths['/_query/view/{name}'].put
update:
x-apievangelist-phrasing:
intent: Create or update an ES|QL view
effect: write
questions:
- How do I save an ES|QL query as a reusable view?
- Can I add a description to an ES|QL view?
instructions:
- text: Create ES|QL view {name} with query {query}.
slots:
name: path.name
query: requestBody.query
- text: Save view {name} for query {query} described as {description}.
slots:
name: path.name
query: requestBody.query
description: requestBody.description
method: generated
generated: '2026-09-26'
- target: $.paths['/_query/view/{name}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a stored ES|QL view
effect: destructive
questions:
- How do I remove a saved ES|QL view?
- Can I delete an ES|QL view I no longer use?
instructions:
- text: Delete ES|QL view {name}.
slots:
name: path.name
- text: Remove the stored view {name}.
slots:
name: path.name
method: generated
generated: '2026-09-26'
- target: $.paths['/_query/data_source'].get
update:
x-apievangelist-phrasing:
intent: List all ES|QL data sources
effect: read
questions:
- Which data sources are configured for ES|QL federation?
- Can I list every ES|QL data source at once?
instructions:
- text: List all ES|QL data sources.
- text: Show every configured federation data source.
method: generated
generated: '2026-09-26'
- target: $.paths['/_query/dataset'].get
update:
x-apievangelist-phrasing:
intent: List all ES|QL datasets
effect: read
questions:
- What ES|QL datasets exist in my cluster?
- Can I see every federation dataset in one call?
instructions:
- text: List all ES|QL datasets.
- text: Show every configured federation dataset.
method: generated
generated: '2026-09-26'
- target: $.paths['/_query/queries/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get details of a running ES|QL query
effect: read
questions:
- What is a particular running ES|QL query doing right now?
- Can I inspect one in-flight ES|QL query by its id?
instructions:
- text: Show details of running ES|QL query {id}.
slots:
id: path.id
- text: Inspect in-flight query {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/_query/view'].get
update:
x-apievangelist-phrasing:
intent: List all stored ES|QL views
effect: read
questions:
- Which ES|QL views have been saved?
- Can I list every stored ES|QL view?
instructions:
- text: List all ES|QL views.
- text: Show every saved view.
method: generated
generated: '2026-09-26'
- target: $.paths['/_query/queries'].get
update:
x-apievangelist-phrasing:
intent: List running ES|QL queries
effect: read
questions:
- Which ES|QL queries are currently running on the cluster?
- Is there any long-running ES|QL query I should look at?
instructions:
- text: List running ES|QL queries.
- text: Show all in-flight queries and their ids.
method: generated
generated: '2026-09-26'
- target: $.paths['/_query'].post
update:
x-apievangelist-phrasing:
intent: Run an ES|QL query and get results
effect: read
questions:
- How do I run an ES|QL query and get the rows back right away?
- Can I get ES|QL results as CSV or TSV?
- Can I pass parameters into an ES|QL query instead of string building?
instructions:
- text: Run ES|QL query {query}.
slots:
query: requestBody.query
- text: Run ES|QL {query} and return it as {format}.
slots:
query: requestBody.query
format: query.format
- text: Run ES|QL {query} with params {params} in time zone {time_zone}.
slots:
query: requestBody.query
params: requestBody.params
time_zone: requestBody.time_zone
method: generated
generated: '2026-09-26'