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.
View Overlay File View on GitHub Overlay Specification

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

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