Elastic Stack · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Elasticsearch Request & Response Specification Script API
11 actions
11 updates
phrasing
extends
openapi/elk-stack-script-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 11
$.info
$.paths['/_scripts/{id}'].get
$.paths['/_scripts/{id}'].put
$.paths['/_scripts/{id}'].post
$.paths['/_scripts/{id}'].delete
$.paths['/_script_context'].get
$.paths['/_script_language'].get
$.paths['/_scripts/{id}/{context}'].put
$.paths['/_scripts/{id}/{context}'].post
$.paths['/_scripts/painless/_execute'].get
$.paths['/_scripts/painless/_execute'].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 Script API
version: 1.0.0
extends: openapi/elk-stack-script-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: 10
- target: $.paths['/_scripts/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a stored script or search template
effect: read
questions:
- How can I see the source of a stored Painless script?
- Can I retrieve a saved search template by its id?
instructions:
- text: Get stored script {id}.
slots:
id: path.id
- text: Show the search template saved as {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/_scripts/{id}'].put
update:
x-apievangelist-phrasing:
intent: Store a script with PUT
effect: write
questions:
- How do I save a Painless script in the cluster state with a PUT request?
- Can I store a search template under my own id?
instructions:
- text: PUT script {script} under id {id}.
slots:
script: requestBody.script
id: path.id
- text: Using PUT, save search template {script} as {id} for query context {context}.
slots:
script: requestBody.script
id: path.id
context: query.context
method: generated
generated: '2026-09-26'
- target: $.paths['/_scripts/{id}'].post
update:
x-apievangelist-phrasing:
intent: Store a script with POST
effect: write
questions:
- Can I create or update a stored script with POST instead of PUT?
- Does POSTing to a script id overwrite the existing stored script?
instructions:
- text: POST script {script} to id {id} to create or replace it.
slots:
script: requestBody.script
id: path.id
- text: Via POST, store search template {script} as {id} with timeout {timeout}.
slots:
script: requestBody.script
id: path.id
timeout: query.timeout
method: generated
generated: '2026-09-26'
- target: $.paths['/_scripts/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a stored script or search template
effect: destructive
questions:
- How do I remove a stored script from the cluster?
- What happens to searches that use a search template I delete?
instructions:
- text: Delete stored script {id}.
slots:
id: path.id
- text: Remove search template {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/_script_context'].get
update:
x-apievangelist-phrasing:
intent: List supported script contexts
effect: read
questions:
- Which script contexts does Elasticsearch support, and what methods do they have?
- Where can scripts run, such as score or ingest contexts?
instructions:
- text: List all supported script contexts and their methods.
- text: Show the available Painless execution contexts.
method: generated
generated: '2026-09-26'
- target: $.paths['/_script_language'].get
update:
x-apievangelist-phrasing:
intent: List available script languages
effect: read
questions:
- Which scripting languages are enabled on my cluster?
- What script types and languages can each context use?
instructions:
- text: List the available script languages and types.
- text: Show which languages each script context supports.
method: generated
generated: '2026-09-26'
- target: $.paths['/_scripts/{id}/{context}'].put
update:
x-apievangelist-phrasing:
intent: Store a script for a context with PUT
effect: write
questions:
- Can I compile and store a script against a specific context in the URL path using PUT?
- How do I PUT a stored script scoped to a context like score?
instructions:
- text: PUT script {script} as {id} compiled for path context {context}.
slots:
script: requestBody.script
id: path.id
context: path.context
- text: Using PUT with a context segment, store {script} under {id} in context {context}.
slots:
script: requestBody.script
id: path.id
context: path.context
method: generated
generated: '2026-09-26'
- target: $.paths['/_scripts/{id}/{context}'].post
update:
x-apievangelist-phrasing:
intent: Store a script for a context with POST
effect: write
questions:
- Can I POST a stored script to a path that names its context?
- Is there a POST variant for saving a script under a specific context?
instructions:
- text: POST script {script} as {id} to the {context} context path.
slots:
script: requestBody.script
id: path.id
context: path.context
- text: Via POST with a context segment, store {script} under {id} for {context}.
slots:
script: requestBody.script
id: path.id
context: path.context
method: generated
generated: '2026-09-26'
- target: $.paths['/_scripts/painless/_execute'].get
update:
x-apievangelist-phrasing:
intent: Test-run a Painless script with GET
effect: read
questions:
- Can I test a Painless script with a GET request before using it in a runtime field?
- Is there a GET endpoint that executes a script and returns its result?
instructions:
- text: Using GET, run Painless script {script} and return its result.
slots:
script: requestBody.script
- text: With a GET request, test script {script} in context {context}.
slots:
script: requestBody.script
context: requestBody.context
method: generated
generated: '2026-09-26'
- target: $.paths['/_scripts/painless/_execute'].post
update:
x-apievangelist-phrasing:
intent: Test-run a Painless script with POST
effect: read
questions:
- How do I POST a Painless script to execute it and see the output?
- Can I try out a script against a sample document setup without write access?
instructions:
- text: POST Painless script {script} to execute it.
slots:
script: requestBody.script
- text: Via POST, execute script {script} with context setup {context_setup}.
slots:
script: requestBody.script
context_setup: requestBody.context_setup
method: generated
generated: '2026-09-26'