Elastic Stack · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Elasticsearch Request & Response Specification Query Rules API
9 actions
9 updates
phrasing
extends
openapi/elk-stack-query-rules-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 9
$.info
$.paths['/_query_rules/{ruleset_id}/_rule/{rule_id}'].get
$.paths['/_query_rules/{ruleset_id}/_rule/{rule_id}'].put
$.paths['/_query_rules/{ruleset_id}/_rule/{rule_id}'].delete
$.paths['/_query_rules/{ruleset_id}'].get
$.paths['/_query_rules/{ruleset_id}'].put
$.paths['/_query_rules/{ruleset_id}'].delete
$.paths['/_query_rules'].get
$.paths['/_query_rules/{ruleset_id}/_test'].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 Query Rules API
version: 1.0.0
extends: openapi/elk-stack-query-rules-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: 8
- target: $.paths['/_query_rules/{ruleset_id}/_rule/{rule_id}'].get
update:
x-apievangelist-phrasing:
intent: Get a query rule
effect: read
questions:
- How do I see the criteria and actions of one rule inside a ruleset?
- What does a specific query rule pin or exclude?
instructions:
- text: Get rule {rule_id} from query ruleset {ruleset_id}.
slots:
rule_id: path.rule_id
ruleset_id: path.ruleset_id
- text: Show the criteria and actions for rule {rule_id} in {ruleset_id}.
slots:
rule_id: path.rule_id
ruleset_id: path.ruleset_id
method: generated
generated: '2026-09-26'
- target: $.paths['/_query_rules/{ruleset_id}/_rule/{rule_id}'].put
update:
x-apievangelist-phrasing:
intent: Create or update a single query rule
effect: write
questions:
- How do I pin specific documents to the top when a query matches certain criteria?
- Can I add one rule to a ruleset without resending the whole ruleset?
- Can a single rule pin by ids and docs at the same time?
instructions:
- text: Add a {type} rule {rule_id} to ruleset {ruleset_id} with criteria {criteria} and actions {actions}.
slots:
type: requestBody.type
rule_id: path.rule_id
ruleset_id: path.ruleset_id
criteria: requestBody.criteria
actions: requestBody.actions
- text: Update rule {rule_id} in {ruleset_id} as type {type}, matching {criteria}, doing {actions}, at priority {priority}.
slots:
rule_id: path.rule_id
ruleset_id: path.ruleset_id
type: requestBody.type
criteria: requestBody.criteria
actions: requestBody.actions
priority: requestBody.priority
method: generated
generated: '2026-09-26'
- target: $.paths['/_query_rules/{ruleset_id}/_rule/{rule_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a query rule
effect: destructive
questions:
- How do I remove one rule from a query ruleset?
- Can a deleted query rule be recovered?
instructions:
- text: Delete rule {rule_id} from query ruleset {ruleset_id}.
slots:
rule_id: path.rule_id
ruleset_id: path.ruleset_id
- text: Remove the single rule {rule_id} but keep the rest of {ruleset_id}.
slots:
rule_id: path.rule_id
ruleset_id: path.ruleset_id
method: generated
generated: '2026-09-26'
- target: $.paths['/_query_rules/{ruleset_id}'].get
update:
x-apievangelist-phrasing:
intent: Get a query ruleset
effect: read
questions:
- What rules are in a given query ruleset?
- Can I inspect a whole ruleset by its ID?
instructions:
- text: Get query ruleset {ruleset_id}.
slots:
ruleset_id: path.ruleset_id
- text: Show every rule defined in ruleset {ruleset_id}.
slots:
ruleset_id: path.ruleset_id
method: generated
generated: '2026-09-26'
- target: $.paths['/_query_rules/{ruleset_id}'].put
update:
x-apievangelist-phrasing:
intent: Create or replace a query ruleset
effect: write
questions:
- How many rules can one query ruleset hold?
- How do I create a ruleset that promotes documents for certain searches?
instructions:
- text: Create query ruleset {ruleset_id} with rules {rules}.
slots:
ruleset_id: path.ruleset_id
rules: requestBody.rules
- text: Replace the full set of rules in {ruleset_id} with {rules}.
slots:
ruleset_id: path.ruleset_id
rules: requestBody.rules
method: generated
generated: '2026-09-26'
- target: $.paths['/_query_rules/{ruleset_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a query ruleset
effect: destructive
questions:
- How do I delete an entire query ruleset and everything in it?
- Is removing a query ruleset reversible?
instructions:
- text: Delete query ruleset {ruleset_id}.
slots:
ruleset_id: path.ruleset_id
- text: Permanently remove ruleset {ruleset_id} with all its rules.
slots:
ruleset_id: path.ruleset_id
method: generated
generated: '2026-09-26'
- target: $.paths['/_query_rules'].get
update:
x-apievangelist-phrasing:
intent: List query rulesets
effect: read
questions:
- Which query rulesets exist on my cluster?
- Can I page through ruleset summaries with from and size?
instructions:
- text: List all query rulesets.
- text: Show {size} rulesets starting at offset {from}.
slots:
size: query.size
from: query.from
method: generated
generated: '2026-09-26'
- target: $.paths['/_query_rules/{ruleset_id}/_test'].post
update:
x-apievangelist-phrasing:
intent: Test which query rules would match
effect: read
questions:
- Which rules in my ruleset would fire for a given user query?
- Can I dry-run match criteria against a ruleset before going live?
instructions:
- text: Test ruleset {ruleset_id} against match criteria {match_criteria}.
slots:
ruleset_id: path.ruleset_id
match_criteria: requestBody.match_criteria
- text: Show which rules in {ruleset_id} would match {match_criteria}.
slots:
ruleset_id: path.ruleset_id
match_criteria: requestBody.match_criteria
method: generated
generated: '2026-09-26'
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/elk-stack-query-rules-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.