Elastic Stack · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Elasticsearch Request & Response Specification Sql API
9 actions
9 updates
phrasing
extends
openapi/elk-stack-sql-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 9
$.info
$.paths['/_sql/close'].post
$.paths['/_sql/async/delete/{id}'].delete
$.paths['/_sql/async/{id}'].get
$.paths['/_sql/async/status/{id}'].get
$.paths['/_sql'].get
$.paths['/_sql'].post
$.paths['/_sql/translate'].get
$.paths['/_sql/translate'].post
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 Sql API
version: 1.0.0
extends: openapi/elk-stack-sql-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: 8
- target: $.paths['/_sql/close'].post
update:
x-apievangelist-phrasing:
intent: Close an SQL search cursor
effect: write
questions:
- How do I release an SQL pagination cursor I'm done with?
- Can I free the resources held by an open SQL cursor before it expires?
instructions:
- text: Close SQL cursor {cursor}.
slots:
cursor: requestBody.cursor
- text: Clear the SQL search cursor {cursor} so it stops holding resources.
slots:
cursor: requestBody.cursor
method: generated
generated: '2026-09-26'
- target: $.paths['/_sql/async/delete/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete or cancel an async SQL search
effect: destructive
questions:
- How do I cancel an async SQL search that is still running?
- Can I delete the stored results of an async SQL query once I've read them?
instructions:
- text: Delete async SQL search {id}.
slots:
id: path.id
- text: Cancel the running SQL search {id} and discard its results.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/_sql/async/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get results of an async SQL search
effect: read
questions:
- How do I fetch the results of an async SQL query I started earlier?
- Can I get async SQL results back as CSV instead of JSON?
instructions:
- text: Get the results of async SQL search {id}.
slots:
id: path.id
- text: Return async SQL search {id} results in {format} format.
slots:
id: path.id
format: query.format
- text: Wait up to {wait_for_completion_timeout} for async SQL search {id} to finish and return its rows.
slots:
id: path.id
wait_for_completion_timeout: query.wait_for_completion_timeout
method: generated
generated: '2026-09-26'
- target: $.paths['/_sql/async/status/{id}'].get
update:
x-apievangelist-phrasing:
intent: Check the status of an async SQL search
effect: read
questions:
- Is my async SQL search still running or has it completed?
- How can I check an async SQL search's progress without downloading its results?
instructions:
- text: Check the status of async SQL search {id}.
slots:
id: path.id
- text: Tell me whether SQL search {id} is still running.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/_sql'].get
update:
x-apievangelist-phrasing:
intent: Run an SQL query with a GET request
effect: read
questions:
- Can I send an SQL query to Elasticsearch using a GET request with a body?
- Which output formats does a GET SQL query support?
instructions:
- text: Using GET, run the SQL query {query}.
slots:
query: requestBody.query
- text: Send a GET request running {query} and return {fetch_size} rows per page.
slots:
query: requestBody.query
fetch_size: requestBody.fetch_size
method: generated
generated: '2026-09-26'
- target: $.paths['/_sql'].post
update:
x-apievangelist-phrasing:
intent: Run an SQL query against Elasticsearch
effect: read
questions:
- How do I query my Elasticsearch indices with SQL?
- Can I page through large SQL results with a cursor?
- Is it possible to set a time zone for date handling in an SQL query?
instructions:
- text: Run the SQL query {query}.
slots:
query: requestBody.query
- text: Execute {query} in time zone {time_zone} and return the results as {format}.
slots:
query: requestBody.query
time_zone: requestBody.time_zone
format: query.format
- text: Fetch the next page of SQL results with cursor {cursor}.
slots:
cursor: requestBody.cursor
method: generated
generated: '2026-09-26'
- target: $.paths['/_sql/translate'].get
update:
x-apievangelist-phrasing:
intent: Translate SQL into Query DSL via GET
effect: read
questions:
- Can I use a GET request to see the Query DSL that an SQL statement becomes?
- Does the GET translate endpoint accept a filter alongside the SQL?
instructions:
- text: With a GET request, translate {query} into Query DSL.
slots:
query: requestBody.query
- text: Via GET, show the search request generated for SQL {query}.
slots:
query: requestBody.query
method: generated
generated: '2026-09-26'
- target: $.paths['/_sql/translate'].post
update:
x-apievangelist-phrasing:
intent: Translate SQL into Elasticsearch Query DSL
effect: read
questions:
- How do I convert an SQL statement into the equivalent Elasticsearch search request?
- What Query DSL does my SQL WHERE clause produce?
instructions:
- text: Translate the SQL {query} into an Elasticsearch search request.
slots:
query: requestBody.query
- text: Convert SQL {query} to Query DSL using time zone {time_zone}.
slots:
query: requestBody.query
time_zone: requestBody.time_zone
method: generated
generated: '2026-09-26'