Elastic Stack · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Elk Stack Snapshot API
19 actions
19 updates
phrasing
extends
openapi/elk-stack-snapshot-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 19 · first 16 shown; the file carries all of them
$.info
$.paths['/_snapshot/{repository}/_cleanup'].post
$.paths['/_snapshot/{repository}/{snapshot}/_clone/{target_snapshot}'].put
$.paths['/_snapshot/{repository}/{snapshot}'].get
$.paths['/_snapshot/{repository}/{snapshot}'].put
$.paths['/_snapshot/{repository}/{snapshot}'].post
$.paths['/_snapshot/{repository}/{snapshot}'].delete
$.paths['/_snapshot/{repository}'].get
$.paths['/_snapshot/{repository}'].put
$.paths['/_snapshot/{repository}'].post
$.paths['/_snapshot/{repository}'].delete
$.paths['/_snapshot'].get
$.paths['/_snapshot/{repository}/_analyze'].post
$.paths['/_snapshot/{repository}/_verify_integrity'].post
$.paths['/_snapshot/{repository}/{snapshot}/_restore'].post
$.paths['/_snapshot/_status'].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 Snapshot API
version: 1.0.0
extends: openapi/elk-stack-snapshot-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: 18
- target: $.paths['/_snapshot/{repository}/_cleanup'].post
update:
x-apievangelist-phrasing:
intent: Clean up stale data in a snapshot repository
effect: destructive
questions:
- How do I delete leftover files in a snapshot repository that no snapshot references anymore?
- What cluster privilege do I need to clean up a snapshot repository?
instructions:
- text: Clean up unreferenced data in snapshot repository {repository}.
slots:
repository: path.repository
- text: Purge stale blobs from repository {repository}, waiting up to {timeout} for nodes.
slots:
repository: path.repository
timeout: query.timeout
method: generated
generated: '2026-09-26'
- target: $.paths['/_snapshot/{repository}/{snapshot}/_clone/{target_snapshot}'].put
update:
x-apievangelist-phrasing:
intent: Clone a snapshot within the same repository
effect: write
questions:
- Can I copy some indices from an existing snapshot into a new snapshot?
- Does cloning a snapshot have to stay in the same repository?
instructions:
- text: Clone snapshot {snapshot} in {repository} to {target_snapshot} with indices {indices}.
slots:
snapshot: path.snapshot
repository: path.repository
target_snapshot: path.target_snapshot
indices: requestBody.indices
- text: Make a copy named {target_snapshot} of just the {indices} indices from snapshot {snapshot} in repo {repository}.
slots:
target_snapshot: path.target_snapshot
indices: requestBody.indices
snapshot: path.snapshot
repository: path.repository
method: generated
generated: '2026-09-26'
- target: $.paths['/_snapshot/{repository}/{snapshot}'].get
update:
x-apievangelist-phrasing:
intent: Get information about snapshots
effect: read
questions:
- How do I list the snapshots stored in a repository?
- Can I show only failed or partial snapshots, sorted by start time?
- Which snapshots were taken by a particular SLM policy?
instructions:
- text: List snapshots {snapshot} in repository {repository}.
slots:
snapshot: path.snapshot
repository: path.repository
- text: Show snapshots in {repository} matching {snapshot} whose state is {state}.
slots:
repository: path.repository
snapshot: path.snapshot
state: query.state
- text: Find snapshots {snapshot} in {repository} created by SLM policy {slm_policy_filter}.
slots:
snapshot: path.snapshot
repository: path.repository
slm_policy_filter: query.slm_policy_filter
method: generated
generated: '2026-09-26'
- target: $.paths['/_snapshot/{repository}/{snapshot}'].put
update:
x-apievangelist-phrasing:
intent: Take a snapshot (PUT form)
effect: write
questions:
- How do I back up my cluster's indices to a snapshot repository with a PUT request?
- Can the PUT snapshot call wait until the snapshot is finished before returning?
instructions:
- text: Using PUT, take snapshot {snapshot} in repository {repository}.
slots:
snapshot: path.snapshot
repository: path.repository
- text: PUT a snapshot {snapshot} of indices {indices} into {repository} and wait for completion.
slots:
snapshot: path.snapshot
indices: requestBody.indices
repository: path.repository
method: generated
generated: '2026-09-26'
- target: $.paths['/_snapshot/{repository}/{snapshot}'].post
update:
x-apievangelist-phrasing:
intent: Take a snapshot (POST form)
effect: write
questions:
- Is there a POST variant for creating a snapshot of data streams and indices?
- Can a snapshot created by POST include the global cluster state?
instructions:
- text: Using POST, create snapshot {snapshot} in repository {repository}.
slots:
snapshot: path.snapshot
repository: path.repository
- text: POST a snapshot {snapshot} to {repository} with include_global_state set to {include_global_state}.
slots:
snapshot: path.snapshot
repository: path.repository
include_global_state: requestBody.include_global_state
method: generated
generated: '2026-09-26'
- target: $.paths['/_snapshot/{repository}/{snapshot}'].delete
update:
x-apievangelist-phrasing:
intent: Delete snapshots
effect: destructive
questions:
- How do I delete old snapshots from a repository?
- Can I delete several snapshots at once using a wildcard?
instructions:
- text: Delete snapshot {snapshot} from repository {repository}.
slots:
snapshot: path.snapshot
repository: path.repository
- text: Remove every snapshot in {repository} matching {snapshot}.
slots:
repository: path.repository
snapshot: path.snapshot
method: generated
generated: '2026-09-26'
- target: $.paths['/_snapshot/{repository}'].get
update:
x-apievangelist-phrasing:
intent: Get settings of named snapshot repositories
effect: read
questions:
- How do I see the type and settings of one specific snapshot repository?
- Can I read a named repository's configuration from the local node only?
instructions:
- text: Show the configuration of snapshot repository {repository}.
slots:
repository: path.repository
- text: Get repository {repository} settings from the local node when local is {local}.
slots:
repository: path.repository
local: query.local
method: generated
generated: '2026-09-26'
- target: $.paths['/_snapshot/{repository}'].put
update:
x-apievangelist-phrasing:
intent: Register or update a snapshot repository (PUT)
effect: write
questions:
- How do I register a new snapshot repository with a PUT request?
- Can the PUT repository call verify the repository works on every node?
instructions:
- text: Using PUT, register snapshot repository {repository}.
slots:
repository: path.repository
- text: PUT an update to repository {repository} with verify set to {verify}.
slots:
repository: path.repository
verify: query.verify
method: generated
generated: '2026-09-26'
- target: $.paths['/_snapshot/{repository}'].post
update:
x-apievangelist-phrasing:
intent: Register or update a snapshot repository (POST)
effect: write
questions:
- Is there a POST form for registering a snapshot repository?
- What must be true of cluster metadata before a repository can be registered via POST?
instructions:
- text: Using POST, register or update snapshot repository {repository}.
slots:
repository: path.repository
- text: POST repository {repository} and allow {timeout} for the nodes to respond.
slots:
repository: path.repository
timeout: query.timeout
method: generated
generated: '2026-09-26'
- target: $.paths['/_snapshot/{repository}'].delete
update:
x-apievangelist-phrasing:
intent: Unregister snapshot repositories
effect: destructive
questions:
- Does unregistering a snapshot repository delete the snapshots stored in it?
- How do I remove a snapshot repository from my cluster?
instructions:
- text: Unregister snapshot repository {repository}.
slots:
repository: path.repository
- text: Remove the repository references matching {repository} from the cluster.
slots:
repository: path.repository
method: generated
generated: '2026-09-26'
- target: $.paths['/_snapshot'].get
update:
x-apievangelist-phrasing:
intent: List all snapshot repositories
effect: read
questions:
- Which snapshot repositories are registered on my cluster?
- What repositories can I back up to right now?
instructions:
- text: List every registered snapshot repository.
- text: Show all snapshot repositories as seen by the local node.
method: generated
generated: '2026-09-26'
- target: $.paths['/_snapshot/{repository}/_analyze'].post
update:
x-apievangelist-phrasing:
intent: Stress-test a snapshot repository's storage
effect: write
questions:
- How can I check that my third-party storage behaves correctly as a snapshot repository?
- Can I control how many blobs and how much data the repository analysis writes?
instructions:
- text: Analyze snapshot repository {repository} for incorrect behaviour.
slots:
repository: path.repository
- text: Run a repository analysis on {repository} writing {blob_count} blobs up to {max_total_data_size} total.
slots:
repository: path.repository
blob_count: query.blob_count
max_total_data_size: query.max_total_data_size
method: generated
generated: '2026-09-26'
- target: $.paths['/_snapshot/{repository}/_verify_integrity'].post
update:
x-apievangelist-phrasing:
intent: Verify the integrity of a snapshot repository
effect: read
questions:
- How do I check a repository's contents for corruption that would stop a restore?
- Can the integrity check verify the checksum of every data blob?
instructions:
- text: Verify the integrity of repository {repository}.
slots:
repository: path.repository
- text: Check every blob checksum in {repository} with verify_blob_contents set to {verify_blob_contents}.
slots:
repository: path.repository
verify_blob_contents: query.verify_blob_contents
method: generated
generated: '2026-09-26'
- target: $.paths['/_snapshot/{repository}/{snapshot}/_restore'].post
update:
x-apievangelist-phrasing:
intent: Restore a snapshot
effect: write
questions:
- How do I restore indices from a snapshot into my running cluster?
- Can I rename indices as they're restored so they don't clash with existing ones?
instructions:
- text: Restore snapshot {snapshot} from repository {repository}.
slots:
snapshot: path.snapshot
repository: path.repository
- text: Restore indices {indices} from {snapshot} in {repository}, renaming {rename_pattern} to {rename_replacement}.
slots:
indices: requestBody.indices
snapshot: path.snapshot
repository: path.repository
rename_pattern: requestBody.rename_pattern
rename_replacement: requestBody.rename_replacement
method: generated
generated: '2026-09-26'
- target: $.paths['/_snapshot/_status'].get
update:
x-apievangelist-phrasing:
intent: Get shard status of all running snapshots
effect: read
questions:
- How do I see shard-level progress for every snapshot currently running?
- What snapshots are in progress across all repositories right now?
instructions:
- text: Show the status of all currently running snapshots.
- text: Get shard-level progress for every in-flight snapshot in the cluster.
method: generated
generated: '2026-09-26'
- target: $.paths['/_snapshot/{repository}/_status'].get
update:
x-apievangelist-phrasing:
intent: Get status of running snapshots in a repository
effect: read
questions:
- Can I check progress only for the snapshots running in one repository?
- Which in-progress snapshots in a given repository are still copying shards?
instructions:
- text: Show the status of running snapshots in repository {repository}.
slots:
repository: path.repository
- text: Get shard progress for in-flight snapshots stored in {repository}.
slots:
repository: path.repository
method: generated
generated: '2026-09-26'
- target: $.paths['/_snapshot/{repository}/{snapshot}/_status'].get
update:
x-apievangelist-phrasing:
intent: Get detailed status of specific snapshots
effect: read
questions:
- How do I get the per-shard status of one named snapshot?
- Can I get per-shard status for a specific snapshot that has already finished?
instructions:
- text: Get the detailed status of snapshot {snapshot} in {repository}.
slots:
snapshot: path.snapshot
repository: path.repository
- text: Show shard-by-shard state for snapshots {snapshot} in repository {repository}.
slots:
snapshot: path.snapshot
repository: path.repository
method: generated
generated: '2026-09-26'
- target: $.paths['/_snapshot/{repository}/_verify'].post
update:
x-apievangelist-phrasing:
intent: Check a snapshot repository for misconfiguration
effect: read
questions:
- How do I confirm a newly registered repository is reachable from all nodes?
- Is there a quick check for common snapshot repository misconfigurations?
instructions:
- text: Verify snapshot repository {repository}.
slots:
repository: path.repository
- text: Quick-check {repository} for common misconfigurations.
slots:
repository: path.repository
method: generated
generated: '2026-09-26'