Elastic Stack · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Elasticsearch Request & Response Specification Ilm API
13 actions
13 updates
phrasing
extends
openapi/elk-stack-ilm-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 13
$.info
$.paths['/_ilm/policy/{policy}'].get
$.paths['/_ilm/policy/{policy}'].put
$.paths['/_ilm/policy/{policy}'].delete
$.paths['/{index}/_ilm/explain'].get
$.paths['/_ilm/policy'].get
$.paths['/_ilm/status'].get
$.paths['/_ilm/migrate_to_data_tiers'].post
$.paths['/_ilm/move/{index}'].post
$.paths['/{index}/_ilm/remove'].post
$.paths['/{index}/_ilm/retry'].post
$.paths['/_ilm/start'].post
$.paths['/_ilm/stop'].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 Ilm API
version: 1.0.0
extends: openapi/elk-stack-ilm-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: 12
- target: $.paths['/_ilm/policy/{policy}'].get
update:
x-apievangelist-phrasing:
intent: Get a specific lifecycle policy
effect: read
questions:
- How do I see the phases and actions of one index lifecycle policy?
- What version is a particular ILM policy at?
instructions:
- text: Get lifecycle policy {policy}.
slots:
policy: path.policy
- text: Show the phases defined in ILM policy {policy}.
slots:
policy: path.policy
method: generated
generated: '2026-09-26'
- target: $.paths['/_ilm/policy/{policy}'].put
update:
x-apievangelist-phrasing:
intent: Create or update a lifecycle policy
effect: write
questions:
- How do I create a policy that rolls over indices and deletes them after 30 days?
- Can I roll back an ILM policy to an earlier version after replacing it?
instructions:
- text: Create lifecycle policy {policy} with definition {policy_body}.
slots:
policy: path.policy
policy_body: requestBody.policy
- text: Replace ILM policy {policy} with new phases {policy_body}.
slots:
policy: path.policy
policy_body: requestBody.policy
method: generated
generated: '2026-09-26'
- target: $.paths['/_ilm/policy/{policy}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a lifecycle policy
effect: destructive
questions:
- How do I delete an ILM policy I no longer need?
- Why does deleting a lifecycle policy fail when indices still use it?
instructions:
- text: Delete lifecycle policy {policy}.
slots:
policy: path.policy
- text: Remove unused ILM policy {policy}.
slots:
policy: path.policy
method: generated
generated: '2026-09-26'
- target: $.paths['/{index}/_ilm/explain'].get
update:
x-apievangelist-phrasing:
intent: Explain an index's lifecycle state
effect: read
questions:
- What phase and step is my index in right now?
- Which indices are stuck in an ILM error?
- Can I see lifecycle status for a data stream's backing indices?
instructions:
- text: Explain the lifecycle state of {index}.
slots:
index: path.index
- text: Show only ILM errors for {index} with only_errors {only_errors}.
slots:
index: path.index
only_errors: query.only_errors
method: generated
generated: '2026-09-26'
- target: $.paths['/_ilm/policy'].get
update:
x-apievangelist-phrasing:
intent: List all lifecycle policies
effect: read
questions:
- Which index lifecycle policies exist on my cluster?
- How do I get every ILM policy in one call?
instructions:
- text: List all lifecycle policies.
- text: Show every ILM policy with a master timeout of {master_timeout}.
slots:
master_timeout: query.master_timeout
method: generated
generated: '2026-09-26'
- target: $.paths['/_ilm/status'].get
update:
x-apievangelist-phrasing:
intent: Get the ILM status
effect: read
questions:
- Is index lifecycle management currently running or stopped?
- How do I check whether ILM is in the middle of stopping?
instructions:
- text: Get the ILM operating status.
- text: Tell me whether index lifecycle management is running.
method: generated
generated: '2026-09-26'
- target: $.paths['/_ilm/migrate_to_data_tiers'].post
update:
x-apievangelist-phrasing:
intent: Migrate indices and policies to data tiers
effect: write
questions:
- How do I switch from custom node attributes to data tier allocation?
- Can I preview a data tiers migration before it changes anything?
instructions:
- text: Migrate to data tiers routing from node attribute {node_attribute}.
slots:
node_attribute: requestBody.node_attribute
- text: Dry-run the data tiers migration with dry_run {dry_run}.
slots:
dry_run: query.dry_run
- text: Migrate to data tiers and delete legacy template {legacy_template_to_delete}.
slots:
legacy_template_to_delete: requestBody.legacy_template_to_delete
method: generated
generated: '2026-09-26'
- target: $.paths['/_ilm/move/{index}'].post
update:
x-apievangelist-phrasing:
intent: Manually move an index to a lifecycle step
effect: destructive
questions:
- Can I force an index into a different ILM phase or step?
- Is it risky to manually move an index to a lifecycle step?
instructions:
- text: Move {index} from step {current_step} to step {next_step}.
slots:
index: path.index
current_step: requestBody.current_step
next_step: requestBody.next_step
- text: Force index {index} out of {current_step} and into lifecycle step {next_step}.
slots:
index: path.index
next_step: requestBody.next_step
current_step: requestBody.current_step
method: generated
generated: '2026-09-26'
- target: $.paths['/{index}/_ilm/remove'].post
update:
x-apievangelist-phrasing:
intent: Remove lifecycle policies from an index
effect: write
questions:
- How do I stop ILM from managing a particular index?
- Can I detach the lifecycle policy from a data stream's backing indices?
instructions:
- text: Remove the lifecycle policy from {index}.
slots:
index: path.index
- text: Stop ILM management of index {index}.
slots:
index: path.index
method: generated
generated: '2026-09-26'
- target: $.paths['/{index}/_ilm/retry'].post
update:
x-apievangelist-phrasing:
intent: Retry a failed lifecycle step
effect: write
questions:
- How do I retry an index that's stuck in the ILM ERROR step?
- Can I rerun the lifecycle step that failed after fixing the cause?
instructions:
- text: Retry the lifecycle policy for {index}.
slots:
index: path.index
- text: Rerun the failed ILM step on index {index}.
slots:
index: path.index
method: generated
generated: '2026-09-26'
- target: $.paths['/_ilm/start'].post
update:
x-apievangelist-phrasing:
intent: Start index lifecycle management
effect: write
questions:
- How do I restart ILM after stopping it for maintenance?
- Does ILM need to be started manually when a cluster forms?
instructions:
- text: Start the ILM plugin.
- text: Resume index lifecycle management, waiting up to {timeout}.
slots:
timeout: query.timeout
method: generated
generated: '2026-09-26'
- target: $.paths['/_ilm/stop'].post
update:
x-apievangelist-phrasing:
intent: Stop index lifecycle management
effect: write
questions:
- How do I pause all ILM actions during cluster maintenance?
- Will stopping ILM halt every lifecycle operation cluster-wide?
instructions:
- text: Stop the ILM plugin.
- text: Halt all index lifecycle operations with master timeout {master_timeout}.
slots:
master_timeout: query.master_timeout
method: generated
generated: '2026-09-26'