Elastic Stack · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Elk Stack Ingest API
23 actions
23 updates
phrasing
extends
openapi/elk-stack-ingest-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 23 · first 16 shown; the file carries all of them
$.info
$.paths['/_ingest/geoip/database/{id}'].get
$.paths['/_ingest/geoip/database/{id}'].put
$.paths['/_ingest/geoip/database/{id}'].delete
$.paths['/_ingest/ip_location/database/{id}'].get
$.paths['/_ingest/ip_location/database/{id}'].put
$.paths['/_ingest/ip_location/database/{id}'].delete
$.paths['/_ingest/pipeline/{id}'].get
$.paths['/_ingest/pipeline/{id}'].put
$.paths['/_ingest/pipeline/{id}'].delete
$.paths['/_ingest/geoip/stats'].get
$.paths['/_ingest/geoip/database'].get
$.paths['/_ingest/ip_location/database'].get
$.paths['/_ingest/pipeline'].get
$.paths['/_ingest/processor/grok'].get
$.paths['/_ingest/pipeline/_simulate'].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 Elk Stack Ingest API
version: 1.0.0
extends: openapi/elk-stack-ingest-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: 22
- target: $.paths['/_ingest/geoip/database/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a specific GeoIP database configuration
effect: read
questions:
- How do I see the settings of one GeoIP database configuration by ID?
- Can I look up several GeoIP database configs with a comma-separated list of IDs?
instructions:
- text: Get GeoIP database configuration {id}.
slots:
id: path.id
- text: Show the MaxMind settings for GeoIP config {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/_ingest/geoip/database/{id}'].put
update:
x-apievangelist-phrasing:
intent: Create or update a GeoIP database configuration
effect: write
questions:
- How do I register a MaxMind GeoIP database for the geoip processor to download?
- Can I replace an existing GeoIP database configuration with a new database name?
instructions:
- text: Create GeoIP database config {id} for database {name} with MaxMind settings {maxmind}.
slots:
id: path.id
name: requestBody.name
maxmind: requestBody.maxmind
- text: Update GeoIP configuration {id} to use database {name}.
slots:
id: path.id
name: requestBody.name
method: generated
generated: '2026-09-26'
- target: $.paths['/_ingest/geoip/database/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a GeoIP database configuration
effect: destructive
questions:
- How do I remove a GeoIP database configuration I no longer need?
- Can I delete multiple GeoIP database configurations in one call?
instructions:
- text: Delete GeoIP database configuration {id}.
slots:
id: path.id
- text: Remove GeoIP database configs {id} with a master timeout of {master_timeout}.
slots:
id: path.id
master_timeout: query.master_timeout
method: generated
generated: '2026-09-26'
- target: $.paths['/_ingest/ip_location/database/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a specific IP location database configuration
effect: read
questions:
- How do I view one IP location database configuration by its ID?
- Which provider does a given IP location database config point at?
instructions:
- text: Get IP location database configuration {id}.
slots:
id: path.id
- text: Show the ip_location database config named {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/_ingest/ip_location/database/{id}'].put
update:
x-apievangelist-phrasing:
intent: Create or update an IP location database config
effect: write
questions:
- How do I add an IPinfo or MaxMind database for the ip_location processor?
- Can I change which database an IP location configuration downloads?
instructions:
- text: Create IP location database config {id} for database {name} from IPinfo {ipinfo}.
slots:
id: path.id
name: requestBody.name
ipinfo: requestBody.ipinfo
- text: Set ip_location configuration {id} to MaxMind database {name} with {maxmind}.
slots:
id: path.id
name: requestBody.name
maxmind: requestBody.maxmind
method: generated
generated: '2026-09-26'
- target: $.paths['/_ingest/ip_location/database/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete an IP location database configuration
effect: destructive
questions:
- How do I remove an IP location database configuration?
- Can I delete ip_location database configs by listing their IDs?
instructions:
- text: Delete IP location database configuration {id}.
slots:
id: path.id
- text: Remove the ip_location database configs {id}, waiting up to {timeout}.
slots:
id: path.id
timeout: query.timeout
method: generated
generated: '2026-09-26'
- target: $.paths['/_ingest/pipeline/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a specific ingest pipeline
effect: read
questions:
- How do I see the processors defined in one ingest pipeline?
- Can I fetch pipelines matching a wildcard ID in summary form only?
instructions:
- text: Get ingest pipeline {id}.
slots:
id: path.id
- text: Show pipelines matching {id} with summary {summary}.
slots:
id: path.id
summary: query.summary
method: generated
generated: '2026-09-26'
- target: $.paths['/_ingest/pipeline/{id}'].put
update:
x-apievangelist-phrasing:
intent: Create or update an ingest pipeline
effect: write
questions:
- How do I create an ingest pipeline that transforms documents before they are indexed?
- Can I only overwrite a pipeline if it's still at the version I expect?
- What handles errors when a processor in my pipeline fails?
instructions:
- text: Create ingest pipeline {id} with processors {processors}.
slots:
id: path.id
processors: requestBody.processors
- text: Update pipeline {id} with processors {processors} only if its version is {if_version}.
slots:
id: path.id
processors: requestBody.processors
if_version: query.if_version
- text: Add failure handlers {on_failure} to pipeline {id}.
slots:
on_failure: requestBody.on_failure
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/_ingest/pipeline/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete an ingest pipeline
effect: destructive
questions:
- How do I delete an ingest pipeline I no longer use?
- Can I remove several pipelines at once with a wildcard?
instructions:
- text: Delete ingest pipeline {id}.
slots:
id: path.id
- text: Remove all pipelines matching {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/_ingest/geoip/stats'].get
update:
x-apievangelist-phrasing:
intent: Get GeoIP database download statistics
effect: read
questions:
- Have my GeoIP2 databases downloaded successfully on every node?
- How many GeoIP database downloads have failed?
instructions:
- text: Show GeoIP download statistics.
- text: Report which nodes have the GeoIP databases cached.
method: generated
generated: '2026-09-26'
- target: $.paths['/_ingest/geoip/database'].get
update:
x-apievangelist-phrasing:
intent: List all GeoIP database configurations
effect: read
questions:
- Which GeoIP database configurations exist on my cluster?
- What are all the GeoIP databases the geoip processor is set up to use?
instructions:
- text: List all GeoIP database configurations.
- text: Show every configured geoip database.
method: generated
generated: '2026-09-26'
- target: $.paths['/_ingest/ip_location/database'].get
update:
x-apievangelist-phrasing:
intent: List all IP location database configurations
effect: read
questions:
- Which IP location databases are configured in my cluster?
- What ip_location database configurations have been registered so far?
instructions:
- text: List all IP location database configurations.
- text: Show every ip_location database config.
method: generated
generated: '2026-09-26'
- target: $.paths['/_ingest/pipeline'].get
update:
x-apievangelist-phrasing:
intent: List all ingest pipelines
effect: read
questions:
- What ingest pipelines are defined on this cluster?
- Can I list all pipelines without their full processor definitions?
instructions:
- text: List all ingest pipelines.
- text: Show every pipeline with summary set to {summary}.
slots:
summary: query.summary
method: generated
generated: '2026-09-26'
- target: $.paths['/_ingest/processor/grok'].get
update:
x-apievangelist-phrasing:
intent: List built-in grok patterns
effect: read
questions:
- Which grok patterns are built in for parsing log lines?
- Where can I see the pattern library the grok processor ships with?
instructions:
- text: List the built-in grok patterns.
- text: Show the grok processor's pattern library.
method: generated
generated: '2026-09-26'
- target: $.paths['/_ingest/pipeline/_simulate'].get
update:
x-apievangelist-phrasing:
intent: Test an inline pipeline on sample documents
effect: read
questions:
- How do I try out a pipeline definition on sample docs before saving it?
- Can I see what each processor did to a document during a simulation?
instructions:
- text: Simulate inline pipeline {pipeline} against documents {docs}.
slots:
pipeline: requestBody.pipeline
docs: requestBody.docs
- text: Dry-run unsaved pipeline {pipeline} on {docs} with verbose per-processor output.
slots:
pipeline: requestBody.pipeline
docs: requestBody.docs
method: generated
generated: '2026-09-26'
- target: $.paths['/_ingest/pipeline/_simulate'].post
update:
x-apievangelist-phrasing:
intent: Test an inline pipeline on sample docs (POST)
effect: read
questions:
- Can I POST a draft pipeline and some documents to preview the transformed output?
- Is there a POST route for pipeline simulation when my client can't send a GET body?
instructions:
- text: POST a pipeline simulation of {pipeline} over sample docs {docs}.
slots:
pipeline: requestBody.pipeline
docs: requestBody.docs
- text: Using POST, preview how definition {pipeline} rewrites {docs}, verbose {verbose}.
slots:
pipeline: requestBody.pipeline
docs: requestBody.docs
verbose: query.verbose
method: generated
generated: '2026-09-26'
- target: $.paths['/_ingest/pipeline/{id}/_simulate'].get
update:
x-apievangelist-phrasing:
intent: Test a saved pipeline on sample documents
effect: read
questions:
- How do I check what an existing pipeline would do to a document without indexing it?
- Can I debug a saved pipeline step by step against test data?
instructions:
- text: Simulate saved pipeline {id} against documents {docs}.
slots:
id: path.id
docs: requestBody.docs
- text: Run existing pipeline {id} over {docs} verbosely without indexing.
slots:
id: path.id
docs: requestBody.docs
method: generated
generated: '2026-09-26'
- target: $.paths['/_ingest/pipeline/{id}/_simulate'].post
update:
x-apievangelist-phrasing:
intent: Test a saved pipeline on sample docs (POST)
effect: read
questions:
- Can I POST test documents to a stored pipeline's simulate endpoint?
- Is there a POST form of simulating an existing pipeline by ID?
instructions:
- text: POST documents {docs} to simulate stored pipeline {id}.
slots:
docs: requestBody.docs
id: path.id
- text: Using POST, test pipeline {id} on {docs} with verbose {verbose}.
slots:
id: path.id
docs: requestBody.docs
verbose: query.verbose
method: generated
generated: '2026-09-26'
- target: $.paths['/_ingest/_simulate'].get
update:
x-apievangelist-phrasing:
intent: Simulate full ingestion of documents
effect: read
questions:
- How do I preview the final indexed form of documents, including default and final pipelines?
- Can I simulate ingestion with substitute templates or mappings before changing them?
instructions:
- text: Simulate ingesting documents {docs} using pipeline substitutions {pipeline_substitutions}.
slots:
docs: requestBody.docs
pipeline_substitutions: requestBody.pipeline_substitutions
- text: Preview ingest of {docs} with index template substitutions {index_template_substitutions}.
slots:
docs: requestBody.docs
index_template_substitutions: requestBody.index_template_substitutions
method: generated
generated: '2026-09-26'
- target: $.paths['/_ingest/_simulate'].post
update:
x-apievangelist-phrasing:
intent: Simulate full ingestion of documents (POST)
effect: read
questions:
- Can I POST documents to the ingest simulator to check mappings and pipelines end to end?
- Is there a POST form of simulating ingestion with a mapping addition?
instructions:
- text: POST an ingest simulation for {docs} with mapping addition {mapping_addition}.
slots:
docs: requestBody.docs
mapping_addition: requestBody.mapping_addition
- text: Using POST, simulate ingesting {docs} through default pipeline {pipeline}.
slots:
docs: requestBody.docs
pipeline: query.pipeline
method: generated
generated: '2026-09-26'
- target: $.paths['/_ingest/{index}/_simulate'].get
update:
x-apievangelist-phrasing:
intent: Simulate ingesting documents into a given index
effect: read
questions:
- How do I see what would happen if I indexed these docs into a specific index?
- Can I test ingest into one index with component template substitutions?
instructions:
- text: Simulate ingesting {docs} into index {index}.
slots:
docs: requestBody.docs
index: path.index
- text: Preview {docs} landing in {index} with component template substitutions {component_template_substitutions}.
slots:
docs: requestBody.docs
index: path.index
component_template_substitutions: requestBody.component_template_substitutions
method: generated
generated: '2026-09-26'
- target: $.paths['/_ingest/{index}/_simulate'].post
update:
x-apievangelist-phrasing:
intent: Simulate ingesting into a given index (POST)
effect: read
questions:
- Can I POST sample docs to one index's ingest simulator to validate mappings?
- Is there a POST route for index-targeted ingest simulation with a merge type?
instructions:
- text: POST documents {docs} to simulate ingestion into {index}.
slots:
docs: requestBody.docs
index: path.index
- text: Using POST, simulate {docs} into {index} with mapping merge type {merge_type}.
slots:
docs: requestBody.docs
index: path.index
merge_type: query.merge_type
method: generated
generated: '2026-09-26'