# 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 Search API version: 1.0.0 extends: openapi/elk-stack-search-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: 55 - target: $.paths['/_async_search/{id}'].get update: x-apievangelist-phrasing: intent: Get the results of an async search effect: read questions: - How do I retrieve the hits from an async search I submitted earlier? - Can I wait a few seconds for an async search to finish before its results come back? instructions: - text: Get the results of async search {id}. slots: id: path.id - text: Fetch async search {id} results, waiting up to {wait_for_completion_timeout} for completion. slots: id: path.id wait_for_completion_timeout: query.wait_for_completion_timeout method: generated generated: '2026-09-26' - target: $.paths['/_async_search/{id}'].delete update: x-apievangelist-phrasing: intent: Cancel or delete an async search effect: destructive questions: - How do I cancel an async search that is still running? - Can I delete the saved results of a finished async search? instructions: - text: Delete async search {id}. slots: id: path.id - text: Cancel the running asynchronous search {id} and discard its stored results. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/_async_search/status/{id}'].get update: x-apievangelist-phrasing: intent: Check an async search's status effect: read questions: - Is my async search still running, without pulling back its hits? - What is the completion status of a submitted asynchronous search? instructions: - text: Check the status of async search {id}. slots: id: path.id - text: Tell me if asynchronous search {id} has completed, without returning results. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/_async_search'].post update: x-apievangelist-phrasing: intent: Start an async search across all indices effect: read questions: - How do I run a long search in the background across the whole cluster? - Can an async search keep its results after it completes? instructions: - text: Submit an async search across all indices for {q}. slots: q: query.q - text: Start a background cluster-wide search with query {query} and keep results for {keep_alive}. slots: query: requestBody.query keep_alive: query.keep_alive method: generated generated: '2026-09-26' - target: $.paths['/{index}/_async_search'].post update: x-apievangelist-phrasing: intent: Start an async search on specific indices effect: read questions: - How do I launch an asynchronous search limited to one index or data stream? - Can I get partial results from a background search on a single index while it runs? instructions: - text: Submit an async search on index {index} for {q}. slots: index: path.index q: query.q - text: Run query {query} asynchronously against {index} only. slots: query: requestBody.query index: path.index method: generated generated: '2026-09-26' - target: $.paths['/_search/scroll'].get update: x-apievangelist-phrasing: intent: Get the next scroll batch via GET effect: read questions: - How do I fetch the next page of a scrolling search using a GET request? - Is the scroll API still recommended for paging past 10,000 hits? instructions: - text: Get the next scroll page for scroll ID {scroll_id} with a GET. slots: scroll_id: requestBody.scroll_id - text: Continue scrolling {scroll_id} via GET and keep the context alive for {scroll}. slots: scroll_id: requestBody.scroll_id scroll: requestBody.scroll method: generated generated: '2026-09-26' - target: $.paths['/_search/scroll'].post update: x-apievangelist-phrasing: intent: Get the next scroll batch via POST effect: read questions: - Can I POST a scroll ID in the body to retrieve the next batch of hits? - What body fields does the POST scroll request take? instructions: - text: POST scroll_id {scroll_id} to pull the next batch of results. slots: scroll_id: requestBody.scroll_id - text: Advance my scrolling search {scroll_id} with a POST body, extending it by {scroll}. slots: scroll_id: requestBody.scroll_id scroll: requestBody.scroll method: generated generated: '2026-09-26' - target: $.paths['/_search/scroll'].delete update: x-apievangelist-phrasing: intent: Clear scroll contexts named in the body effect: destructive questions: - How do I free the resources held by open scroll contexts? - Can I clear several scrolling searches by listing their IDs in the body? instructions: - text: Clear the scroll contexts {scroll_id}. slots: scroll_id: requestBody.scroll_id - text: Release all the scrolling search contexts listed in the request body. method: generated generated: '2026-09-26' - target: $.paths['/_search/scroll/{scroll_id}'].get update: x-apievangelist-phrasing: intent: Get the next scroll batch by ID in the path (GET) effect: read questions: - Can I put the scroll ID in the URL path of a GET to keep paging? - What does the GET scroll endpoint with an ID in the path return? instructions: - text: GET /_search/scroll/{path_scroll_id} to fetch the next page, body scroll_id {scroll_id}. slots: path_scroll_id: path.scroll_id scroll_id: requestBody.scroll_id - text: Page forward through scroll {path_scroll_id} using the path-ID GET variant. slots: path_scroll_id: path.scroll_id method: generated generated: '2026-09-26' - target: $.paths['/_search/scroll/{scroll_id}'].post update: x-apievangelist-phrasing: intent: Get the next scroll batch by ID in the path (POST) effect: read questions: - Is there a POST scroll endpoint that takes the scroll ID in the path? - Can I POST to a scroll URL that includes the ID to get more hits? instructions: - text: POST to /_search/scroll/{path_scroll_id} for the next hits, with body scroll_id {scroll_id}. slots: path_scroll_id: path.scroll_id scroll_id: requestBody.scroll_id - text: Retrieve more scroll results for {path_scroll_id} through the path-ID POST form. slots: path_scroll_id: path.scroll_id method: generated generated: '2026-09-26' - target: $.paths['/_search/scroll/{scroll_id}'].delete update: x-apievangelist-phrasing: intent: Clear a scroll context by ID in the path effect: destructive questions: - Can I clear one scroll by putting its ID in the URL? - How do I delete a specific scroll search context by path? instructions: - text: Clear scroll {scroll_id} via its path. slots: scroll_id: path.scroll_id - text: Free the search context for scroll ID {scroll_id} given in the URL. slots: scroll_id: path.scroll_id method: generated generated: '2026-09-26' - target: $.paths['/_pit'].delete update: x-apievangelist-phrasing: intent: Close a point in time effect: destructive questions: - How do I close a point in time before its keep_alive expires? - Why should I close PITs as soon as I finish searching with them? instructions: - text: Close point in time {id}. slots: id: requestBody.id - text: Release the PIT {id} now that pagination is done. slots: id: requestBody.id method: generated generated: '2026-09-26' - target: $.paths['/_count'].get update: x-apievangelist-phrasing: intent: Count matching documents in all indices (GET) effect: read questions: - How many documents across the cluster match a simple query string? - Can I count every document in all indices with a quick GET? instructions: - text: Count documents across all indices matching {q}. slots: q: query.q - text: Give me the total document count for the whole cluster using GET. method: generated generated: '2026-09-26' - target: $.paths['/_count'].post update: x-apievangelist-phrasing: intent: Count matching documents in all indices (POST) effect: read questions: - Can I count cluster-wide matches by POSTing Query DSL in the body? - What does the count API return when I post no query at all? instructions: - text: POST query {query} to count hits in every index. slots: query: requestBody.query - text: Tally all-index matches for this Query DSL body {query}, stopping after {terminate_after} per shard. slots: query: requestBody.query terminate_after: query.terminate_after method: generated generated: '2026-09-26' - target: $.paths['/{index}/_count'].get update: x-apievangelist-phrasing: intent: Count matching documents in an index (GET) effect: read questions: - How many documents are in one specific index? - Can I count hits in a data stream with a q parameter on a GET? instructions: - text: Count the documents in index {index}. slots: index: path.index - text: Using GET, count how many docs in {index} match {q}. slots: index: path.index q: query.q method: generated generated: '2026-09-26' - target: $.paths['/{index}/_count'].post update: x-apievangelist-phrasing: intent: Count matching documents in an index (POST) effect: read questions: - Can I POST a Query DSL body to count matches inside one index? - How do I count documents in a data stream using a request body query? instructions: - text: POST query {query} to count matching docs in {index}. slots: query: requestBody.query index: path.index - text: Tally hits in index {index} for body query {query} with min score {min_score}. slots: index: path.index query: requestBody.query min_score: query.min_score method: generated generated: '2026-09-26' - target: $.paths['/{index}/_explain/{id}'].get update: x-apievangelist-phrasing: intent: Explain a document's match with a query string effect: read questions: - Why does a particular document match my query string, and how was it scored? - Can I see a score explanation for one document using a GET request? instructions: - text: Explain why document {id} in {index} matches {q}. slots: id: path.id index: path.index q: query.q - text: Show the relevance score breakdown of doc {id} from index {index} via GET. slots: id: path.id index: path.index method: generated generated: '2026-09-26' - target: $.paths['/{index}/_explain/{id}'].post update: x-apievangelist-phrasing: intent: Explain a document's match with a Query DSL body effect: read questions: - Why doesn't a certain document match the Query DSL I POST? - Can I post a full query body to get a scoring explanation for one doc? instructions: - text: POST query {query} to explain the match for document {id} in {index}. slots: query: requestBody.query id: path.id index: path.index - text: Tell me how {index} doc {id} scores against this DSL body {query}. slots: index: path.index id: path.id query: requestBody.query method: generated generated: '2026-09-26' - target: $.paths['/_field_caps'].get update: x-apievangelist-phrasing: intent: Get field capabilities across all indices (GET) effect: read questions: - Which fields are searchable and aggregatable across the entire cluster? - Can I check a field's type in every index with a simple GET? instructions: - text: Get field capabilities for {fields} across all indices. slots: fields: query.fields - text: Show cluster-wide capabilities of fields {fields}, including unmapped ones, via GET. slots: fields: query.fields method: generated generated: '2026-09-26' - target: $.paths['/_field_caps'].post update: x-apievangelist-phrasing: intent: Get field capabilities across all indices (POST) effect: read questions: - Can I POST an index filter to narrow field capabilities cluster-wide? - How do I include runtime mappings when checking field capabilities in every index? instructions: - text: POST a field caps request for {fields} over all indices filtered by {index_filter}. slots: fields: requestBody.fields index_filter: requestBody.index_filter - text: Check capabilities of body fields {fields} everywhere, adding runtime mappings {runtime_mappings}. slots: fields: requestBody.fields runtime_mappings: requestBody.runtime_mappings method: generated generated: '2026-09-26' - target: $.paths['/{index}/_field_caps'].get update: x-apievangelist-phrasing: intent: Get field capabilities for an index (GET) effect: read questions: - What types do fields have in one particular index? - Can I see whether a field is aggregatable in a single data stream using GET? instructions: - text: Get field capabilities for {fields} in index {index}. slots: fields: query.fields index: path.index - text: Via GET, list which fields in {index} are searchable and aggregatable. slots: index: path.index method: generated generated: '2026-09-26' - target: $.paths['/{index}/_field_caps'].post update: x-apievangelist-phrasing: intent: Get field capabilities for an index (POST) effect: read questions: - Can I POST an index filter when checking field types in one index? - How do I check field capabilities for a single index with a request body? instructions: - text: POST a field caps request for body fields {fields} on {index}. slots: fields: requestBody.fields index: path.index - text: Check {index} field capabilities with index filter {index_filter} in the body. slots: index: path.index index_filter: requestBody.index_filter method: generated generated: '2026-09-26' - target: $.paths['/_msearch'].get update: x-apievangelist-phrasing: intent: Run several searches in one GET request effect: read questions: - How do I send multiple searches in a single NDJSON request? - Can I cap how many searches run concurrently in a multi-search GET? instructions: - text: Run a multi-search GET across all indices. - text: Execute these batched searches with GET, at most {max_concurrent_searches} at a time. slots: max_concurrent_searches: query.max_concurrent_searches method: generated generated: '2026-09-26' - target: $.paths['/_msearch'].post update: x-apievangelist-phrasing: intent: Run several searches in one POST request effect: read questions: - Can I POST header and body pairs to run many searches at once? - What format does the multi-search POST body use? instructions: - text: POST a multi-search NDJSON body over the whole cluster. - text: Send a batch of searches by POST, defaulting to indices {index}. slots: index: query.index method: generated generated: '2026-09-26' - target: $.paths['/{index}/_msearch'].get update: x-apievangelist-phrasing: intent: Run several searches on an index (GET) effect: read questions: - Can I run multiple searches that default to one index with a GET? - How do I batch searches scoped to a specific data stream using GET? instructions: - text: Run a multi-search GET against index {index}. slots: index: path.index - text: Using GET, execute my batched queries on {index} with {max_concurrent_searches} running concurrently. slots: index: path.index max_concurrent_searches: query.max_concurrent_searches method: generated generated: '2026-09-26' - target: $.paths['/{index}/_msearch'].post update: x-apievangelist-phrasing: intent: Run several searches on an index (POST) effect: read questions: - Can I POST an NDJSON batch of searches that target one index by default? - How do I run many queries against a single index in one POST? instructions: - text: POST a multi-search body to index {index}. slots: index: path.index - text: Batch-run searches on {index} via POST and return typed aggregation keys. slots: index: path.index method: generated generated: '2026-09-26' - target: $.paths['/_msearch/template'].get update: x-apievangelist-phrasing: intent: Run several templated searches (GET) effect: read questions: - How do I run multiple stored search templates in one GET request? - Can I batch templated searches cluster-wide with a GET? instructions: - text: Run a multi search template GET over all indices. - text: Execute several templated searches by GET with search type {search_type}. slots: search_type: query.search_type method: generated generated: '2026-09-26' - target: $.paths['/_msearch/template'].post update: x-apievangelist-phrasing: intent: Run several templated searches (POST) effect: read questions: - Can I POST a newline-delimited file of template searches with curl? - Why should I use --data-binary when posting multiple templated searches? instructions: - text: POST a multi search template NDJSON body across the cluster. - text: Send my batch of templated queries by POST, limited to {max_concurrent_searches} concurrent. slots: max_concurrent_searches: query.max_concurrent_searches method: generated generated: '2026-09-26' - target: $.paths['/{index}/_msearch/template'].get update: x-apievangelist-phrasing: intent: Run several templated searches on an index (GET) effect: read questions: - Can I run multiple search templates that default to one index using GET? - How do I batch template-based searches on a single data stream with a GET? instructions: - text: Run a multi search template GET on index {index}. slots: index: path.index - text: Using GET, execute several stored templates against {index}. slots: index: path.index method: generated generated: '2026-09-26' - target: $.paths['/{index}/_msearch/template'].post update: x-apievangelist-phrasing: intent: Run several templated searches on an index (POST) effect: read questions: - Can I POST a batch of template searches scoped to one index? - How do I send multiple templated queries for a single index in one POST? instructions: - text: POST an NDJSON list of stored template calls against {index}. slots: index: path.index - text: Batch my templated searches on {index} by POST with search type {search_type}. slots: index: path.index search_type: query.search_type method: generated generated: '2026-09-26' - target: $.paths['/{index}/_pit'].post update: x-apievangelist-phrasing: intent: Open a point in time on an index effect: write questions: - How do I get a consistent snapshot of an index to paginate with search_after? - How long does a point in time stay open? instructions: - text: Open a point in time on {index} kept alive for {keep_alive}. slots: index: path.index keep_alive: query.keep_alive - text: Create a PIT over {index} for {keep_alive}, filtered by {index_filter}. slots: index: path.index keep_alive: query.keep_alive index_filter: requestBody.index_filter method: generated generated: '2026-09-26' - target: $.paths['/_rank_eval'].get update: x-apievangelist-phrasing: intent: Evaluate search ranking quality (GET) effect: read questions: - How do I measure the quality of my search rankings against typical queries? - Can I score ranking relevance cluster-wide with a GET request? instructions: - text: Evaluate ranking quality for rated requests {requests} across all indices. slots: requests: requestBody.requests - text: Using GET, score these rated queries {requests} with metric {metric}. slots: requests: requestBody.requests metric: requestBody.metric method: generated generated: '2026-09-26' - target: $.paths['/_rank_eval'].post update: x-apievangelist-phrasing: intent: Evaluate search ranking quality (POST) effect: read questions: - Can I POST rated search requests and a metric like precision to evaluate ranking? - Which relevance metric does ranking evaluation compute by POST? instructions: - text: POST a rank evaluation of {requests} over the whole cluster. slots: requests: requestBody.requests - text: Compute {metric} for my rated queries {requests} by POST. slots: metric: requestBody.metric requests: requestBody.requests method: generated generated: '2026-09-26' - target: $.paths['/{index}/_rank_eval'].get update: x-apievangelist-phrasing: intent: Evaluate ranking quality on an index (GET) effect: read questions: - How well does one index rank results for my set of test queries? - Can I evaluate relevance for a single index using GET? instructions: - text: Evaluate ranking of {requests} on index {index}. slots: requests: requestBody.requests index: path.index - text: Using GET, measure {metric} for rated queries {requests} against {index}. slots: metric: requestBody.metric requests: requestBody.requests index: path.index method: generated generated: '2026-09-26' - target: $.paths['/{index}/_rank_eval'].post update: x-apievangelist-phrasing: intent: Evaluate ranking quality on an index (POST) effect: read questions: - Can I POST rated requests to judge search quality for one index? - How do I benchmark a single data stream's relevance with a POST? instructions: - text: POST a rank eval of {requests} to index {index}. slots: requests: requestBody.requests index: path.index - text: Benchmark relevance of {index} by POST using metric {metric} and rated queries {requests}. slots: index: path.index metric: requestBody.metric requests: requestBody.requests method: generated generated: '2026-09-26' - target: $.paths['/_render/template'].get update: x-apievangelist-phrasing: intent: Render an inline search template (GET) effect: read questions: - How do I preview the query a search template produces for given params? - Can I render an inline template source with a GET request? instructions: - text: Render template source {source} with params {params}. slots: source: requestBody.source params: requestBody.params - text: Using GET, show the search body that stored template {id} expands to. slots: id: requestBody.id method: generated generated: '2026-09-26' - target: $.paths['/_render/template'].post update: x-apievangelist-phrasing: intent: Render an inline search template (POST) effect: read questions: - Can I POST a Mustache template and params to see the resulting request body? - What does a rendered search template look like before it runs? instructions: - text: POST template {source} with {params} and return the rendered query. slots: source: requestBody.source params: requestBody.params - text: Expand the stored template named {id} in the body by POST, filling {params}. slots: id: requestBody.id params: requestBody.params method: generated generated: '2026-09-26' - target: $.paths['/_render/template/{id}'].get update: x-apievangelist-phrasing: intent: Render a stored search template by ID (GET) effect: read questions: - How do I render a stored template by putting its ID in the URL with GET? - Can I check what a saved search template outputs for certain params? instructions: - text: Render stored template {id} with params {params}. slots: id: path.id params: requestBody.params - text: Via GET, preview the query produced by saved template {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/_render/template/{id}'].post update: x-apievangelist-phrasing: intent: Render a stored search template by ID (POST) effect: read questions: - Can I POST params to a stored template's URL to render it? - Is there a POST form of rendering a template that takes the ID in the path? instructions: - text: POST params {params} to render saved template {id}. slots: params: requestBody.params id: path.id - text: Show the expanded search request for path template {id} using POST. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/_search'].get update: x-apievangelist-phrasing: intent: Search all indices with a GET request effect: read questions: - How do I search every index in the cluster with a simple query string? - If I send both q and a body query, which one is used? instructions: - text: Search all indices for {q}. slots: q: query.q - text: Run a cluster-wide GET search for {q} returning {size} hits sorted by {sort}. slots: q: query.q size: query.size sort: query.sort method: generated generated: '2026-09-26' - target: $.paths['/_search'].post update: x-apievangelist-phrasing: intent: Search all indices with a POST request body effect: read questions: - Can I POST Query DSL with aggregations to search the whole cluster? - Does the search API support kNN vector search in a POST body? instructions: - text: POST search query {query} across every index. slots: query: requestBody.query - text: Run a cluster-wide body search with aggregations {aggregations} and size {size}. slots: aggregations: requestBody.aggregations size: requestBody.size - text: Do a kNN search across all indices using {knn}. slots: knn: requestBody.knn method: generated generated: '2026-09-26' - target: $.paths['/{index}/_search'].get update: x-apievangelist-phrasing: intent: Search one index with a GET request effect: read questions: - How do I search a single index or data stream for a keyword? - Can I page through one index's hits with from and size on a GET? instructions: - text: Search index {index} for {q}. slots: index: path.index q: query.q - text: Using GET, return hits {from} to {from}+{size} from {index}. slots: from: query.from size: query.size index: path.index method: generated generated: '2026-09-26' - target: $.paths['/{index}/_search'].post update: x-apievangelist-phrasing: intent: Search one index with a POST request body effect: read questions: - Can I POST a Query DSL body with highlighting to search one index? - How do I run aggregations over a single data stream in a POST search? instructions: - text: POST query {query} to search {index}. slots: query: requestBody.query index: path.index - text: Aggregate {index} with {aggregations} in a body search. slots: index: path.index aggregations: requestBody.aggregations - text: Search {index} using retriever {retriever} in the request body. slots: index: path.index retriever: requestBody.retriever method: generated generated: '2026-09-26' - target: $.paths['/{index}/_mvt/{field}/{zoom}/{x}/{y}'].get update: x-apievangelist-phrasing: intent: Get a geo vector tile with a GET request effect: read questions: - How do I get a Mapbox vector tile of geo points for a map tile with GET? - Can I fetch geospatial hits as a binary vector tile by zoom, x and y? instructions: - text: Get vector tile {zoom}/{x}/{y} of field {field} in {index}. slots: zoom: path.zoom x: path.x y: path.y field: path.field index: path.index - text: Using GET, build a {grid_agg} grid tile at {zoom}/{x}/{y} for {field} from index {index}. slots: grid_agg: query.grid_agg zoom: path.zoom x: path.x y: path.y field: path.field index: path.index method: generated generated: '2026-09-26' - target: $.paths['/{index}/_mvt/{field}/{zoom}/{x}/{y}'].post update: x-apievangelist-phrasing: intent: Get a geo vector tile with a POST body effect: read questions: - Can I POST a query and aggregations to filter what goes into a vector tile? - What request body options does the vector tile POST search accept? instructions: - text: POST query {query} for tile {zoom}/{x}/{y} on {field} in {index}. slots: query: requestBody.query zoom: path.zoom x: path.x y: path.y field: path.field index: path.index - text: Render map tile {zoom}/{x}/{y} of geo field {field} in {index} with body aggs {aggs}. slots: zoom: path.zoom x: path.x y: path.y field: path.field index: path.index aggs: requestBody.aggs method: generated generated: '2026-09-26' - target: $.paths['/_search_shards'].get update: x-apievangelist-phrasing: intent: See which shards a search would hit (GET) effect: read questions: - Which indices and shards would a search against the whole cluster run on? - Can I troubleshoot routing and shard preferences with a GET? instructions: - text: Show the search shards across all indices. - text: Using GET, list shards a search with routing {routing} would target. slots: routing: query.routing method: generated generated: '2026-09-26' - target: $.paths['/_search_shards'].post update: x-apievangelist-phrasing: intent: See which shards a search would hit (POST) effect: read questions: - Is there a POST form for listing the shards a cluster-wide search would use? - Can I check shard targets for a given preference value by POST? instructions: - text: POST a search shards request for every index. - text: Tell me by POST which shards preference {preference} would pick cluster-wide. slots: preference: query.preference method: generated generated: '2026-09-26' - target: $.paths['/{index}/_search_shards'].get update: x-apievangelist-phrasing: intent: See which shards a search on an index would hit (GET) effect: read questions: - Which shards of one index would a search request run against? - Can I see filtered alias details for a single index's search shards via GET? instructions: - text: Show the search shards for index {index}. slots: index: path.index - text: Using GET, list the shards in {index} that routing value {routing} targets. slots: index: path.index routing: query.routing method: generated generated: '2026-09-26' - target: $.paths['/{index}/_search_shards'].post update: x-apievangelist-phrasing: intent: See which shards a search on an index would hit (POST) effect: read questions: - Can I POST to find the shards a search on one data stream would touch? - How do I check shard selection for an index with a POST? instructions: - text: POST a search shards request for {index}. slots: index: path.index - text: Report by POST the shards of {index} chosen under preference {preference}. slots: index: path.index preference: query.preference method: generated generated: '2026-09-26' - target: $.paths['/_search/template'].get update: x-apievangelist-phrasing: intent: Run a templated search across all indices (GET) effect: read questions: - How do I run a stored search template with parameters across the cluster? - Can I execute a search template through a GET request? instructions: - text: Run search template {id} with params {params} across all indices. slots: id: requestBody.id params: requestBody.params - text: Using GET, execute inline template {source} cluster-wide. slots: source: requestBody.source method: generated generated: '2026-09-26' - target: $.paths['/_search/template'].post update: x-apievangelist-phrasing: intent: Run a templated search across all indices (POST) effect: read questions: - Can I POST a template ID and params to search every index? - Can I profile a templated search when posting it? instructions: - text: POST template {id} with {params} to search the whole cluster. slots: id: requestBody.id params: requestBody.params - text: Execute my inline Mustache template {source} by POST over all indices. slots: source: requestBody.source method: generated generated: '2026-09-26' - target: $.paths['/{index}/_search/template'].get update: x-apievangelist-phrasing: intent: Run a templated search on an index (GET) effect: read questions: - How do I run a search template against one specific index? - Can I execute a parameterized template on a data stream with GET? instructions: - text: Run search template {id} on index {index} with params {params}. slots: id: requestBody.id index: path.index params: requestBody.params - text: Using GET, apply inline template {source} to {index}. slots: source: requestBody.source index: path.index method: generated generated: '2026-09-26' - target: $.paths['/{index}/_search/template'].post update: x-apievangelist-phrasing: intent: Run a templated search on an index (POST) effect: read questions: - Can I POST a stored template and params to search a single index? - How do I explain scores for a templated search on one index by POST? instructions: - text: POST template {id} with {params} to search {index}. slots: id: requestBody.id params: requestBody.params index: path.index - text: Search {index} by POST using Mustache source {source}. slots: index: path.index source: requestBody.source method: generated generated: '2026-09-26' - target: $.paths['/{index}/_terms_enum'].get update: x-apievangelist-phrasing: intent: Suggest terms for autocomplete (GET) effect: read questions: - How do I build fast autocomplete from the terms stored in a field? - Can the terms lookup return terms from deleted documents? instructions: - text: List terms in field {field} of {index} starting with {string}. slots: field: requestBody.field index: path.index string: requestBody.string - text: Using GET, suggest up to {size} values from {field} in {index}. slots: size: requestBody.size field: requestBody.field index: path.index method: generated generated: '2026-09-26' - target: $.paths['/{index}/_terms_enum'].post update: x-apievangelist-phrasing: intent: Suggest terms for autocomplete (POST) effect: read questions: - Can I POST a partial string to get matching field terms, ignoring case? - Is there a POST form of the terms enum lookup with an index filter? instructions: - text: POST prefix {string} to enumerate {field} terms in index {index} case-insensitively. slots: string: requestBody.string field: requestBody.field index: path.index - text: Autocomplete {field} in {index} by POST, filtered by {index_filter}. slots: field: requestBody.field index: path.index index_filter: requestBody.index_filter method: generated generated: '2026-09-26'