Elastic Stack · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Elasticsearch Request & Response Specification Rollup API
12 actions
12 updates
phrasing
extends
openapi/elk-stack-rollup-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 12
$.info
$.paths['/_rollup/job/{id}'].get
$.paths['/_rollup/job/{id}'].put
$.paths['/_rollup/job/{id}'].delete
$.paths['/_rollup/job'].get
$.paths['/_rollup/data/{id}'].get
$.paths['/_rollup/data'].get
$.paths['/{index}/_rollup/data'].get
$.paths['/{index}/_rollup_search'].get
$.paths['/{index}/_rollup_search'].post
$.paths['/_rollup/job/{id}/_start'].post
$.paths['/_rollup/job/{id}/_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 Rollup API
version: 1.0.0
extends: openapi/elk-stack-rollup-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: 11
- target: $.paths['/_rollup/job/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get one rollup job's config and stats
effect: read
questions:
- What is the status and configuration of a specific rollup job?
- Why doesn't a rollup job I deleted show up when I look it up by ID?
instructions:
- text: Show rollup job {id}.
slots:
id: path.id
- text: Get stats and status for rollup job {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/_rollup/job/{id}'].put
update:
x-apievangelist-phrasing:
intent: Create a rollup job
effect: write
questions:
- How do I summarize old time series data into a smaller rollup index on a schedule?
- Which fields do I have to define when setting up a rollup job?
instructions:
- text: Create rollup job {id} over {index_pattern} into {rollup_index} on cron {cron}, groups {groups}, page size {page_size}.
slots:
id: path.id
index_pattern: requestBody.index_pattern
rollup_index: requestBody.rollup_index
cron: requestBody.cron
groups: requestBody.groups
page_size: requestBody.page_size
- text: Set up rollup {id} with metrics {metrics} from {index_pattern} to {rollup_index}, cron {cron}, groups {groups}, page size {page_size}.
slots:
id: path.id
metrics: requestBody.metrics
index_pattern: requestBody.index_pattern
rollup_index: requestBody.rollup_index
cron: requestBody.cron
groups: requestBody.groups
page_size: requestBody.page_size
method: generated
generated: '2026-09-26'
- target: $.paths['/_rollup/job/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a rollup job
effect: destructive
questions:
- Can I delete a rollup job that is still started?
- Does deleting a rollup job remove the rolled-up data too?
instructions:
- text: Delete rollup job {id}.
slots:
id: path.id
- text: Remove the stopped rollup job {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/_rollup/job'].get
update:
x-apievangelist-phrasing:
intent: List all rollup jobs
effect: read
questions:
- Which rollup jobs are active on my cluster?
- Can I see every started and stopped rollup job at once?
instructions:
- text: List all rollup jobs.
- text: Show every active rollup job with its stats.
method: generated
generated: '2026-09-26'
- target: $.paths['/_rollup/data/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get rollup capabilities for an index pattern
effect: read
questions:
- Which fields and aggregations are rolled up for a given source index pattern?
- Can I check what rollup jobs cover a particular index before querying?
instructions:
- text: Show rollup capabilities for index pattern {id}.
slots:
id: path.id
- text: List the rolled-up fields available for source {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/_rollup/data'].get
update:
x-apievangelist-phrasing:
intent: Get rollup capabilities for all indices
effect: read
questions:
- What rollup capabilities exist across every source index in the cluster?
- Can I list rollup capabilities without naming an index pattern?
instructions:
- text: List rollup capabilities for all source indices.
- text: Show rolled-up fields for every configured index pattern.
method: generated
generated: '2026-09-26'
- target: $.paths['/{index}/_rollup/data'].get
update:
x-apievangelist-phrasing:
intent: Get capabilities of a rollup index
effect: read
questions:
- What jobs and aggregations are stored inside a particular rollup index?
- Can I inspect a rollup index to see what it can answer?
instructions:
- text: Show the rollup capabilities stored in rollup index {index}.
slots:
index: path.index
- text: List jobs and fields held in rollup index {index}.
slots:
index: path.index
method: generated
generated: '2026-09-26'
- target: $.paths['/{index}/_rollup_search'].get
update:
x-apievangelist-phrasing:
intent: Search rolled-up data with GET
effect: read
questions:
- Can I query rollup indices with a GET request and normal Query DSL?
- Does a GET rollup search support typed_keys for aggregation names?
instructions:
- text: Run a GET rollup search on {index} with aggregations {aggregations}.
slots:
index: path.index
aggregations: requestBody.aggregations
- text: Query rolled-up index {index} via GET using query {query}.
slots:
index: path.index
query: requestBody.query
method: generated
generated: '2026-09-26'
- target: $.paths['/{index}/_rollup_search'].post
update:
x-apievangelist-phrasing:
intent: Search rolled-up data with POST
effect: read
questions:
- How do I POST a rollup search that combines live and rolled-up indices?
- Is POST the right method for a rollup search with a large request body?
instructions:
- text: POST a rollup search to {index} with aggregations {aggregations}.
slots:
index: path.index
aggregations: requestBody.aggregations
- text: Send a POST rollup query {query} against {index}, size {size}.
slots:
index: path.index
query: requestBody.query
size: requestBody.size
method: generated
generated: '2026-09-26'
- target: $.paths['/_rollup/job/{id}/_start'].post
update:
x-apievangelist-phrasing:
intent: Start a rollup job
effect: write
questions:
- How do I start a rollup job I just created?
- What happens if I start a rollup job that is already running?
instructions:
- text: Start rollup job {id}.
slots:
id: path.id
- text: Begin rolling up data with job {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/_rollup/job/{id}/_stop'].post
update:
x-apievangelist-phrasing:
intent: Stop a rollup job
effect: write
questions:
- Can I block until a rollup job has fully stopped before deleting it?
- How long will stopping a rollup job wait before timing out?
instructions:
- text: Stop rollup job {id}.
slots:
id: path.id
- text: Stop rollup job {id} and wait for completion {wait_for_completion} up to {timeout}.
slots:
id: path.id
wait_for_completion: query.wait_for_completion
timeout: query.timeout
method: generated
generated: '2026-09-26'